我已经在WLS 12.1.3中将代码部署为war,在这里我从一个生产者发送消息,消息被下面的代码使用,应用程序在Windows的WLS服务器中部署为war,它正在监听,但是在Linux的12.1.3wls版本中部署了相同的war,但是我可以看到队列中的消息计数监视,但应用程序没有侦听消息。如何跟踪应用程序是在Linux服务器中读取消息,日志中没有更新。

@MessageDriven(mappedName = "jms/jjQueue", activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
 })
  public class JMSMessageConsumer implements MessageListener {

private final static Logger LOGGER = Logger.getLogger(JMSMessageConsumer.class);

public JMSMessageConsumer() {
}

@Override
public void onMessage(Message message) {
    if (message instanceof TextMessage) {
        try {

            String mess = ((TextMessage) message).getText();

            LOGGER.info("Message Received >> " + mess);

        } catch (JMSException e) {
            LOGGER.info("Error in exception" + e);
        }
    }

  }
 }

我在我的windows中发现,在WLS中的JMSMessageConsumer有正在运行的cound,但在Linux中,它显示为“此EJB当前未在任何正在运行的服务器上处于活动状态”。如何在WLS中使其处于活动状态,因为我已将此应用程序部署为war。请建议如何使其处于活动状态。

最佳答案

我没有在WLS启动服务。启动服务后一切正常。

08-27 18:37