我是JMS的新手。我正在尝试一个示例示例,其中我将消息发送到会话中的队列,并根据标志值会话提交。我对代码的期望是,当我的标志为false时,消息将保留在队列中并且不会被删除。如果flag为true,则会话被提交并且我收到消息。我无法做前一部分,即当flg值为false时将消息保存在队列中。
我正在使用MDPListener和spring框架。以下是我的代码:
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();
}
答案 0 :(得分:2)
您使用的是哪个版本的弹簧。
无论如何要检查出来:
希望你觉得有用
答案 1 :(得分:0)
容器提交会话(除非监听器抛出异常)。