`
zhaoyanfangeye
  • 浏览: 124825 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

微信公众账号与网站信息对接

阅读更多
    最近做了一个微信公众账号连接网站的一些工作,网站直接用的是新浪的sae,在做这些的时候遇到了一些问题,所以在此总结一下:
(1)分布式session问题
    在微信公众账号请求服务器与pc请求服务器有所不同,公众账号请求服务器时,每次请求都会产生不同的session,而pc在一个浏览器请求信息时每次请求session都一样的,所以要用公众账号请求服务器往session中存放值用request.getSession().setAttribute()是行不通的,还是另走别路吧,我这块用的是分布式缓存,每次请求把值放到缓存中,key就是用户微信用户的id,value是存放该用户对应的值。(我之前还用了一种方式就是自己建一个缓存(建了一个hashMap),当程序放在一台服务器上是没有问题的,当启动多台服务器的时候就会有问题(我这块启动了4个JVM),因为用户第一次请求时把数据放在第一台jvm,当下次读取数据的时候有可能会去第二台JVM上取数据,所以就会出现问题)。当在pc端请求sae时,如果需要用到session共享是需要在web.xml文件中配置
   
<distributable/>  
  <session-config>
      <session-timeout>30</session-timeout>
  </session-config>

如果没有session共享问题最好不要配,这也耗费性能。
(2) sae中的mysql连接池配置
   在sae中使用连接池的时候会无缘无故报错如下(我的连接池用的是c3p0):om.mysql.jdbc.exceptions.jdbc4.CommunicationsException: ....后面还有一堆就不写了。后来在看了一下sae的开发文档才明白,SAE的文档上面写,MySQL连接超时时间为30s,不是mysql默认的8小时,也就是说30s不作sql请求,mysql就会自动关闭所有连接,因此你设置的数据库连接池中的连接被强制回收并且没有任何的通知,导致数据库操作失败。新浪sae 的文档也有写,以下是应用新浪sae 的文档

为什么MySQL连接有时候会丢失?
    因为SAE的MySQL服务会将30秒内没做操作的连接回收,所以请根据实际情况配置你的连接池(如c3p0的idleConnectionTestPeriod和maxIdleTime建议设置为10)。

所以在c3p0的配置的时候一定要注意这个两个属性。
以下是在遇到问题时看到的以下网上资料
sae中连接池的标准配置http://blog.csdn.net/kaiwii/article/details/7873628
连接数据库的相关配置http://blog.csdn.net/a9529lty/article/details/7104351
c3p0的配置http://www.blogjava.net/Alpha/archive/2009/03/29/262789.html
mysql一些属性配置http://blog.csdn.net/z1988316/article/details/7976038

分享到:
评论

相关推荐

    微信公众账号开发教程(java)

    微信公众账号开发教程(java) 程主要是面向有一定Java编程基础的朋友 1)前沿知识:微信公众帐号的分类、两种模式各自的特点和区别、开发模式的配置使用等; 2)API中各类消息的使用(我已经对api进行封装并打成了jar...

    java版微信公众账号开发教程

    微信公众帐号开发中的小技巧(如换行、通过代码发送表情、屏幕飘雪花、表情的接收识别、在Android和iOS上表现不一致等等)与业务系统对接的方法(链接、短信等,除了技术讲解还会做一定的分析对比)。 5)微信公众...

    微信公众平台搭建与开发揭秘

    内容介绍编辑《微信公众平台搭建与开发...每章最后附有微信公众账号成功案例,启发读者实现技术与内容的融合。本书既适合对微信公众平台感兴趣、但没有编程基础的读者学习提高,也可供程序员开发微信公众平台时参考。

    微信公众平台开发最佳实践 源代码

    微信公众平台开发最佳实践的源代码,没有加密。微信公众平台开发最佳实践讲的很详细,图文并茂。 其目录如下: 前 言 第1章 微信公众平台介绍 1 1.1 微信及其两大平台 1 1.2 微信公众平台 2 1.2.1 功能 2 1.2.2...

    微信公众平台开发最佳实践 源码及书箱

    第1章 微信公众平台介绍 1 1.1 微信及其两大平台 1 1.2 微信公众平台 2 1.2.1 功能 2 1.2.2 管理 5 1.2.3 服务 6 1.2.4 统计 7 1.2.5 设置 9 第2章 获取服务器资源 11 2.1 新浪SAE 11 2.1.1 申请账号 11 ...

    微信公众平台应用开发:方法、技巧与案例.(机械工业.柳峰)

    书名:《微信公众平台应用开发:方法、技巧与案例》(机械工业出版社.柳峰) PDF格式扫描版,全书分为9章,共245页。2014年1月出版。 内容简介 该书系统讲解了微信公众平台应用开发的流程、方法和技巧,并配有若干...

    CakeWX,开源免费的微信公众平台框架

    欢迎使用CakeWX,开源免费的微信公众平台框架,官方网址是:http://www.cakewx.com 演示地址:http://www.cakewx.com 注册账号即可测试。 功能特色: 1. 基于CakePHP搭建,小巧精致,完全免费使用。可独立下载源码,...

    (2021-2022年)专题资料完美版7终极!微信营销微信公众平台教程.ppt

    因此,无论是草根还是企业,做好微信营销的关键在于提供有价值的内容,建立认证的公众账号,通过多渠道推广吸引粉丝,并且保持与粉丝的有效互动。 对于草根来说,可以利用微信平台创建电子刊物、开通公众账号,通过...

    asp.net实现微信公众账号接口开发教程

    说起微信公众帐号,大家都不会陌生,使用这个平台能给网站或系统增加一个新亮点,直接进入正题吧,在使用之前一定要仔细阅读官方API文档。 使用.net实现的方法: //微信接口地址 页面代码: weixin _wx = new ...

    微信大转盘源码

    这种方式在微信营销中的效果非常差,会令用户反感,继而取消去企业或商家的微信公众账号关注。对于企业来说,做微信推广重要的一个方面就是提高用户和公众账号之间的黏度,而微信大转盘、微信刮刮乐就是其中最为常见...

    新版微信商城

    ③关注自动回复,是用户初次关注商家微信公众账号会推送的第一条信息,商家务必谨慎给用户的第一条信息,这是第一印象喔。 自定义菜单:微信公众账号分订阅号和服务号,而自定义菜单是服务号才有的。 订阅号和服务...

    订餐外卖,微信订餐,微信外卖网站订餐外卖系统elem

    系统可以对接微信公众平台实现微信订餐,包括会员账号打通、微信查询订单、快速下单、还可以通过微信进行通知商家订单信息 系统特点: 周密策划、项目为先 "项目指导技术,技术服从项目",这是我们一贯秉承的...

    微信公众平台 客服接口发消息的实现代码(Java接口开发)

    主要介绍了微信公众平台 客服接口发消息的实现代码(Java接口开发),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    微信支付V3.net版.cs

    ● MCH_ID:在公众平台、开放平台申请微信支付成功后由微信支付下发,或者直接在商户平台注册也可获得MCH_ID,在支付接口中通常作为配置参数,必须上传。 注意: 支付接口要求APPID与MCH_ID必须有绑定关系,在商户...

    WeixinMPSDK.P2PSDK:微信公众账号,P2P开放平台SDK及测试工具源代码

    微信MPSDK.P2PSDK WeixinMPSDK.P2PSDK及测试工具源代码 对接“微微嗨”平台地址: : 开发手册: : Senparc.Weixin.MP.dll开源项目地址: : 文件夹说明 Senparc.Weixin.MP.P2PSDK:Senparc.Weixin.MP.P2PSDK.dll...

    帝国CMS7.2微信API

    1、将文件放置网站目录任意位置,根据预留在公众账号管理平台的URL放置,无需传任何参数,如:http://www.xxx.com/e/extend/weixin/wx_api.php 2、安装完毕 特点 免费 你可以任意应用,更改发布。 开源 所有代码...

    WX开放平台的java demo.rar

    1.1开放平台定义 ...这里首先要明白对接微信公众号与对接微信开放平台的区别,微信提供了微信公众平台与微信开放平台,微信公众平台就是微信公众号,而微信开放平台就是指的代公众号,是为第三方平台服务。

    支付对接Java开发工具包.rar

    微信公众平台是微信公众账号申请入口和管理后台。商户可以在公众平台提交基本资料、业务资料、财务资料申请开通微信支付功能。 (2) 微信开放平台 微信开放平台是商户APP接入微信支付开放接口的申请入口,通过此...

Global site tag (gtag.js) - Google Analytics