with help [link]How to enqueue on Oracle AQ table on commit with Java and consume with a JMS client I am trying to achieve this -
declare
msg SYS.AQ$_JMS_TEXT_MESSAGE;
queue_options DBMS_AQ.ENQUEUE_OPTIONS_T;
msg_props DBMS_AQ.MESSAGE_PROPERTIES_T;
msg_id RAW(16);
begin
msg_props.expiration := 12;
msg_props.exception_queue := 'EVT_QUEUE_E';
msg := SYS.AQ$_JMS_TEXT_MESSAGE.CONSTRUCT();
msg.set_text('Hello World from PL/SQL Count 5');
DBMS_AQ.ENQUEUE( queue_name => 'EVT_QUEUE'
, enqueue_options => queue_options
, message_properties => msg_props
, payload => msg
, msgid => msg_id);
commit;
end;
here is the function that does enqueues the message with defalut message properties.
public static void sendMessage(String user, String queueName, String message) throws SQLException
{
try
{
QueueConnection qCon = getConnection();
session = qCon.createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
qCon.start();
Queue queue = ((AQjmsSession) session).getQueue(user, queueName);
MessageProducer producer = session.createProducer(queue);
//AQMessage
TextMessage msg = session.createTextMessage(message);
producer.setTimeToLive(1); //expiration time
producer.send(msg);
System.out.println("Sent message = " + msg.getText());
session.close();
producer.close();
qCon.close();
}
catch (JMSException e)
{
e.printStackTrace();
return;
}
}
How can I pass exception queue to message properties??