Remember that you can always call a private or protected method (or field)
via reflection.  You pay a price in terms of both performance and
maintainability, but neither price is so high that you shouldn't at least
consider the option if you don't have a better one.
On Feb 19, 2016 9:16 AM, "Timothy Bish" <tabish...@gmail.com> wrote:

> On 02/19/2016 02:35 AM, mayuraviraj wrote:
> > While I was analysing how activemq do it async send internally I found
> > following approach to get async response. ( This is using activemq
> producer
> > implementation). Unfortunately i had to abandon PooledConnectionFactory
> > since PooledConnection does not have a way to return
> ActiveMQMessageProducer
> > ( it has method with protected access). However I believe even-though
> > following code using only once connection since sessions are created in
> > separate thread, performance won't be impacted.
> >
> > ActiveMQConnectionFactory factory = new
> > ActiveMQConnectionFactory(brokerURL);
> > factory.setUseAsyncSend(true);
> > Connection connection = connectionFactory.createConnection();
> > connection.start();
> > Session session = connection.createSession(false,
> Session.AUTO_ACKNOWLEDGE);
> > MessageProduer producer = session.createProducer(destination);
> > Queue queue = session.createQueue(qName);
> > ((ActiveMQMessageProducer)producer).send(queue, message, new
> AsyncCallback()
> > {
> >         @Override
> >         public void onSuccess() {
> >
> >         }
> >
> >         @Override
> >         public void onException(JMSException exception) {
> >
> >         }
> >     };);
> >
> >
> >
> > --
> > View this message in context:
> http://activemq.2283324.n4.nabble.com/Identify-ActiveMQ-asyncrhonous-message-failures-tp4707716p4707854.html
> > Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> >
> The use of the configuration option factory.setUseAsyncSend(true); won't
> have any effect on the send in this case.
>
> Also keep in mind that you will need to wait for all the onComplete
> callbacks to receive the ACK from the broker to be sure all your sends
> are successful which will lower the performance to something closer to
> what you saw with non-async sends.
>
> --
> Tim Bish
> twitter: @tabish121
> blog: http://timbish.blogspot.com/
>
>

Reply via email to