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(org.apache.mina.common.IoAcceptor target)
Sets the
IoAcceptor to be configured using this factory bean. |
public void setTarget(org.apache.mina.common.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),
Bindingpublic java.lang.Object getObject()
throws java.lang.Exception
getObject in interface org.springframework.beans.factory.FactoryBeanjava.lang.Exceptionpublic java.lang.Class getObjectType()
getObjectType in interface org.springframework.beans.factory.FactoryBeanpublic boolean isSingleton()
isSingleton in interface org.springframework.beans.factory.FactoryBeanpublic void afterPropertiesSet()
throws java.lang.Exception
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanjava.lang.Exceptionpublic void destroy()
throws java.lang.Exception
destroy in interface org.springframework.beans.factory.DisposableBeanjava.lang.Exception