锁定老帖子 主题:用androidpn来实现推送
精华帖 (0) :: 良好帖 (4) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-04-11
zsg88 写道 张子游 写道 zsg88 写道 花了一个下午的时间把后台修改成spring + hibernate + struts2 + tomcat能正常地跑起来了,经测试和手机连接正常发消息没有问题。 求开源,哈哈
给个邮箱发给你. zhangziyou007@qq.com 谢谢 |
|
返回顶楼 | |
发表时间:2012-04-11
zsg88 写道 花了一个下午的时间把后台修改成spring + hibernate + struts2 + tomcat能正常地跑起来了,经测试和手机连接正常发消息没有问题。
同求开源,我的邮箱chenle-yj@163.com,谢谢兄弟啦 |
|
返回顶楼 | |
发表时间:2012-04-12
cdztop@gmail.com;chenle-yj@163.com;zhangziyou007@qq.com;
邮件已发 |
|
返回顶楼 | |
发表时间:2012-04-12
最后修改:2012-04-15
zsg88 写道
cdztop@gmail.com;chenle-yj@163.com;zhangziyou007@qq.com;
邮件已发
|
|
返回顶楼 | |
发表时间:2012-04-14
啊,我中午发的帖子被删了》??????
|
|
返回顶楼 | |
发表时间:2012-04-14
zsg88 写道 花了一个下午的时间把后台修改成spring + hibernate + struts2 + tomcat能正常地跑起来了,经测试和手机连接正常发消息没有问题。
哥们,你那个hibernate 报方言错误。 |
|
返回顶楼 | |
发表时间:2012-04-15
最后修改:2012-04-15
张子游 写道 zsg88 写道 花了一个下午的时间把后台修改成spring + hibernate + struts2 + tomcat能正常地跑起来了,经测试和手机连接正常发消息没有问题。
哥们,你那个hibernate 报方言错误。 mysql5.0 jdk6.0 跑了好多天了,没有问题. 各自的环境不同,自己改改 其他注意 (一)请修改 XmppServer 的start方法 屏蔽掉context = new ClassPathXmlApplicationContext("spring-config.xml"); 改为ApplicationContextAware 接口中的 public void setApplicationContext(ApplicationContext context) throws BeansException 方法,获得ApplicationContext对象。 否则会启动了2个名为ioAcceptor的NioSocketAcceptor实例,可以查看log日志,在tomcat的log目录下的androidpn.log日志,浪费资源 而且在linux系统下会提示5552端口被占用 (二) <bean id="ioAcceptor" class="org.apache.mina.transport.socket.nio.NioSocketAcceptor" init-method="bind" destroy-method="unbind"> 修改成destroy-method="disponse">能快速关闭tomcat进程 (三)把用户系统融合到自己的应用中去,请修改org.androidpn.server.service.impl.UserServiceImpl ,使用自己系统的用户接口 (四)客户端自动注册使用的随机串,如果要使用自己系统的用户,客户端请修改org.androidpn.client.XmppManager 中的username和password 并用修改服务器端的用户身份验证类org.androidpn.server.xmpp.auth.AuthManager的public static AuthToken authenticate(String username, String token, String digest) throws UnauthenticatedException 方法 |
|
返回顶楼 | |
发表时间:2012-04-15
zsg88 写道 张子游 写道 zsg88 写道 花了一个下午的时间把后台修改成spring + hibernate + struts2 + tomcat能正常地跑起来了,经测试和手机连接正常发消息没有问题。
哥们,你那个hibernate 报方言错误。 mysql5.0 jdk6.0 跑了好多天了,没有问题. 各自的环境不同,自己改改 其他注意 (一)请修改 XmppServer 的start方法 屏蔽掉context = new ClassPathXmlApplicationContext("spring-config.xml"); 改为ApplicationContextAware 接口中的 public void setApplicationContext(ApplicationContext context) throws BeansException 方法,获得ApplicationContext对象。 否则会启动了2个名为ioAcceptor的NioSocketAcceptor实例,可以查看log日志,在tomcat的log目录下的androidpn.log日志,浪费资源 而且在linux系统下会提示5552端口被占用 (二) <bean id="ioAcceptor" class="org.apache.mina.transport.socket.nio.NioSocketAcceptor" init-method="bind" destroy-method="unbind"> 修改成destroy-method="disponse">能快速关闭tomcat进程 (三)把用户系统融合到自己的应用中去,请修改org.androidpn.server.service.impl.UserServiceImpl ,使用自己系统的用户接口 (四)客户端自动注册使用的随机串,如果要使用自己系统的用户,客户端请修改org.androidpn.client.XmppManager 中的username和password 并用修改服务器端的用户身份验证类org.androidpn.server.xmpp.auth.AuthManager的public static AuthToken authenticate(String username, String token, String digest) throws UnauthenticatedException 方法 灰常感谢,我用的tomcat7,因为我的tomcat6,在ROOT下运行其他的呢,哎。该睡了。。 |
|
返回顶楼 | |
发表时间:2012-04-15
最后修改:2012-04-15
cdztop 写道 zsg88 写道 (一)请修改 XmppServer 的start方法 屏蔽掉context = new ClassPathXmlApplicationContext("spring-config.xml"); 改为ApplicationContextAware 接口中的 public void setApplicationContext(ApplicationContext context) throws BeansException 方法,获得ApplicationContext对象。 否则会启动了2个名为ioAcceptor的NioSocketAcceptor实例,可以查看log日志,在tomcat的log目录下的androidpn.log日志,浪费资源 而且在linux系统下会提示5552端口被占用 这个具体怎么改呢?哪里看到有两个名为ioAcceptor的NioSocketAcceptor实例,我看了启动日志,没有找到。 (二) <bean id="ioAcceptor" class="org.apache.mina.transport.socket.nio.NioSocketAcceptor" init-method="bind" destroy-method="unbind"> 修改成destroy-method="disponse">能快速关闭tomcat进程 能快速关闭tomcat进程,什么意思? 第一个问题是针对修改后的SSH版本, 原版没有起2次的问题 能快速关闭tomcat进程,什么意思? 在linux下运行shutdown后java进程销毁得很慢,改改能快点。 应为我shutdwon后比较性急立即又startup了,原来的进程没被杀死程序起来会有问题。不得不手动kill掉进程。可悲的是还没有kill权限。所以改了一下好像能死得快点 |
|
返回顶楼 | |
发表时间:2012-04-15
cdztop 写道 再问两个问题:
1、用JDBC操作数据库的时候,每次都是打开数据库连接--操作数据库--关闭数据库的连接。这样感觉效率很低, 那hibernate是怎么操作数据库的呢? 2、假如我现在要实现的效果是这样的:一个用户只需要一个帐号(username,password),只有一台PushServer服务器,但是有很多需要push功能的Android应用,然后push的条件的username+对应的客户端应用。 我的想法是:xmpp里面有<node@domain/home>和<node@domain/work>,我想domain就是PushServer,home和work就是Android客户端的应用名,node就是帐号的username。我也试着测试了一下。但是有一个问题。 在session里面的列表是正常的,就是有两个名为username的session,但是users列表的对应user都是离线的,服务器广播出来的信息都收不到。 我想是SessionManager里面的public ClientSession getSession(String username)这个方法的问题。 它原来是: private static final String RESOURCE_NAME = "AndroidpnClient"; public ClientSession getSession(String username) { return getSession(new JID(username, serverName, RESOURCE_NAME, true)); } 这个RESOURCE_NAME就是我上面说的home和work的意思。 不知道你有没有明白我的意思。 总之就是一个username怎么才能有2个RESOURCE_NAME。而且能根据RESOURCE_NAME和username唯一确定一个ClientSession。 1. 用的是数据库连接池 spring管理连接(打开,提交,关闭),见spring的配置和java注解 2. user列表应该也要显示在线,等我上班抽空测试一下 |
|
返回顶楼 | |