Class IoAcceptorFactoryBean

  • All Implemented Interfaces:
    org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean, org.springframework.beans.factory.InitializingBean

    public class IoAcceptorFactoryBean
    extends java.lang.Object
    implements org.springframework.beans.factory.FactoryBean, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean
    Spring FactoryBean which enables the bindings of an IoAcceptor to be configured using Spring. Example of usage:

       <!-- This makes it possible to specify java.net.SocketAddress values 
            (e.g. :80 below) as Strings.
            They will be converted into java.net.InetSocketAddress objects by Spring.  -->
       <bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
         <property name="customEditors">
           <map>
             <entry key="java.net.SocketAddress">
               <bean class="org.apache.mina.integration.spring.InetSocketAddressEditor"/>
             </entry>
           </map>
         </property>
       </bean>
     
       <!-- The IoHandler implementation -->
       <bean id="httpHandler" class="com.example.MyHttpHandler">
         ...
       </bean>
         
       <bean id="filterChainBuilder" 
             class="org.apache.mina.integration.spring.DefaultIoFilterChainBuilderFactoryBean">
         <property name="filters">
           <list>
             <bean class="org.apache.mina.filter.LoggingFilter"/>
           </list>
         </property>
       </bean>
    
      <!-- By default MINA uses an ExecutorThreadModel. This demonstrates how to 
              use your own with some non default settings. The threadModel will 
              be set on the SocketAcceptorConfig defined below. To configure a 
              ExecutorFilter directly you will have to use the ThreadModel.MANUAL 
              ThreadModel instead. -->
       <bean id="threadModel" class="org.apache.mina.integration.spring.ExecutorThreadModelFactoryBean">
         <property name="serviceName" value="HttpService"/>
         <property name="executor">
           <bean class="org.apache.mina.integration.spring.ThreadPoolExecutorFactoryBean">
             <property name="corePoolSize" value="2"/>
             <property name="maxPoolSize" value="10"/>
             <property name="keepAliveSeconds" value="30"/>
           </bean>
         </property>
       </bean>
    
       <bean id="ioAcceptor" class="org.apache.mina.integration.spring.IoAcceptorFactoryBean">
         <property name="target">
           <bean class="org.apache.mina.transport.socket.nio.SocketAcceptor"/>
         </property>
         <property name="bindings">
           <list>
             <bean class="org.apache.mina.integration.spring.Binding">
               <property name="address" value=":80"/>
               <property name="handler" ref="httpHandler"/>
               <property name="serviceConfig">
                 <bean class="org.apache.mina.transport.socket.nio.SocketAcceptorConfig">
                   <property name="filterChainBuilder" ref="filterChainBuilder"/>
                   <property name="reuseAddress" value="true"/>
                   <property name="threadModel" ref="threadModel"/> 
                 </bean>
               </property>
             </bean>
           </list>
         </property>
       </bean>
     

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void afterPropertiesSet()  
      void destroy()  
      java.lang.Object getObject()  
      java.lang.Class getObjectType()  
      boolean isSingleton()  
      void setBindings​(Binding[] bindings)
      Sets the bindings to be used by the IoAcceptor configured by this factory bean.
      void setTarget​(org.apache.mina.common.IoAcceptor target)
      Sets the IoAcceptor to be configured using this factory bean.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • IoAcceptorFactoryBean

        public IoAcceptorFactoryBean()
    • Method Detail

      • setTarget

        public void setTarget​(org.apache.mina.common.IoAcceptor target)
        Sets the IoAcceptor to be configured using this factory bean.
        Parameters:
        target - the target IoAcceptor.
      • setBindings

        public void setBindings​(Binding[] bindings)
        Sets the bindings to be used by the IoAcceptor configured by this factory bean.
        Parameters:
        bindings - the bindings.
        Throws:
        java.lang.IllegalArgumentException - if the specified value is null.
        See Also:
        IoAcceptor.bind(SocketAddress, IoHandler), IoAcceptor.bind(SocketAddress, IoHandler, IoServiceConfig), Binding
      • getObject

        public java.lang.Object getObject()
                                   throws java.lang.Exception
        Specified by:
        getObject in interface org.springframework.beans.factory.FactoryBean
        Throws:
        java.lang.Exception
      • getObjectType

        public java.lang.Class getObjectType()
        Specified by:
        getObjectType in interface org.springframework.beans.factory.FactoryBean
      • isSingleton

        public boolean isSingleton()
        Specified by:
        isSingleton in interface org.springframework.beans.factory.FactoryBean
      • afterPropertiesSet

        public void afterPropertiesSet()
                                throws java.lang.Exception
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
        Throws:
        java.lang.Exception
      • destroy

        public void destroy()
                     throws java.lang.Exception
        Specified by:
        destroy in interface org.springframework.beans.factory.DisposableBean
        Throws:
        java.lang.Exception