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. hdu5618 (三维偏序,cdq分治)

    给定空间中的n个点,问每个点有多少个点小于等于自己. 先来分析简单的二维的情况,那么只要将x坐标排序,那么这样的问题就可以划分为两个子问题,,这样的分治有一个特点,即前一个子问题的解决是独立的,而后一 ...

  2. sqlalchemy操作

    Sqlalchemy ORM操作归类 #简单查询 #注意User是一个类对象,user_table是数据库中的表 #session = sessionmaker() #创建了一个自己定义了的 Sess ...

  3. poj 2369 Permutations 更换水称号

    寻找循环节求lcm够了,如果答案是12345应该输出1.这是下一个洞. #include<iostream> #include<cstdio> #include<cstr ...

  4. Chromium

    Chromium多进程架构 多进程架构 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//Start_Here_Bac ...

  5. Nginx Rewrite规则记录

    Rewrite 是一种服务器的重写脉冲技术,它可以使得服务器可以支持 URL 重写,是一种最新流行的服务器技术.它还可以实现限制特定IP访问网站的功能.很多情况下,某个 IP 的访问很容易造成 CPU ...

  6. 深挖BAT内部级别和薪资待遇,你敢看?(转)

    一. 阿里内部级别和薪资待遇 先看个例子,或许你也曾像他一样纠结 BAT 的 offer: 最近刚通过阿里面试,但基本薪酬也是不升反小降. 级别只有 P6+,连 P7 都没有,非常郁闷,打算拒绝算了. ...

  7. T-SQL基础(2) - 单表查询

    开窗函数over select orderid, custid, val, SUM(val) over() as totalvalue, SUM(val) over(partition by cust ...

  8. Java Web整合开发(附录1) - 安装配置环境

    1. Install JDK http://blog.csdn.net/sonnet123/article/details/9169741 Download JDK http://www.oracle ...

  9. Facebook Hacker Cup 2015 Round 1--Corporate Gifting(树动态规划)

    原标题:https://www.facebook.com/hackercup/problems.php?pid=759650454070547&round=344496159068801 题意 ...

  10. Oracle在不同的语言环境结果to_date错误的问题

    我写了一个存储过程,它使用了功能,有一些功能to_date(dateFrom, 'yyyy/mm/dd').执行发现数据插入错误后,数据插入"0001/9/14". 感觉莫名其妙, ...