JBoss Community

JBoss AS 7 Bayeux Support

created by ronorato in JBoss AS 7 Development - View the full discussion

I am attempting to implement a bidirectional connection between my web client and my web server.  For this connection I am looking to use the Bayeux protocol.  From my previous post I have been informed that JBoss does have some level of support for the Bayeux protocol.  I have created a servlet that looks like ( some code has been removed ):

 

@WebServlet(name="CometServlet", urlPatterns={"/cometd/*"},

            initParams={@WebInitParam(name="timeout", value="60000")} )

public class CometServlet extends HttpServlet implements HttpEventServlet

{

  protected ArrayList<HttpServletResponse> connections   = new ArrayList<HttpServletResponse>();

 

  public CometServlet()

  {

    log.info( "CometServlet constructed" );

  }

 

  public void init()

   throws ServletException

  {

    log.info("init() entered");

  }

 

  public void destroy()

  {

    connections.clear();

  }

 

  public void event(HttpEvent event)

    throws IOException, ServletException

  {

    HttpServletRequest request = event.getHttpServletRequest();

    HttpServletResponse response = event.getHttpServletResponse();

       

    switch (event.getType()) {

      case BEGIN:

        synchronized(connections) {

          connections.add(response);

        }

        break;

      case ERROR:

        synchronized(connections) {

          connections.remove(response);

        }

        event.close();

        break;

      case END:

        synchronized(connections) {

          connections.remove(response);

        }

        event.close();

        break;

      case READ:

        break;

      default:

        log.warn("Unsupported Event Type: " + event.getType());

    }

  }

}

 

My client is sending the following Post:

POST http://localhost:8080/myapp/cometd

 

with the following parameter:

message = [{"version":"1.0","minimumVersion":"0.9","channel":"/meta/handshake","id":"1","supportedConnectionTypes":["long-polling","long-polling-json-encoded","callback-polling"]}]

 

what I am getting back is 405 - Method not allowed.  I am not seeing it hit the event method at all.

 

Any help would be greatly appreciated.

Reply to this message by going to Community

Start a new discussion in JBoss AS 7 Development at Community