Reputation: 2467
In wso2 ESB 5.0.0, we are playing around with the passthru-http.properties as explained here.
I would like to know if there is a way to get the value of worker_pool_queue_length property in a running ESB. Well, not the value setted in the file, but the actual value of elements stored in the queue any moment. As we are not using the default -1 value. We are exploring using a bound queue.
From here, I have been trying with the following beans from the jmx
And this attribute,
QueueSize, number of messages currently queued. Messages get queued if all the worker threads in this transport thread pool are busy.
But its value is always 0. And I know for sure it should be higher. As we are firing messages to the ESB using Jmeter. And new worker threads are being created, so there are elements in the queue. No matter how hard we hit the esb, we can see all threads working, connections rejected ... But always a 0.
Also, not lucky with turning into DEBUG the log4.
Any ideas, how could I get the number of queued messages?
Upvotes: 1
Views: 199
Reputation: 1294
WSO2 EI uses the java ThreadPoolExecutor implementation [1] for spawning new threads for processing requests also it handles queuing of messages if sufficient amount of threads are not available. Therefore it seems that you will not be able to get the number of queued messages through the debug logs.
If you are interested in analyzing the number of queued messages what I can suggest is taking a heap dump and analyzing it. It will indicate the amount of queued messages.
[1]-http://tutorials.jenkov.com/java-util-concurrent/threadpoolexecutor.html
Upvotes: 1