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集成(翻译)相关推荐
- spring集成mina 实现消息推送以及转发
spring集成mina: 在学习mina这块时,在网上找了很多资料,只有一些demo,只能实现客户端向服务端发送消息.建立长连接之类.但是实际上在项目中,并不简单实现这些,还有业务逻辑之类的处理以及 ...
- spring 集成 mina入门
一.applicationContent.xml <?xml version="1.0" encoding="UTF-8"?> <beans ...
- spring集成mq_使用Spring Integration Java DSL与Rabbit MQ集成
spring集成mq 我最近参加了在拉斯维加斯举行的2016年Spring大会 ,很幸运地看到了我在软件世界中长期敬佩的一些人. 我亲自遇到了其中的两个人,他们实际上合并了几年前我与Spring In ...
- Spring集成基础知识
本文是我们名为" EAI的Spring集成 "的学院课程的一部分. 在本课程中,向您介绍了企业应用程序集成模式以及Spring Integration如何解决它们. 接下来,您将深 ...
- 通过Spring集成进行消息处理
Spring Integration提供了Spring框架的扩展,以支持著名的企业集成模式. 它在基于Spring的应用程序中启用轻量级消息传递,并支持与外部系统的集成. Spring Integra ...
- spring集成jndi_Spring应用程序与JNDI连接池的集成测试
spring集成jndi 我们都知道,无论何时连接到数据库,都需要使用连接池. 所有使用JDBC 4类的现代驱动程序都支持它. 在本文中,我们将概述Spring应用程序中的连接池,以及如何在非JEE环 ...
- jersey spring_实施Jersey 2 Spring集成
jersey spring Jersey是Oracle提供的出色的Java JAX-RS规范参考实现. 去年,当我们开始为大容量网站构建RESTful后端Web服务时,我们选择使用JAX-RS API ...
- apache camel_轻量级的开源集成:Apache Camel还是Spring集成?
apache camel 首先,为全面披露信息,在过去的1.5年中, 我一直担任 FuseSource(现为Red Hat) 的顾问,为零售,运输,银行/金融等不同行业的大型和小型公司提供SOA和集成 ...
- 将Quartz与Spring集成
在Java应用程序中调度作业时,Quartz是第一个考虑的工具. Quartz是由最流行的RDBMS支持的作业调度程序. 这真的很方便,并且很容易与spring集成. 为了创建石英模式,您必须下载石英 ...
最新文章
- java 如何解密_java加密与解密
- 判断iframe是否加载完毕的方法(兼容ie和Firefox)
- 熵的基础知识,特征工程,特征归一化,交叉验证,grid search,模型存储与加载
- RNN调试错误:lstm_cell = tf.contrib.rnn.core_rnn_cell.BasicLSTMCell(lstm_size) 方法已失效
- 看了500个人的面经:我发现混的好的程序员,都在用这个数据库!
- Cloudera Certified Associate Administrator案例之Install篇
- maven 配置远程仓库服务器密码
- Ubuntu 安装 gcc-4.9.3-64-gnu
- 三星530换固态硬盘_速度与安全在指尖跳跃 三星移动固态硬盘T7 Touch评测
- 毕业设计资料python RCQ读者书库程序源码加文档
- pdf文件过大怎样压缩?pdf文件如何压缩到指定大小?
- html5自动换行,html5文字自动换行怎么设置
- web前端课程设计(HTML和CSS实现餐饮美食文化网站)静态HTML网页制作
- Jetson Xavier NX系统安装至 nvme 硬盘
- Alarmmanager制作简单闹钟功能
- ftp工具,ftp工具专业版
- 手机android怎么开机画面,安卓开机动画特效软件下载
- Microsoft office 2007 word PPT 转pdf的插件
- 论 Erda 的安全之道
- 中台战略-读书笔记5
热门文章
- mysql的编译_Mysql编译安装
- Qt中的基础图形绘制
- android 判断按钮是否已经有onclicklinstener,通过点击事件监听setOnClickListener彻底理解回调...
- dnf强化卷代码_DNF:夏日套时装礼盒开服竟卖八千万金币,500万捡漏到黄金书
- 谷歌市场上架aab安装包的各种坑
- 根据网络状态获取Ip地址
- C++输入输出类的层次
- torch 的 unsqueeze用法
- kali安装步骤失败 选择并安装软件_Pycharm2019.3.3软件安装步骤
- 93. Leetcode 64. 最小路径和 (动态规划-路径规划)