欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

mina与spring集成(翻译)

发布时间:2025/4/5 31 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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>


测试程序

public void initializeViaSpring() throws Exception {new ClassPathXmlApplicationContext("trapReceiverContext.xml"); }

 

 

 

 

转载于:https://www.cnblogs.com/davidwang456/archive/2013/04/04/2999283.html

总结

以上是生活随笔为你收集整理的mina与spring集成(翻译)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。