mina与spring集成(翻译)
生活随笔
收集整理的這篇文章主要介紹了
mina与spring集成(翻译)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
源地址:http://mina.apache.org/mina-project/userguide/ch17-spring-integration/ch17-spring-integration.html
一個mina應用主要包括一下方面:
- One Handler
- Two Filter - Logging Filter and a ProtocolCodec Filter
- NioDatagram Socket
一個mina 服務端的實例程序如下:
public void initialize() throws IOException {// Create an AcceptorNioDatagramAcceptor acceptor = new NioDatagramAcceptor();// Add Handleracceptor.setHandler(new ServerHandler());acceptor.getFilterChain().addLast("logging",new LoggingFilter());acceptor.getFilterChain().addLast("codec",new ProtocolCodecFilter(new SNMPCodecFactory()));// Create Session ConfigurationDatagramSessionConfig dcfg = acceptor.getSessionConfig();dcfg.setReuseAddress(true);logger.debug("Starting Server......");// Bind and be ready to listenacceptor.bind(new InetSocketAddress(DEFAULT_PORT));logger.debug("Server listening on "+DEFAULT_PORT); }繼承過程如下:
1.設置IO handler。在spring context文件中設置IO handler。
<!-- The IoHandler implementation --> <bean id="trapHandler" class="com.ashishpaliwal.udp.mina.server.ServerHandler">2.創建過濾器鏈。
<bean id="snmpCodecFilter" class="org.apache.mina.filter.codec.ProtocolCodecFilter"><constructor-arg><bean class="com.ashishpaliwal.udp.mina.snmp.SNMPCodecFactory" /></constructor-arg> </bean><bean id="loggingFilter" class="org.apache.mina.filter.logging.LoggingFilter" /><!-- The filter chain. --> <bean id="filterChainBuilder" class="org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder"><property name="filters"><map><entry key="loggingFilter" value-ref="loggingFilter"/><entry key="codecFilter" value-ref="snmpCodecFilter"/></map></property> </bean>3.創建socket并設置socket參數
<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><!-- The IoAcceptor which binds to port 161 --> <bean id="ioAcceptor" class="org.apache.mina.transport.socket.nio.NioDatagramAcceptor" init-method="bind" destroy-method="unbind"><property name="defaultLocalAddress" value=":161" /><property name="handler" ref="trapHandler" /><property name="filterChainBuilder" ref="filterChainBuilder" /> </bean>
測試程序
?
?
?
?
轉載于:https://www.cnblogs.com/davidwang456/archive/2013/04/04/2999283.html
總結
以上是生活随笔為你收集整理的mina与spring集成(翻译)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快速开发mina(翻译)
- 下一篇: MINA与JMX集成(翻译)