I've been playing around with the JMS over HTTP stuff and I believe I've found an error. Part of this MAY be related to the way I'm deaing with JMS over HTTP, but there is a definite error here with respect to the way the Tomcat binding to Jboss is happening.

I noticed that for some reason my connections to the webserver aren't being closed when I close stuff over the HTTP connection. However, eventually Tomcat will throw:

When this happens, the server that is talking to JMS will die silently. I know this because I have a try/catch block around the body of the onMessage call so if something blows up, I should see some sort of error - whatever the kind.

Any ideas?

Nevertheless, I need to ascertain why the HTTP connection is holding the connection as that's what's holding me up. Nice to be able to get reasonably good performance off of the implementation.

I just want to try to understand what's happening while I'm trying to fix it.

What you're saying is that the HTTPILServlet is basically opening a session/thread on the Tomcat instance and it will keep that open waiting for a response until it times out?

If this is the case I have a quick question - is that the best way to do things? Wouldn't it be better to just have the client side implementation for JMS send some sort of session ID so that the HTTPILServlet doesn't have to keep a thread or any other resources sitting around to service a client? This way you can get a lot more throughput through HTTP/JMS.

Just a thought :) I'm going to dig through the source and see if I can understand how that servlet is functioning because I may want to go another route to get the most through the HTTP binding.