Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I have some experience with JBoss (and Glassfish), and ActiveMQ, but I've never used Camel before (but am familiar with Mule, which I read is similar).</p> <p>Your stack trace looks like it's Camel trying to link ActiveMQ (JMS-stuff on bottom of trace) to a web endpoint (HTTP-stuff on top of trace).</p> <p>I'm a bit confused as to where Camel is running (the CamelContext). You said that you have two virtual machines, one for JBoss and one for ActiveMQ. In my case, we run Mule ESB on the machine with our ActiveMQ. Where is your Camel running?</p> <p>Your stack trace appears most like Problem #1 from the first post. It's as if the Camel part cannot "see" the web endpoint. Check to see that your WAR is deployed correctly, and that your web endpoint (WSDL) is visible from both virtual machines. Check your endpoints; maybe one is set to localhost or something, which would not allow it to get to another machine.</p> <p>It's a bit hard to tell if it's an incomplete read or a complete inability to read. Does any data get through? It's possible that the Web Server is slowly getting overloaded and cannot keep up with requests (and starves some threads as in your error). Socket timeouts become important when you have slow responses or many requests; if you can create a test that is simple (fast and with few requests) then you can at least verify that you have basic connectivity. What data input (test) caused this error?</p> <p>I'll be happy to try to improve this answer given more input. (I'm sorry I would've tried commenting on your question but I don't think I have the rep for that yet...)</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. COThanks @Seka (+1) - some more info for you. The Camel route is "living" (started) inside a WAR that is deployed to JBoss. The Camel route is serving as the JMS client, and ActiveMQ is the JMS server. This is only happening sporadically, where 99.99% of the publishes/subscribes between Camel and ActiveMQ pass through OK. The problem is, every once in a while (several million messages), I see the `socketRead0` (blocked read) and a Camel thread starts to hang. It's hanging because it's waiting for a full response from ActiveMQ and not getting it.
      singulars
    2. COAre the messages of variable size? It would be worth knowing whether it's a large single message, or a large number of concurrent messages, that is causing the hang. For the former, increasing your socket timeouts would help; for the latter, increasing the number of worker threads might help. From the stack trace, it looks like the Camel thread is hanging on the Socket (Web) side and not the JMS side, like it's trying to pull data down from the socket and send it to JMS, but is not getting the data (or at least not in time).
      singulars
    3. COThanks again @Seka (+1) - this is an application that has 64 consumer threads listening on a queue living on the ActiveMQ instance. As soon as a message is enqueued, one of the 64 consumers will pick it up and start processing it. These are slightly-variable-size messages (they're all a *bit* different in size but are generally the same) and are hundreds of thousands of messages per day; sometimes even more. *Curious:* what makes you think this is hanging on the Web side? Does that mean ActiveMQ (the server)? How would you recommend I start diagnosing? Thanks again!
      singulars
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload