

For detailed information on using ISGENQ, see: SA22-7605 z/OS MVS Programming: Assembler Services Guide and: SA22-7607 z/OS MVS Programming: Assembler Services Reference, Volume 2 (IARR2V-XCTLX) The class implements AutoCloseable. Can be used to control and serialize z/OS system QNAME/RNAME resources. Msg_hdr := SYS.AQ$_JMS_HEADER(msg_agent,null,'',null,null,null,msg_proparray) A class that provides a Java interface to the z/OS ISGENQ service. Msg_property := SYS.AQ$_JMS_USERPROPERTY('JMS_OracleDeliveryMode', 100, '2', NULL, 27) Msg_proparray := SYS.AQ$_JMS_USERPROPARRAY() Msg_agent := SYS.AQ$_AGENT(' ', null, 0) I welcome suggestions and improvements! create or replace procedure testmessage AS Maybe (hopefully) this is not the easiest way to do it but I found several (unanswered) forum posts from people struggling with the very same problem, so at least this is _a_ solution. The advice I repeatedly came across was to use a queue with an ADT payload rather than a JMS type payload, at the cost of more complex dequeuing logic in the middle tier.īut I knew the JMS-type queue was working fine when enqueuing from Java, so I kept trying until I came up with some PL/SQL that enqueued the exact same messages as the ones I created from Java.

Further examination taught me that the JMS types on the XE database are “crippled’ because there is no JVM present.
Java enqueue code#
Unfortunately, this code does not compile on the Oracle XE database that I was using, resulting in a “PLS-00302: component ‘CONSTRUCT’ must be declared” error. Msg := SYS.AQ$_JMS_TEXT_MESSAGE.CONSTRUCT() Not being very fluent in PL/SQL programming, I tried googling for an example, but all the examples I found used code like this: create or replace procedure testmessage AS But then, I needed to write PL/SQL code to put a message on this queue as well. I also wrote a Java class to enqueue a test JMS message on this queue.

With this queue type, I managed to configure the Message Driven Bean successfully on an OC4J 10.1.2 without needing to use the JCA AQ Adapter, i.e. , queue_payload_type=> 'SYS.AQ$_JMS_TEXT_MESSAGE' These are the top rated real world Java examples of extracted from open source projects. The tutorials and examples I found had me create the queue like this: dbms_aqadm.create_queue_table( queue_table=>'MY_QUEUE_TABLE' Today I was configuring a message driven bean to listen to an AQ queue.
