Saturday 3 December 2011

Difference between AQ Adapter and JMS Adapter

JMS is the Java Messaging System. You can use it memory-based and file-based.
But there are some more options, provided by vendors to enhance this JMS-standard:

JMS via Oracle AQ = AQJMS
or
JMS via IBM MQ

Both JMS implementations provides ACID features like databases.

With the JMS standard, it is no problem to write a MDB inside an application server, which listens on a JMS queue.

Oracle AQ and IBM MQ support not only JMS style queueing. You can use them in native (text like) mode. This is a bit faster than JMS but you can not use MDB for dequeue operations....



========================================================================


If you want to be portable, use JMS. It is a layer above the actual messaging implementation. Many vendors and open source products support JMS. Unless there is a specific adapter available (AQ and MQ both have their own custom adapters) it may be your only option.

If you know that your queue or topic will run in an Oracle database you can use AQ. In that case using AQ directly should give you better performance than JMS, as JMS adds an extra layer. In addition AQ supports several features that are not available if you use JMS. Sometimes that can make a big difference.

In summary, use AQ with Oracle if you want to take advantage of the extra features or get as good performance as possible; otherwise use JMS.


===================================================================================


All of them are based on Asynchronous Messaging...All of them uses Queues and Topic to consume..But the datasource frm wch they consume or produce differs..

1.MQ consumes the topic and queues frm the IBM MQ Server

2.AQ uses an Oracle Database

3.While a JMS Adapter uses File,Memoery and also the DB persistence as AQ.

No comments:

Post a Comment

xslt padding with characters call template for left pad and right pad

  Could a call-template be written that took two parameters ?   a string, and a   number) return the string with empty spaces appended t...