Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java消息传递服务队列会话_Java_Jms_Spring Jms - Fatal编程技术网

Java消息传递服务队列会话

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

我不熟悉JMS。我尝试了一个示例,在该示例中,我向会话中的队列发送消息,具体取决于标记值session is committed。我从代码中期望的是,当我的标志为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();
            }

您正在使用哪个版本的spring

无论如何,看看这个:


希望对您有所帮助

容器提交会话(除非侦听器引发异常)。

每当消息到达队列时,您将调用onMessage,并且消息将从主题/队列中删除。您必须将消息重新输入队列,队列将再次调用onMessage(),并且可能会递归,直到会话为true。我使用的是spring 3.1.0版本。关键是容器不支持确认方法。。我仍然不能做我想做的事情