下面的程序enqueue的时候可以成功的把消息入进队列里面,但是dequeue的时候message却为null,这是为什么呢?难道我的代码写得有错吗?
困扰我很长时间了!大家帮我解决解决吧! public static void main(String[] args) throws Exception{
AQjmsConnection connection = AqUtils.getConnection("aqadm", "aqadm");
AQjmsSession session=(AQjmsSession)connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
enqueue(connection,session);
dequeue(connection,session);
session.close();
connection.close();
} public static void dequeue(AQjmsConnection connection,AQjmsSession session) throws JMSException,AQException {
Queue queue=session.getQueue("aqadm", "wj_aqqueue");
Message message=receiver.receiveNoWait();
System.out.println(message);
}
public static void enqueue(AQjmsConnection connection,AQjmsSession session) throws JMSException,AQException {
Queue queue=session.getQueue("aqadm","wj_aqqueue");
BytesMessage message=session.createBytesMessage();
message.setJMSCorrelationID("fuck");
message.writeBytes("测试的一个入队消息".getBytes());
QueueSender sender = session.createSender(queue);
sender.send(queue,message);
}
困扰我很长时间了!大家帮我解决解决吧! public static void main(String[] args) throws Exception{
AQjmsConnection connection = AqUtils.getConnection("aqadm", "aqadm");
AQjmsSession session=(AQjmsSession)connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
enqueue(connection,session);
dequeue(connection,session);
session.close();
connection.close();
} public static void dequeue(AQjmsConnection connection,AQjmsSession session) throws JMSException,AQException {
Queue queue=session.getQueue("aqadm", "wj_aqqueue");
Message message=receiver.receiveNoWait();
System.out.println(message);
}
public static void enqueue(AQjmsConnection connection,AQjmsSession session) throws JMSException,AQException {
Queue queue=session.getQueue("aqadm","wj_aqqueue");
BytesMessage message=session.createBytesMessage();
message.setJMSCorrelationID("fuck");
message.writeBytes("测试的一个入队消息".getBytes());
QueueSender sender = session.createSender(queue);
sender.send(queue,message);
}
解决方案 »
- 求助:Orcale表设置两个clob,两个clob字段的内容颠倒了!!!!!
- oracle中如何把0和1转换成所需的布尔型
- 数据库状态当前不可用。?
- 高分求救!如何从ORACLE中导出成.DBF格式的文件?在线等!!!
- distinct与group by在查询的时候若查询条件不包含聚集函数的情况下效率咨询
- ORACLE能不能根据日志查出哪个机器访问了SQL SERVER数据库,执行了哪些操作
- 关于trigger的问题,帮帮我。
- 数据字典究竟为何物?
- 为什么Oracle 9i for Linux中表的使用空间不能自动扩展
- 请教数据insert问题
- Oracle, 多个字段中有回车,换行字符,不想逐字段去REPLACE,不知道有没有在会话层级的设置,可以实现将此类字符忽略?
- oracle的 同义词检索问题
最简单的办法是先在toad或sqlplus里测试OK后,再把它放到程序里
DECLARE
dequeue_options DBMS_AQ.dequeue_options_t;
message_properties DBMS_AQ.message_properties_t;
message_handle RAW(16);
message SYS.AQ$_JMS_BYTES_MESSAGE;
BEGIN
dequeue_options.navigation := DBMS_AQ.FIRST_MESSAGE;
DBMS_AQ.DEQUEUE(
queue_name => 'aqadm.wj_aqqueue',
dequeue_options => dequeue_options,
message_properties => message_properties,
payload => message,
msgid => message_handle);
COMMIT;
DBMS_OUTPUT.PUT_LINE('message');
END;
/