Arun,
If you have multiple instances of your CasConsumer then access to your
database must be synchronized. I suggest you add logging to each instance
to verify that all the CASes are being processed by your CasConsumers. You
should also be able to see the CASes flow in and out of the services from
the messages in the uima logs if you set the following in your
logger.properties file:
org.apache.uima.adapter.jms.activemq.JmsInputChannel.level = FINE
As Greg said it's sometimes easier to run synchronous pipelines and deploy
multiple instances of them on the same machine or across machines. The
collection reader would be a UIMA-AS client sending CASes to the shared
input queue for each pipeline to process one at a time. One disadvantage
would be if one of the annotators required a large amount of memory as this
might limit your scale-out rather than CPU load.
~Burn