我已经在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启动服务。启动服务后一切正常。