java - Linux 中的 WLS 12.1.3 - 消息未被消费者收听

标签 java linux ejb weblogic weblogic12c

我已将代码部署为 WAR文件在 WebLogic Server (WLS) 12.1.3 我正在从生产者发送消息,消息由以下代码使用。该应用程序作为 WAR 文件部署在 Windows 的 WLS 服务器中并且正在监听,但在 Linux 中使用相同版本的 12.1.3 WLS 部署了相同的 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 正在运行,但在 Linux 中它显示为“此 EJB 当前未在任何正在运行的服务器上激活”。我已将此应用程序部署为 WAR 文件,因此如何使其在 WLS 中处于 Activity 状态。我怎样才能激活它?

最佳答案

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

关于java - Linux 中的 WLS 12.1.3 - 消息未被消费者收听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43659340/

相关文章:

linux - 使用 root 以外的用户启动 Docker 守护程序时出错(权限被拒绝)

c++ - 用于列出正在运行的进程的 Linux API? - 有论点

java - 在什么情况下使用 EJB?网站/网络应用程序开发是否需要它们?

java - 基于 EJB JPA 的应用程序在 1 小时 10 分钟后抛出 NPE

java - EJB 3 预加载

java - Spring Boot 测试 - 创建名为 SpringBootRepositoryRestMvcConfiguration 的 bean 时出错

java - Struts2 在 JSP 中从 session 映射迭代

java - 列表/映射中的列表和字符串

android - 为 android 构建 valgrind 时未定义 __ANDROID__

java - Jasper Reports 日期不会根据给定格式更改