Java消息传递服务队列会话
我不熟悉JMS。我尝试了一个示例,在该示例中,我向会话中的队列发送消息,具体取决于标记值session is committed。我从代码中期望的是,当我的标志为false时,消息将保留在队列中,不会被删除。如果flag为true,则会话将被提交,我将获得消息。我无法完成前一部分,即当flg值为false时将消息保存在队列中 我正在使用MDPListener和spring框架。以下是我的代码:Java消息传递服务队列会话,java,jms,spring-jms,Java,Jms,Spring Jms,我不熟悉JMS。我尝试了一个示例,在该示例中,我向会话中的队列发送消息,具体取决于标记值session is committed。我从代码中期望的是,当我的标志为false时,消息将保留在队列中,不会被删除。如果flag为true,则会话将被提交,我将获得消息。我无法完成前一部分,即当flg值为false时将消息保存在队列中 我正在使用MDPListener和spring框架。以下是我的代码: public void onMessage(Message message,Session sessi
public void onMessage(Message message,Session session) {
System.out.println("New Message arrived part2 .. Passing to Controller");
Boolean g=false;
if(g==true)
{
System.out.println("Data true..session committed!!");
try {
session.commit();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else
{
try {
System.out.println("Sesison not commds!!");
//HERE I WANT THE CODE TO STORE THE MESSAGE IN THE QUEUE, SO THAT NEXT TIME WHEN THE FLAG IS TRUE, MESSAGE GETS DELIVERED!
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
您正在使用哪个版本的spring 无论如何,看看这个:
希望对您有所帮助容器提交会话(除非侦听器引发异常)。每当消息到达队列时,您将调用onMessage,并且消息将从主题/队列中删除。您必须将消息重新输入队列,队列将再次调用onMessage(),并且可能会递归,直到会话为true。我使用的是spring 3.1.0版本。关键是容器不支持确认方法。。我仍然不能做我想做的事情