XNIO Deployer

JBossAS 5.1.0 and later include a deployer for network applications which use XNIO directly.  Here's the steps for using it (this example is a TCP server).

 

  1. Write a class that implements IoHandlerFactory<TcpChannel>.  Your application will need to depend on the XNIO API JAR which you can download from the project page.
  2. Write a jboss-beans.xml file like so:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <deployment xmlns="urn:jboss:bean-deployer:2.0">
        <!-- This is your class that you wrote above -->
        <bean name="MyHandlerFactory" class="com.your.handler.ClassName"/>
    
        <xnio xmlns="urn:jboss:xnio:1.0">
            <tcp-server name="MyTcpServer">
                <handler-factory-bean name="MyHandlerFactory"/>
    
                <!-- Use the command-line JBoss bind address -->
                <bind-address address="${jboss.bind.address}" port="1234"/>
            </tcp-server>
        </xnio>
    </deployment>
  3. Package your JAR, including your classes in the normal place, and put the jboss-beans.xml file in the META-INF area.
  4. Deploy your JAR by copying it into the deploy/ directory in your chosen server profile.

 

That's it!