Michael Bauroth wrote: > 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> Looks great! One little thing, you don't have to set the serviceConfig in your Binding anymore since you have configured the default already.
> > >>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! I've just added the getBoundAddresses() method to IoAcceptor. Just grab the latest code and it will be there. > >> >> 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? I will add a JIRA issue for this. Also, with Spring 2.0 coming out very soon we should look into simplifying the Spring integration using Spring's custom XML configuration feature. It would make life a lot simpler for Spring users. > > -- Niklas Therning Software Architect www.spamdrain.net
