Hi,
We have faced a problem on which we would like to get som expert advice. A
very simplified example illustrating the problem:

Route configuration:
<camel:route>
    <camel:from uri="activemq://testqueue" />
    <camel:bean ref="testService" method="testMethod($simple{body})" />
</camel:route>

Implementation of the method (testService.testMethod):
    public String testMethod(boolean internalCall) {
        if (!internalCall) {
            for (int i = 0; i < 30; i++) {
                String result = (String)
producerTemplate.requestBody("activemq://testqueue?requestTimeout=10000",
"true");
                System.out.println(result + " " + (i+1));
            }
        }
        return "Totally done";
    }

The ActiveMQ configuration is configured with 10 concurrent consumers.

Calling
    producerTemplate.sendBody("activemq://testqueue", "false");
from some functionality results in an ExchangeTimedOutException after
printing "done 1" up to "done 9".

So - some resources are not released properly, resulting in no available
consumers to pick up the 10th request made. This does not seem to happen if
the call inside the method is made to another queue as the "origin" queue.

Is this "by design"? Is there some way to configure the endpoint or the
producer that will help us?

Regards,
Frode



--
View this message in context: 
http://camel.465427.n5.nabble.com/When-are-endpoint-resources-released-tp5756095.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to