当前位置: 首页 > 知识库问答 >
问题:

WildFly 10 with WebSphere MQ 9:onMessage MDB部署错误

习斌
2023-03-14
  1. 在Jboss EAP 7.0.6 GA、IBM MQ 9
  2. 上,我有一个MDB用于消费队列消息
    package com.ryzorbent.demo.jms;

    import javax.ejb.ActivationConfigProperty;
    import javax.ejb.MessageDriven;
    import javax.ejb.TransactionAttribute;
    import javax.jms.JMSException;

    import javax.jms.Message;
    import javax.jms.MessageListener;
    import javax.jms.TextMessage;

    import org.jboss.ejb3.annotation.ResourceAdapter;

    @MessageDriven(name="EFRSTestMDB", activationConfig = {
            @ActivationConfigProperty(propertyName = "destinationType",propertyValue = "javax.jms.Queue"),
            @ActivationConfigProperty(propertyName = "useJNDI", propertyValue = "false"),
            @ActivationConfigProperty(propertyName = "hostName", propertyValue = "localhost"),
            @ActivationConfigProperty(propertyName = "port", propertyValue = "1414"),
            @ActivationConfigProperty(propertyName = "channel", propertyValue = "SYSTEM.DEF.SVRCONN"),
            @ActivationConfigProperty(propertyName = "queueManager", propertyValue = "EFRS_UAT"),
            @ActivationConfigProperty(propertyName = "destination", propertyValue = "jms/queue/QUEUE"),
            @ActivationConfigProperty(propertyName = "transportType", propertyValue = "CLIENT")
        })

    @ResourceAdapter(value = "wmq.jmsra.rar")
    //@TransactionAttribute(value = "NoTransaction")

    public class EFRSTestMDB implements MessageListener {


        @Override
        public void onMessage(Message inMessage) {
            TextMessage message = (TextMessage)inMessage;
            try {
                System.out.println(String.format("Hello, %s", message.getText()));
            } catch (JMSException e) {
                e.printStackTrace();
            }
        }

    }
java.lang.NoClassDefFoundError: Failed to link com/ryzorbent/demo/jms/EFRSTestMDB (Module "deployment.TestJbossMDB.jar:main" from Service Module Loader): javax/jms/MessageListener

共有1个答案

冯奇思
2023-03-14

wmq.jmsra.rar不包含JMS API类,就像您错误中的javax/JMS/messageListener。在《限制和已知问题》中说:

IBM WebSphere®MQ7.5资源适配器的部署没有为您的部署加载javax.jms.api模块。它也不支持新的Jave EE7注释,如@JMSConnectionFactoryDefinitions、@JMSDestinationDefinitions。配置中需要有messaging-activemq子系统来启用它。如果不希望启动JBoss EAP消息传递服务器,请添加一个空的消息传递-ActiveMQ子系统。

因此您必须添加JMS api JAR,就像上面描述的那样。

 类似资料:
  • 我在过去多次部署Firebase功能。由于某些原因,最近(大约2-3天)我经常在部署时出错。我使用windows来释放代码。当我尝试在我的Linux系统和Mac系统中设置相同的项目时,部署工作正常。从Windows环境发布可能存在的问题。 以下是部署时遇到的问题。 ! 功能[付款(us-central1)]:部署错误。加载用户代码时函数失败。这可能是由于用户代码中的错误造成的。错误消息:错误:请检

  • 我使用的是Tomcat7.0.20和Grails1.3.7,在部署war文件时,我遇到了这个错误。 AM org.apache.Catalina.startup.hostconfig deployWAR信息:部署web应用程序存档ih-core.war 2013年2月25日1:55:35AM org.apache.Catalina.core.containerbase AddChildinal严重

  • 我正在使用ant脚本构建应用程序。此应用程序在9.2 bea下工作。lib=C:/bea92/weblogic92/server/lib-ant-code-工作正常,但当我切换到12c lib文件夹时。lib=C:/bea12c/wlserver\u 12.1/server/lib,它给了我这个错误:

  • ---作为问题根本原因的MBEANS---objectName:jboss.j2ee:jar=HelloWorldeJB.jar,name=quenemdb01,service=EJB3状态:失败原因:org.jboss.deployment.deploymentException:在激活配置[ActivationConfigProperty(activation ConfigProperty(a

  • 我已经启动了JBPM6.0.1,并与mysql一起运行,没有问题。我已经决定升级到6.1.0。当我使用最新版本运行安装程序(ant install.demo)时,部署每次都失败。h2驱动程序现在干扰了部署(可能)。对这些人有什么帮助...服务器日志错误在下面...

  • 由于某种原因,当我使用Meteor deploy时,我的服务器产生以下错误,我无法访问这些页面。我遇到以下错误: [2015年5月5日星期二20:50:15 GMT+0000(UTC)]警告/meteor/dev_bundles/0.4.18/lib/node_modules/fibers/future.js:245 throw(ex);[2015年5月5日星期二20:50:15 GMT+0000

  • 这是我在POM中的构建详细信息: 这些是我的财产: 以下是我的终端命令: MVN清洁部署-DmuleDeploy-X,我得到以下错误: 如果我使用以下配置,它将成功部署在Cloud dhub中: 不确定我在第一个配置中做错了什么。

  • 问题内容: 我正在尝试通过Intellij IDEA将一个基本为空的项目部署到GAE。我创建了一个新项目,在appengine- web.xml中设置了我的项目ID,并保留了其他所有内容。我收到以下错误,完整日志在这里。 我尝试安装JDK 7,将所有内容都设置为使用该版本,并使用1.7和1.8中的JDK 8编译,似乎没有任何效果。 问题答案: Maven仍在使用Java 8