我在用db上建了一个p2p的消息队列,在db层上是可以dequeue的,可我在用jms取的时候却不能出队,但同时消息又确实收到了一个retry,真的很奇怪,是不是我的代码有问题呢??
我的方法如下:
public void test()
{
QueueConnectionFactory qcfact;
QueueConnection qconn;
QueueSession session;
Queue queue;
QueueReceiver receiver;
//QueueBrowser browser;
try
{
System.out.println("Get the Queue");
qcfact = AQjmsFactory.getQueueConnectionFactory("10.118.1.79", "prod", 1521, "thin");
qconn = qcfact.createQueueConnection("aqadm", "aqadm");
session = qconn.createQueueSession(true, Session.CLIENT_ACKNOWLEDGE);
//session = qconn.createQueueSession(true,session.AUTO_ACKNOWLEDGE);
qconn.start();
queue = ((AQjmsSession)session).getQueue("aqadm", "JOB_QUEUE");
System.out.println("Create Receiver...");
receiver = session.createReceiver(queue);
//browser = session.createBrowser(queue);
System.out.println(receiver.getMessageSelector());
Message msg = session.createMessage();
msg = receiver.receiveNoWait();
/*if (msg instanceof TextMessage)
{
TextMessage tm = (TextMessage)msg;
String text = tm.getText();
System.out.println("text=" + text);
}*/
session.commit();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}谢谢赐教啊
我的方法如下:
public void test()
{
QueueConnectionFactory qcfact;
QueueConnection qconn;
QueueSession session;
Queue queue;
QueueReceiver receiver;
//QueueBrowser browser;
try
{
System.out.println("Get the Queue");
qcfact = AQjmsFactory.getQueueConnectionFactory("10.118.1.79", "prod", 1521, "thin");
qconn = qcfact.createQueueConnection("aqadm", "aqadm");
session = qconn.createQueueSession(true, Session.CLIENT_ACKNOWLEDGE);
//session = qconn.createQueueSession(true,session.AUTO_ACKNOWLEDGE);
qconn.start();
queue = ((AQjmsSession)session).getQueue("aqadm", "JOB_QUEUE");
System.out.println("Create Receiver...");
receiver = session.createReceiver(queue);
//browser = session.createBrowser(queue);
System.out.println(receiver.getMessageSelector());
Message msg = session.createMessage();
msg = receiver.receiveNoWait();
/*if (msg instanceof TextMessage)
{
TextMessage tm = (TextMessage)msg;
String text = tm.getText();
System.out.println("text=" + text);
}*/
session.commit();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}谢谢赐教啊
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货