Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Problem dequeueing ADT Payload using user_data selector

65668Nov 22 2006
I am trying to create a receiver that will dequeue ADT payload messages based on a field in the payload. I have a payload that has several varchar2 columns and a CLOB column. I create a receiver using the following call

QueueReceiver subscriber = ((AQjmsSession) aq.session).createReceiver(
queue,
messageSelector,
PAYLOAD_TYPE.getORADataFactory());

This works as long as messageSelector is null.

When I add a message selector of
messageSelector="GIBEFLQ.USER_DATA.message_type = 'validationRequest'";
Where GIBFELQ is the queue table name and message_type is the varchar column of my user defined payload, I get the following exception below. I get this message right off the bat before any message has been enqueued. I am using Oracle 10.2. I am assuming my message selector is the wrong format, but it seems to match what limited examples I have found.

I found this statement in the 10.2 javadoc for the createReceiver method:

messageSelector - only messages with properties matching the message selector expression are delivered
When used with an 8.2 or later database, standard JMS selector syntax is fully supported.
When used with a pre-8.2 database, the message selector is limited to one of the following:
JMSMessageID to retrieve messages that have the specified message ID. All message IDs must be prefixed with "ID:".
For example, JMSMessageID = 'ID:2345234523452345'.
JMSCorrelationID to retrieve messages that have a certain correlationID. For example, JMSCorrelationID = 'RUSH'.

So it seems I should be able to select messages with "properties" matching the message selector. I have not found a clear cut example of this for ADT messages, but my selector seems to match the limited examples I have seen. Obviously I'm missing something.

Thanks in advance for any help on this.

oracle.jms.AQjmsException: JMS-120: Dequeue failed
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:311)
at oracle.jms.AQjmsConsumer.dequeue(AQjmsConsumer.java:2234)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:1021)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:951)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:929)
at oracle.jms.AQjmsConsumer.receive(AQjmsConsumer.java:781)
at com.eflex.oracle.AQJmsSubscriber.subscribe(AQJmsSubscriber.java:132)
at com.washoe.handlers.DemoOracleAQResponse.main(DemoOracleAQResponse.java:169)

[Linked-exception]
java.sql.SQLException: ORA-00904: "GIBEFLQ"."USER_DATA"."MESSAGE_TYPE": invalid identifier
ORA-06512: at "SYS.DBMS_AQIN", line 651
ORA-06512: at line 1

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:671)
at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:597)
at oracle.jdbc.driver.T2CCallableStatement.executeForDescribe(T2CCallableStatement.java:571)
at oracle.jdbc.driver.T2CCallableStatement.executeForRows(T2CCallableStatement.java:764)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1159)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3284)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3328)
at oracle.jms.AQjmsConsumer.dequeue(AQjmsConsumer.java:1633)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:1021)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:951)
at oracle.jms.AQjmsConsumer.receiveFromAQ(AQjmsConsumer.java:929)
at oracle.jms.AQjmsConsumer.receive(AQjmsConsumer.java:781)
at com.eflex.oracle.AQJmsSubscriber.subscribe(AQJmsSubscriber.java:132)
at com.washoe.handlers.DemoOracleAQResponse.main(DemoOracleAQResponse.java:169)
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 20 2006
Added on Nov 22 2006
0 comments
2,033 views