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).
- 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.
- 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>
- Package your JAR, including your classes in the normal place, and put the jboss-beans.xml file in the META-INF area.
- Deploy your JAR by copying it into the deploy/ directory in your chosen server profile.
That's it!
Comments