The most common way users run Flux in an application server environment is to embed the engine in a servlet. Running Flux as a servlet allows you to easily integrate the engine into your application server environment and works well across all supported application servers.
Servlet Code
To run the engine in a servlet, you simply need:
- an init() method to initialize the engine and its configuration
- a destroy() method that shuts down Flux when the servlet shuts down
Typical code for running Flux in a servlet might look something like:
import flux.Engine;import flux.Factory;import flux.Configuration;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;public class Servlet extends HttpServlet {// The Flux engine. private Engine flux;// Starts Flux when your servlet is initialized. public void init() throws ServletException { try {// Start a Flux engine instance.// First, create a factory. Factory fluxFactory = Factory.makeInstance();// Create Configuration. Configuration config = new Configuration();// Next, create a Flux instance. flux = fluxFactory.makeEngine(config);// Finally, start the Flux engine. flux.start(); } // try catch (Exception e) { throw new ServletException(e.getMessage()); } // catch System.out.println("*** Flux has been started. ***"); } // init()// Shuts down Flux when your servlet is destroyed. public void destroy() { try {// Stop Flux and release its resources. flux.dispose(); } // try catch (Exception e) { e.printStackTrace(); } // catch } // destroy() public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { doPost(request, response); } // doGet public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { PrintWriter out = response.getWriter(); try { response.setContentType("text/plain"); out.println("Flux has been started in this servlet\!"); } // try catch (Exception e) { out.println("An error occured."); e.printStackTrace(out); } // catch } // doPost()} // class Servlet |
JBoss
You must disable RESTEasy in JBoss AS 7 as explained in https://issues.jboss.org/browse/JBAS-8830.
You may need to copy the flux.jar file to your JBoss deployment lib directory (for example: '/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final/standalone/deployments/Flux.war/WEB-INF/lib').
Comments
Please sign in to leave a comment.