ipu的trunk版的android工程和服务端工程。

spring-push.xml 3.6KB

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd " > <!-- =============================================================== --> <!-- MINA --> <!-- =============================================================== --> <bean class="org.springframework.beans.factory.config.CustomEditorConfigurer"> <property name="customEditors"> <map> <entry key="java.net.SocketAddress"> <bean class="org.apache.mina.integration.beans.InetSocketAddressEditor" /> </entry> </map> </property> </bean> <bean id="defaultIOHandler" class="com.ai.mobile.push.handle.DefaultIOHandler" > <property name="handlers"> <map> <entry key="client_send_text"> <bean class="com.ai.server.push.handle.SendTextHandler" /> </entry> <entry key="client_register"> <!-- <bean class="com.ai.server.push.handle.RegisterHandler" /> --> <bean class="com.ai.server.push.handle.RegisterWithRouteHandler" /> </entry> <entry key="client_unregister"> <!-- <bean class="com.ai.server.push.handle.UnregisterHandler" /> --> <bean class="com.ai.server.push.handle.UnregisterWithRouteHandler" /> </entry> <entry key="client_heartbeat"> <bean class="com.ai.mobile.push.handle.HeartbeatHandler"/> </entry> <entry key="client_session_closed"> <bean class="com.ai.server.push.handle.SessionClosedHandler"/> </entry> </map> </property> </bean> <bean id="filterChainBuilder" class="org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder"> <property name="filters"> <map> <entry key="executor"> <bean class="org.apache.mina.filter.executor.ExecutorFilter"> </bean> </entry> <entry key="logging"> <bean class="org.apache.mina.filter.logging.LoggingFilter" /> </entry> <entry key="codec"> <bean class="org.apache.mina.filter.codec.ProtocolCodecFilter"> <constructor-arg> <bean class="com.ai.mobile.push.codec.ServerCodecFactory" /> </constructor-arg> </bean> </entry> </map> </property> </bean> <!-- ???????????? --> <bean id="sessionConfig" factory-bean="serverAcceptor" factory-method="getSessionConfig"> <property name="bothIdleTime" value="180" /> <property name="keepAlive" value="true" /> <property name="tcpNoDelay" value="true" /> </bean> <bean id="serverAcceptor" class="org.apache.mina.transport.socket.nio.NioSocketAcceptor" init-method="bind" destroy-method="unbind"> <property name="defaultLocalAddress" value=":7070" /> <property name="handler" ref="defaultIOHandler" /> <property name="filterChainBuilder" ref="filterChainBuilder" /> <property name="reuseAddress" value="true" /> <!-- 默认false --> </bean> <!-- session管理器 --> <bean id="defaultSessionManager" class="com.ai.mobile.push.session.DefaultSessionManager" /> <bean id="defaultMessagePusher" class="com.ai.server.push.DefaultMessagePusher"> <property name="sessionManager" ref="defaultSessionManager" /> </bean> </beans>