oracle aq 可以入队但是出队的时候为空,我快崩溃了!
下面的程序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);
}