Oracle Streams is supposedly a JMS implementation. After a month of waiting on Oracle support as to why some of the basic examples did not work I got:
Note:154777.1
Subject: Unable to Create Receiver on a Raw Queue
Type: PROBLEM
Status: PUBLISHED
Content Type: TEXT/X-HTML
Creation Date: 20-JUL-2001
Last Revision Date: 13-AUG-2001
* fact: Oracle Server – Enterprise Edition 8.1.7
* fact: Advanced Queuing (QUEUE)
* symptom: Runtime error using the Java Messaging Service (JMS)
* symptom: java.lang.NullPointerException
* symptom: oracle.jms.AQjmsSession.createReceiver(javax.jms.Queue)
* cause: Access to queues with a RAW payload via the JMS API is not supported.
fix:
1. Use the native Java API – oracle.AQ.* to access the RAW queue.
2. Use one of the predefined payload types for JMS. In this case SYS.AQ$
_JMS_TEXT_MESSAGE was used.
For more information on JMS and the Java AQ API, refer to :
Oracle8i Application Developer’s Guide – Advanced Queuing.
The native API is not deprecated. So all of this adds up to Oracle Streams and JMS being a dead combination on Oracle.