独立Java以将JMS消息出列
任何一个都可以提供示例程序来在Java中对消息进行出列吗?我想要一个独立的java程序来完成这个任务 假设oracleha使用JMS_TEXT_MESSAGE将消息排入队列,队列myqueue中的有效负载类型的所有者是myowner&现在我想使用Java将这些消息移出队列。任何一个都可以提供独立Java的示例程序吗 谢谢 @Ratha,我试过你的样品&我可以浏览所有的信息&效果非常好 但是,当我尝试使用这些消息时,我认为它们将从队列中删除并通过以下行显示给我:独立Java以将JMS消息出列,java,jakarta-ee,jms,Java,Jakarta Ee,Jms,任何一个都可以提供示例程序来在Java中对消息进行出列吗?我想要一个独立的java程序来完成这个任务 假设oracleha使用JMS_TEXT_MESSAGE将消息排入队列,队列myqueue中的有效负载类型的所有者是myowner&现在我想使用Java将这些消息移出队列。任何一个都可以提供独立Java的示例程序吗 谢谢 @Ratha,我试过你的样品&我可以浏览所有的信息&效果非常好 但是,当我尝试使用这些消息时,我认为它们将从队列中删除并通过以下行显示给我: System.out.print
System.out.println("MESSAGE RECEIVED " + msg.getText());
MessageConsumer consumer = session.createConsumer(queue);
Exception in thread "main" java.lang.AbstractMethodError: oracle.jms.AQjmsSession.createConsumer(Ljavax/jms/Destination;)Ljavax/jms/MessageConsumer;
at OracleAQClient.consumeMessage(OracleAQClient.java:141)
at OracleAQClient.main(OracleAQClient.java:159)
但是,它在下面的行中给了我错误:
System.out.println("MESSAGE RECEIVED " + msg.getText());
MessageConsumer consumer = session.createConsumer(queue);
Exception in thread "main" java.lang.AbstractMethodError: oracle.jms.AQjmsSession.createConsumer(Ljavax/jms/Destination;)Ljavax/jms/MessageConsumer;
at OracleAQClient.consumeMessage(OracleAQClient.java:141)
at OracleAQClient.main(OracleAQClient.java:159)
你能帮我解决这个错误吗
谢谢 您可以更正特定于供应商或与供应商无关的代码。。 要使消息出列,请使用以下代码块
public static void consumeMessage(String user, String queueName) {
Queue queue;
try {
QueueConnection QCon = getConnection();
Session session = QCon.createQueueSession(false,Session.CLIENT_ACKNOWLEDGE);
QCon.start();
queue = ((AQjmsSession) session).getQueue(user, queueName);
MessageConsumer consumer = session.createConsumer(queue);
TextMessage msg = (TextMessage) consumer.receive();
System.out.println("MESSAGE RECEIVED " + msg.getText());
consumer.close();
session.close();
QCon.close();
} catch (JMSException e) {
e.printStackTrace();
}
}
我已经写了,这些帖子包含了更多的详细代码
您应该能够在jmx控制台中删除队列中的消息。@Mike:在这里您将无法获得整个程序。只要解释一下你到目前为止所做的一切。简单地链接到其他网站的答案并不是好的答案。