Search code examples
javaspringspring-mvcapache-mina

apache mina connection using spring


How could i connect to my server in Apache Mina using spring mvc xml configuration?

i have this configuration in my server

<bean id="trapHandler" class="com.mina.ServerHandler" />

    <bean id="snmpCodecFilter" class="org.apache.mina.filter.codec.ProtocolCodecFilter">
        <constructor-arg>
            <bean class="org.apache.mina.filter.codec.textline.TextLineCodecFactory">
                <property name="decoderMaxLineLength" value="4000"/>
            </bean>
        </constructor-arg>
    </bean>

    <bean id="loggingFilter" class="org.apache.mina.filter.logging.LoggingFilter" />

    <!-- The filter chain. -->
    <bean id="filterChainBuilder"
        class="org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder">
        <property name="filters">
            <map>
                <entry key="loggingFilter" value-ref="loggingFilter" />
                <entry key="codecFilter" value-ref="snmpCodecFilter" />
            </map>
        </property>
    </bean>

    <bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
        <property name="customEditors">
            <map>
                <entry key="java.net.SocketAddress">
                    <bean class="org.apache.mina.integration.beans.InetSocketAddressEditor" />
                </entry>
            </map>
        </property>
    </bean>

    <!-- The IoAcceptor which binds to port 8000 -->
    <bean id="ioAcceptor" class="org.apache.mina.transport.socket.nio.NioSocketAcceptor"
        init-method="bind" destroy-method="unbind">
        <property name="defaultLocalAddress" value=":8000" />
        <property name="handler" ref="trapHandler" />
        <property name="filterChainBuilder" ref="filterChainBuilder" />
    </bean>

this will bind my acceptor to port 8000 right? how about in my client side? how could i connect to my server in port 8000? how could i configure my IoConnector in my xml file?


Solution

  • Try with

    <!-- The IoConnector -->
    <bean id="ioConnector" class="org.apache.mina.transport.socket.nio.NioSocketConnector" init-method="connect" >
            <property name="handler" ref="yourHandler" />
            <property name="filterChainBuilder" ref="filterChainBuilder" />
            <property name="defaultRemoteAddress" value="localhost:8000" />
    </bean>