2 kunkia kunkia 于 2016.09.25 23:45 提问

在jboss7中,怎么部署消息驱动bean?

本人在学习EJB,使用的是jboss7
【环境】MyEclipse10 + jboss7.1.1
写了一个消息驱动bean发布到jboss7,并启动是报错?
代码如下:
@MessageDriven (

activationConfig = {

@ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Queue"),

@ActivationConfigProperty(propertyName="destination",propertyValue="queue/myqueue")

}

)
public class MyQueueMDBean implements MessageListener {

@Override
public void onMessage(Message message) {
    TextMessage msg  = (TextMessage) message;
    try {
        System.out.println("消息bean: MyQueueMDBean被调用了" + msg.getText());
    } catch (JMSException e) {
        e.printStackTrace();
    }
}

}
报错内容如下:
23:22:18,024 ERROR org.jboss.msc.service.fail MSC00001: Failed to start service jboss.deployment.unit."ejbLearn03.jar".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."ejbLearn03.jar".PARSE: Failed to process phase PARSE of deployment "ejbLearn03.jar"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_13]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_13]
at java.lang.Thread.run(Thread.java:619) [rt.jar:1.6.0_13]
Caused by: org.jboss.msc.service.ServiceNotFoundException: Service service jboss.ejb.default-resource-adapter-name-service not found
at org.jboss.msc.service.ServiceContainerImpl.getRequiredService(ServiceContainerImpl.java:447) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.as.ejb3.deployment.processors.MessageDrivenComponentDescriptionFactory.getDefaultResourceAdapterName(MessageDrivenComponentDescriptionFactory.java:273)
at org.jboss.as.ejb3.deployment.processors.MessageDrivenComponentDescriptionFactory.processMessageBeans(MessageDrivenComponentDescriptionFactory.java:153)
at org.jboss.as.ejb3.deployment.processors.MessageDrivenComponentDescriptionFactory.processAnnotations(MessageDrivenComponentDescriptionFactory.java:81)
at org.jboss.as.ejb3.deployment.processors.AnnotatedEJBComponentDescriptionDeploymentUnitProcessor.processAnnotations(AnnotatedEJBComponentDescriptionDeploymentUnitProcessor.java:58)
at org.jboss.as.ejb3.deployment.processors.AbstractDeploymentUnitProcessor.deploy(AbstractDeploymentUnitProcessor.java:81)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
... 5 more

1个回答

devmiao
devmiao   Ds   Rxr 2016.09.25 23:56
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
消息驱动bean学习
消息驱动bean学习消息驱动bean学习消息驱动bean学习消息驱动bean学习
EJB——消息和消息驱动bean(一)
与会话bean直接处理来自于客户端的请求一样,MDB直接处理消息。消息有很多用处,包括系统集成、异步处理和分布式系统。Java EE通过再消息发送者和接收者之间添加可靠的中间者使消息健壮。在Java EE的角度来说,可靠的中间者被称为消息目的地(destination),由面向消息的中间件(Message-Oriented Middleware,MOM)管理。Java EE通过众所周知的API——
EJB 实体bean,会话bean,和消息驱动bean
http://javapub.iteye.com/blog/751459 EJB 3.0规范使开发EJB比过去更容易,可能诱惑你考虑开发第一个EJB。如果真是这种情况,那么祝贺你,你已经成功避免了在你以前EJB开发者的很多挫折,并且享受到EJB 3.0开发的便利性。但是你开始开发以前,你可能想知道EJB是什么和它们用于什么目的。本篇文章解释了EJB的基础和你如何在一个J2EE程序中使
EJB学习笔记——JMS和消息驱动Bean
JMS和消息驱动Bean1.java消息服务(JMS)编程:应用程序A发送一条消息到消息服务器的某个目的地,然后消息服务器把消息转发给应用程序B,由于JMS允许消息发送方和接收方不同时在线,没有代码关联,从而实现应用程序的解耦,JMS的过程如下:应用程序A——>消息——>JMS消息服务器——>消息——>应用程序B2.JMS消息的传递模型:JMS支持两种消息传递模型:点对点(PTP)、发布订阅(pub/sub)。(1).PTP:一条消息只能传递给一个接收方,采用javax.jms.Queue表示。每个消息被发
消息驱动bean(MDB)实例
到目前为止前面介绍的有关JavaEE的东西都是同步的,也就是说调用者调用某个方法,那么这个方法必须立即执行并返回执行结果。用官方一些的语言来说就是“客户端通过业务接口调用一个方法,在将控制权返回给客户端之前,服务器完成该方法调用”。对于我们接触到的大多数操作而言这是最自然也是最容易实现的方法。然而,有些情况下客户端并不需要等待服务器响应,而只需要告诉服务器应该做什么就可以了,在完成“告知”任务之后
JMS和消息驱动Bean(MDB)
使用ActiveMQ作为消息中间件,JMS发送异步消息,MDB接收并处理消息
JBoss 系列三:使用4种方式部署应用到JBoss7/WildFly
内容概要 JBoss系列三主要目的是演示如何部署应用到JBoss7/WildFly,如下图中描述了部署应用的四种方式: 如上四种方式包括: Administration UI ConsoleCommand Line ConsoleMaven Plugin(jboss-as-maven-plugin)copy 为了测试部署,我们需要编译生产部署的应用,使用git cl
EJB 3 in Action
很好的EJB3入门经典,全面的介绍了EJB3的原理,开发和部署,包括session bean,实体bean和消息驱动bean的详细介绍。
在JBoss中配置DB2的数据源
        最近在Eclipse + MyEclipse + JBoss + DB2的环境下开发EJB的测试项目,遇到一个问题:在JBoss中已经配置好了数据源,DB2的jdbc驱动也放到了%JBOSS_HOME% server/default/lib下,但是从Eclipse中启动JBoss后,测试时总是提示驱动不对,连接不上数据库。但是单独启动JBoss,测试运行正常。后来网上查了一下,发现
在JBoss7中部署war
直接拖放方式 在JBoss7.1中部署war很简单,直接将war的压缩文件放到$JBOSS_HOME\standalone\deployments目录下就可以了。   其它方式 呵,方式可不是只有这种哟,直接拖拉只是其中一种方式,网上有人总结了部署war的五种方式,并拍了一个视频,叫做“5 ways to deployyour application to JBoss AS 7”,链接如下