Mina框架与Spring的整合事实上非常easy,主要是要弄清楚要注入的属性的名称,进而选择合适的注入方法。

关于Spring的四种注入方法请还有一篇文章:spring依赖注入的四种方式

<?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:context="http://www.springframework.org/schema/context"  

    xsi:schemaLocation="http://www.springframework.org/schema/beans

     http://www.springframework.org/schema/beans/spring-beans.xsd  

     http://www.springframework.org/schema/context

     http://www.springframework.org/schema/context/spring-context.xsd">  

<!-- 业务处理逻辑 -->

    <bean id="handler" class="com.mina.handler.StrategyFactoryHandler" />

     

<!-- 累加数据包解码器:解断丢包、粘包问题 -->

<bean id="codec" class="org.apache.mina.filter.codec.ProtocolCodecFilter">

<constructor-arg>

<bean class="com.mina.codec.MyCodecFcatory">

<constructor-arg index="0">

<bean class="com.mina.codec.MyEncoder"></bean>

</constructor-arg>

<constructor-arg index="1">

<bean class="com.mina.codec.MyDecoder">

</bean>

</constructor-arg>



</bean>

</constructor-arg>

</bean>



    <!-- 多线程处理过滤器,为后面的操作开启多线程,一般放在编解码过滤器之后,開始业务逻辑处理 -->

    <bean id="executors" class="org.apache.mina.filter.executor.ExecutorFilter"/>

    <!-- Mina自带日志过滤器 默认级别为debug -->

    <bean id="loggerFilter" class="org.apache.mina.filter.logging.LoggingFilter">

    <property name="messageReceivedLogLevel" ref="info"></property>

    <property name="exceptionCaughtLogLevel" ref="info"></property>

    </bean>

    <!-- 枚举类型 依赖注入  须要先通过此类进行类型转换-->

    <bean id="info" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">    

        <property name="staticField" value="org.apache.mina.filter.logging.LogLevel.INFO" />    

    </bean>

    <bean id="filterChainBuilder" class="org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder">  

 <property name="filters">  

   <map>

     <entry key="codec" value-ref="codec"/>

     <entry key="logger" value-ref="loggerFilter"/>

     <entry key="executors" value-ref="executors"/>

   </map>  

 </property>  

</bean>

<!-- 监听port -->

<bean id="defaultLocalAddress" class="java.net.InetSocketAddress">

<constructor-arg index="0" value="${tcpPort}"></constructor-arg>

</bean>

<!-- session config 通过工厂方法注入 -->

    <bean id="sessionConfig" factory-bean="ioAcceptor" factory-method="getSessionConfig" >

        <property name="readerIdleTime" value="10"/>

        <property name="minReadBufferSize" value="512"/>

        <property name="maxReadBufferSize" value="10240"/>

    </bean>

<bean id="ioAcceptor" class="org.apache.mina.transport.socket.nio.NioSocketAcceptor"

init-method="bind" destroy-method="unbind">

<!-- 默认启用的线程个数是CPU 的核数+1, -->

 <!--<constructor-arg index="0" value="10"></constructor-arg>-->

 <property name="defaultLocalAddress" ref="defaultLocalAddress" />  

 <property name="handler" ref="handler" />  

 <property name="filterChainBuilder" ref="filterChainBuilder" />  

</bean>  

</beans>  

Mina框架与Spring整合配置文件的更多相关文章

  1. 1、Shiro 安全框架与Spring 整合详解

    Apache Shiro 是一个安全认证框架,和 Spring Security 相比,在于他使用了比较简洁易懂的认证和授权方式.其提供的 native-session(即把用户认证后的授权信息保存在 ...

  2. Maven环境下搭建SSH框架之Spring整合Hibernate

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Spring:4.3.8.RELEASE Hibernate:5.1.7.Final MySQL:5.7.17 注意:其他版本在某些特性 ...

  3. 8 -- 深入使用Spring -- 7...2 MVC框架与Spring整合的思考

    8.7.2 MVC 框架与Spring整合的思考 对于一个基于B/S架构的JAVA EE 应用而言,用户请求总是向MVC框架的控制器请求,而当控制器拦截到用户请求后,必须调用业务逻辑组件来处理用户请求 ...

  4. quartz任务调度框架与spring整合

    Quartz是什么? Quartz 是一种功能丰富的,开放源码的作业调度库,可以在几乎任何Java应用程序集成 - 从最小的独立的应用程序到规模最大电子商务系统.Quartz可以用来创建简单或复杂的日 ...

  5. Maven环境下搭建SSH框架之Spring整合Struts2

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Struts2:2.5.10 Spring:4.3.8.RELEASE 注意:其他版本在某些特性的使用上可能稍微存在差别 2.准备工作 ...

  6. 从0开始整合SSM框架--2.spring整合mybatis

    依赖:<properties> <!-- spring版本号 --> <spring.version>4.1.3.RELEASE</spring.versio ...

  7. shiro安全框架和spring整合

    上干货......... 整合spring的配置文件 <?xml version="1.0" encoding="UTF-8"?><beans ...

  8. ssh框架中spring整合hibernate的配置文件模板(带详细注释)

    applicationContext.xml的配置文件模板 <?xml version="1.0" encoding="UTF-8"?> <b ...

  9. ActiveMQ学习总结------Spring整合ActiveMQ 04

    通过前几篇的学习,相信大家已经对我们的ActiveMQ的原生操作已经有了个深刻的概念, 那么这篇文章就来带领大家一步一步学习下ActiveMQ结合Spring的实战操作 注:本文将省略一部分与Acti ...

随机推荐

  1. android--自己定义ProgressDialog显示位置(其他Dialog子类都能够设置)

    1.普通情况下,系统默认的Dialog显示位置为屏幕居中: pbDialog = new ProgressDialog(MainActivity.this); pbDialog.setMessage( ...

  2. HDU 3315 My Brute(费用流)

    职务地址:HDU 3315 这个题的思路全然是自己想出来的,自我感觉挺巧妙的. . .(大牛勿喷.. . )对大胆建图又多了一份信心. 详细思路是构造一个二分图,Si连源点.Xi连汇点,流量都是1,费 ...

  3. Nagios+pnp4nagios+rrdtool 安装配置nagios被监控端NRPE配置(二)

    NRPE监控插件基础 NRPE总共由两部分组成: (1).check_nrpe插件,运行在监控主机上. (2).NRPE daemon,运行在远程的linux主机上(通常就是被监控机) 整个的监控过程 ...

  4. java中取得上下文路径的方法

    1.request.getContextPath(); 获得web根的上下文环境 如 /tree tree是web项目的root context 2.可以在servlet的init方法里 String ...

  5. WPF中不规则窗体与WebBrowser控件的兼容问题解决办法

    原文:WPF中不规则窗体与WebBrowser控件的兼容问题解决办法 引言 这几天受委托开发一个网络电视项目,要求初步先使用内嵌网页形式实现视频播放和选单,以后再考虑将网页中的所有功能整合进桌面程序. ...

  6. Windows Phone开发(40):漫谈关键帧动画之中篇

    原文:Windows Phone开发(40):漫谈关键帧动画之中篇 一.DiscreteDoubleKeyFrame 离散型关键帧动画,重点,我们理解一下"离散"的意思,其实你查一 ...

  7. vs2012 它已停止工作 - 解决方案

    最近学习<Windows多媒体编程>本课程, 蛋疼, 学校原来是MFC... 然后安装vs2012.   后来又在几个插件.. 在这个问题. 开业,提示 vs2012 它已停止工作. wa ...

  8. gdb经常使用命令总结

    1: 对于在应用程序中增加參数进行调试的方法:    直接用 gdb app -p1 -p2 这样进行调试是不行的.    须要像下面这样使用:     #gdb app     (gdb) r -p ...

  9. [改变自己wordpress.2]至wordpress再加上简单的debug sql调试.

    或者说,同事. 需要帮助她打印出来sql 调试输出到页面sql 在这里,我们使用插件或一个的方式来启动配置文件wordpress的debug 在插件文件夹 wordpress/wp-content/p ...

  10. sql查询 数据库 表 字段 等

    1.查询数据库中的所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.查询某个数据库中所有的表名: SELECT Name FR ...