onMessage是阻塞的,和System.in.read方法一样,当你的Queue的消费者监听到了一个Message,就会触发这个方法,而你无需去关心什么时候有message过来。什么时候结束

解决方案 »

  1.   

    消息驱动bean是异步的,非实时的,所以你根本都没必要去关心这些如果真要知道可以从Appserver的控制台看到你接收的消息数,但感觉没什么太大意义
      

  2.   

    我的意思是:我写了一个客户端程序,该程序被调用的时候通过实现onMessage方法获取消息,每得到一条消息就存储到Vector中,最后将Vector返回给另外一个jsp页面,在页面中将消息显示出来。既然onMessage不可控,那么怎么才能实现上述功能呢?作成定时的?
      

  3.   

    我觉得是你的设计有问题吧,你根本无法得知何时Message才是完的而且你使用MDB的话,你根本不能保证两个Message是发送到同一个Bean当中
      

  4.   

    那如何实现通过jsp页面显示消息呢?
      

  5.   

    方案A:我不知道你的具体业务逻辑,但我觉得应是否应该重新审视你的设计思路?如果想通过阻塞并且没有返回值的消息机制来返回结果,显然有点绕弯子了。
    方案B:可以在onMessage()中处理完之后,再发回消息给另一端啊
      

  6.   

    消息驱动bean是异步的,非实时的,是否发送完毕由weblogic等application server决定,在onMessage中无法知道