mina2多端口配置实现

来源:互联网 发布:python下怎样安装mysql 编辑:程序博客网 时间:2024/06/05 16:53

啥也不说,直接整!发个文章做个备忘,也跟大家分享下!

xml配置:

 <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> 



<bean id = "addressPorts1" class="com.xxx.xxx.AddressPorts" abstract="false" lazy-init="default">
<constructor-arg name="port" type="int" value="9999">
</constructor-arg>
</bean>


<bean id = "addressPorts2" class="com.xxx.xxx.AddressPorts" abstract="false" lazy-init="default">
<constructor-arg name="port" type="int" value="9555" />
</bean>

<bean id = "addressPorts3" class="com.xxx.xxx.AddressPorts" abstract="false" lazy-init="default">
<constructor-arg name="port" type="int"  value="9666" />
</bean>


<bean id="ioAcceptor" class="org.apache.mina.transport.socket.nio.NioSocketAcceptor"
        init-method="bind" destroy-method="unbind">
         <property name="defaultLocalAddresses">
<list>
<ref bean="addressPorts1" />
<ref bean="addressPorts2" />
<ref bean="addressPorts3" />
</list>
         </property> 
         
        <property name="handler" ref="dataHandler" /> 
        <property name="reuseAddress" value="true" />
        <!-- <property name="filterChainBuilder" ref="filterChainBuilder" /> --> 
    </bean>  


<bean id="dataHandler" class="com.xxx.xxx.DataIOHandlerAdapter">
   
    </bean>


import java.net.InetSocketAddress;

public class AddressPorts extends InetSocketAddress{


private static final long serialVersionUID = -2585368997621046985L;


public AddressPorts(int port) {
super(port);

}
}


import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.core.session.IoSession;


public class DataIOHandlerAdapter1  extends IoHandlerAdapter{
@Override
public void exceptionCaught(IoSession session, Throwable cause)
throws Exception {

}


@Override
public void messageReceived(IoSession session, Object message)
throws Exception {

}


@Override  
    public void sessionClosed(IoSession session) throws Exception { 

}  
  
    @Override  
    public void sessionCreated(IoSession session) throws Exception {  
   
    }  
  
    @Override
public void sessionIdle(IoSession session, IdleStatus status) throws Exception {  
    }  
  
    @Override  
    public void sessionOpened(IoSession session) throws Exception { 
   
    }  
}







2 0
原创粉丝点击