Hi Niklas,

thank you very much for your help!!! Here is my modified and optimized config part:

<bean id="acceptor" class="org.apache.mina.transport.socket.nio.SocketAcceptor"/> <bean id="defaultAcceptorConfig" factory-bean="acceptor" factory-method="getDefaultConfig">
  <property name="filterChainBuilder" ref="filterChainBuilder"/>
  <property name="reuseAddress" value="false"/>
  <property name="disconnectOnUnbind" value="true"/>
</bean>
        
<bean id="sessionConfig" factory-bean="defaultAcceptorConfig" factory-method="getSessionConfig">
  <property name="reuseAddress" value="false"/>
  <property name="tcpNoDelay" value="true"/>
  <property name="sendBufferSize" value="1024"/>
  <property name="receiveBufferSize" value="1024"/>
  <property name="soLinger" value="10"/>
  <property name="oobInline" value="false"/>
  <property name="keepAlive" value="true"/>
</bean>

<bean id="ioAcceptor" class="org.apache.mina.integration.spring.IoAcceptorFactoryBean">
  <property name="target" ref="acceptor"/>
  <property name="bindings">
    <list>
      <bean class="org.apache.mina.integration.spring.Binding">
        <property name="address" value=":1234"/>
        <property name="handler" ref="TcpServerSessionHandler"/>
        <property name="serviceConfig" ref="defaultAcceptorConfig"/>
      </bean>
    </list>
  </property>
</bean>

 >>3. How can I request the SocketAddress from an acceptor after binding?
I can't find a related method?

AFAIK you can't. There is an isBound() method but you probably want
something like getBoundAdresses(), right? That should be easy enough to
add, at least to SocketAcceptor. I'll have a look at it.

Thanx it advance!


BTW, what do you and others think about adding a setDefaultConfig() to
the various acceptors and connectors (adding it to the IoService
interface will loose type safety so I don't think that's a good idea)
and setSessionConfig() to the various acceptor config and connector
config classes (like SocketAcceptorConfig)? I realize that this will
probably only be useful for users using Spring and other DI containers
but for those users it will simplify things a lot. WDYT?


I think it would be a good idea. Generally spoken it would be a good idea to implement always setter / getter pairs whereever it is possible and useful to simplify the things. WDYT?

Regards
Michael

Reply via email to