public class IoAcceptorFactoryBean
extends java.lang.Object
implements org.springframework.beans.factory.FactoryBean, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean
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>
Constructor and Description |
---|
IoAcceptorFactoryBean() |
Modifier and Type | Method and 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(IoAcceptor target)
Sets the
IoAcceptor to be configured using this factory bean. |
public void setTarget(IoAcceptor target)
IoAcceptor
to be configured using this factory bean.target
- the target IoAcceptor
.public void setBindings(Binding[] bindings)
IoAcceptor
configured by this
factory bean.bindings
- the bindings.java.lang.IllegalArgumentException
- if the specified value is
null
.IoAcceptor.bind(SocketAddress, IoHandler)
,
IoAcceptor.bind(SocketAddress, IoHandler, IoServiceConfig)
,
Binding
public java.lang.Object getObject() throws java.lang.Exception
getObject
in interface org.springframework.beans.factory.FactoryBean
java.lang.Exception
public java.lang.Class getObjectType()
getObjectType
in interface org.springframework.beans.factory.FactoryBean
public boolean isSingleton()
isSingleton
in interface org.springframework.beans.factory.FactoryBean
public void afterPropertiesSet() throws java.lang.Exception
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
java.lang.Exception
public void destroy() throws java.lang.Exception
destroy
in interface org.springframework.beans.factory.DisposableBean
java.lang.Exception
Copyright © 2004-2019 Apache MINA Project. All Rights Reserved.