Spring 整合 Mina
来源:互联网 发布:知乎 wordpress 编辑:程序博客网 时间:2024/04/29 23:42
一个标准的MINA应用包含:
1.一个处理器;
2.两个过滤器-Logging Filter and a ProtocolCodec Filter
3.一个异步的Socket NioSocketAcceptor
初始化代码如下:
public void initialize() throws IOException { // 创建一个Acceptor NioDatagramAcceptor acceptor = new NioDatagramAcceptor(); // 添加一个处理器 acceptor.setHandler(new ServerHandler()); // 添加日志过滤器和消息编码解码器 acceptor.getFilterChain().addLast("logging", new LoggingFilter()); acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new SNMPCodecFactory())); // 获取session配置 DatagramSessionConfig dcfg = acceptor.getSessionConfig(); dcfg.setReuseAddress(true); logger.debug("Starting Server......"); // 绑定端口 acceptor.bind(new InetSocketAddress(DEFAULT_PORT)); logger.debug("Server listening on "+DEFAULT_PORT);}
按照如下步骤与spring进行整合:
1.设置一个处理器
2.创建过滤器并加到过滤器链
3.创建一个socket并设置sockot的参数
注意:在最新版本的MINA中没有针对spring的包,这个包现在被命名为 Integration Beans,使它的实现能够工作于所有的DI 框架。
编辑Spring xml文件:
1.设置处理器
<span style="font-family:Microsoft YaHei;font-size:18px;"><bean id="trapHandler" class="com.ashishpaliwal.udp.mina.server.ServerHandler"></span>
<span style="font-family:Microsoft YaHei;font-size:18px;"><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></span>这里创建了IOFilter实例。ProtocolCodecfactory使用了构造器注入。我们创建好了过滤器,再创建过滤器链并将过滤器加到其中。
3.创建socket
<span style="font-family:Microsoft YaHei;font-size:18px;"><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></span>
0 0
- Spring 整合 Mina
- Spring MVC整合MINA配置
- Mina学习之与Spring整合
- spring mina整合(客户端进行调用)
- Mina框架与Spring整合配置文件
- Mina框架与Spring整合配置文件
- mina框架和spring的整合使用
- spring Mina 整合,多端口绑定spring.xml配置
- apache mina 学习(十四)-----与spring整合
- Apache MINA框架整合到Spring框架中
- Spring-mybaits-mina整合,启动多端口监听
- spring整合mina开发web项目和简单mina客户端的使用
- Spring MINA
- spring + mina
- Apache MINA JMX整合
- Android与Mina整合
- mina整合spring ,服务端反向发送消息到客户端 完整实例
- SpringBoot整合Mina串口通讯
- Java集合类
- 高德地图 如何查询该坐标是否在 我画的范围内 用到了”射线法“
- SDUT 3311 KMP的应用
- 原生javascript制作无缝滚动
- Xcode7.0beta真机调试出现"Could not find Developer Disk Image"揭示
- Spring 整合 Mina
- openwrt 添加驱动程序到openwrt
- 常用的C库头文件
- PHP识别二维码(php-zbarcode)
- 瀑布流
- adb shell下提示read-only file system
- 使用CAS登录模块连接数据库验证用户合法性
- libevent代码阅读(10)——“hello-world.c”之 把事件处理器添加到event_base对象的注册的事件处理器的队列
- C语言:浮点数在内存中的表示