在sender方法返回

时间:2017-07-20 20:13:21

标签: jms weblogic-10.x ejb-2.x

请帮助我了解正在发生的事情

我有一个客户端,调用ejb方法 - doSomething() String result = session.doSomething(long p1, int p2);

在doSomething方法中,我们创建JMS消息并将其发送到jms队列 这是通过方法doMessageSend(..)完成的,该方法看起来像这样

     SomeMessage msg = new SomeMessage();
      msg.setBillId(lBillId);
      msg.setBaseOutputPath(sBaseOutputPath);
         // some more sets fields
         //...
     msgSender.sendBillOutputMsg(msg);

有一个组件 - 在服务器上运行的java控制台应用程序(运行ejb的OR机器相同)。组件处理来自队列的消息并将一些记录写入数据库。 任务是:

  • doSomething()方法返回之前,我必须让它“等待”由读取JMS队列的组件写入的数据库记录。但是,该组件在doSomething()返回之前不会开始处理队列。当doSomething()返回时,该队列处理组件开始工作。

如何在'doSomething()'返回之前启动队列处理组件? 发送的消息对象不再被引用...

0 个答案:

没有答案