EJB不能创建消息驱动bean

问题描述

今天写了一个MessageDerviceBean但是,服务器就是不能创建这个消息驱动bean,也没出现异常。。或者错误,代码如下:=============================================================================================================packagecom.fbd.mdb;importjavax.ejb.ActivationConfigProperty;importjavax.ejb.MessageDriven;importjavax.jms.JMSException;importjavax.jms.Message;importjavax.jms.MessageListener;importjavax.jms.TextMessage;/***Message-DrivenBeanimplementationclassfor:FirstMDB**/@MessageDriven(activationConfig={@ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Queue"),@ActivationConfigProperty(propertyName="destination",propertyValue="queue/testQueue")})publicclassFirstMDBimplementsMessageListener{/***Defaultconstructor.*/publicFirstMDB(){}/***@seeMessageListener#onMessage(Message)*/publicvoidonMessage(Messagemessage){try{if(messageinstanceofTextMessage){System.out.println("测试是否执行!");TextMessagemsg=(TextMessage)message;System.out.println(msg.getText());}}catch(JMSExceptione){e.printStackTrace();}}}服务器正常启动消息:==============================================================================================================14:21:41,468INFO[D]BoundtoJNDIname:queue/D14:21:41,468INFO[ex]BoundtoJNDIname:queue/ex14:21:41,484INFO[testTopic]BoundtoJNDIname:topic/testTopic14:21:41,484INFO[securedTopic]BoundtoJNDIname:topic/securedTopic14:21:41,484INFO[testDurableTopic]BoundtoJNDIname:topic/testDurableTopic14:21:41,484INFO[testQueue]BoundtoJNDIname:queue/testQueue14:21:41,500INFO[UILServerILService]JBossMQUILserviceavailableat:localhost/127.0.0.1:809314:21:41,515INFO[DLQ]BoundtoJNDIname:queue/DLQ14:21:41,593INFO[ConnectionFactoryBindingService]BoundConnectionManager'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA'toJNDIname'java:JmsXA'14:21:41,625INFO[ConnectionFactoryBindingService]BoundConnectionManager'jboss.jca:service=DataSourceBinding,name=MySqlDS'toJNDIname'java:MySqlDS'14:21:41,671INFO[TomcatDeployer]deploy,ctxPath=/jmx-console,warUrl=.../deploy/jmx-console.war/14:21:41,796INFO[Http11BaseProtocol]StartingCoyoteHTTP/1.1onhttp-localhost%2F127.0.0.1-808014:21:41,843INFO[ChannelSocket]JK:ajp13listeningonlocalhost/127.0.0.1:800914:21:41,859INFO[JkMain]JkrunningID=0time=0/31config=null14:21:41,859INFO[Server]JBoss(MXMicroKernel)[4.0.4.GA(build:CVSTag=JBoss_4_0_4_GAdate=200605151000)]Startedin9s:406ms=============================================================================================================主要问题是有消息到队列中去了,服务器这边的消息驱动bean没有创建出来,也没有处理。。。

时间: 2024-11-03 19:48:24

EJB不能创建消息驱动bean的相关文章

菜鸟调错(二) 部署EJB的消息驱动Bean时遇到的错误

EJB3.0部署消息驱动Bean抛javax.naming.NameNotFoundException异常 在部署EJB的消息驱动Bean时遇到了如下的错误: ERROR [org.jboss.resource.adapter.jms.inflow.JmsActivation] (WorkManager(2)-2) Unable to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@2705ea(ra=org.j

EJB 3.0开发指南之消息驱动Bean

消息驱动Bean的业务接口已经被定义,对于使用JMS来说那就是MessageListener接口,这个接口定义了OnMessage方法. 实现类必须使用MessageDriven注释.可以实现也可以不实现setMessageDrivenContext和ejbRemove方法. 在JBOSS中,通过ConnectionConfig指定消息的队列的JNDI名称. @ConnectionConfig(destinationType = javax.jms.Queue.class, destinatio

消息驱动bean到底怎么用?

问题描述 "当一个业务执行的时间很长,而执行结果无需实时向用户反馈时,很适合使用消息驱动Bean.如订单成功后给用户发送一封电子邮件或发送一条短信等."如果我有一个执行业务长的,只能电子邮件或短信吗?一般情况servlet查询数据库查出来图表显示如果我现在查数据库或计算的时间很长查完了想在图形显示不就显示不了了?消息驱动Bean只是一个远程bean实例,只能执行一些java方法,比如服务器控制台打印.服务器上的bean要让客户机上的tomcat显示一个图表?好像没办法吧?即使要在客户端

eclipse + JBoss 5 + EJB3开发指南(14):消息驱动Bean

在前面的文章中给出的SessionBean的例子都是同步调用SessionBean方法的,也就是说,只有当方法 中的代码都执行完,才能返回到客户端.但在某些情况下,由于SessionBean方法的执行时间比较长,这 就需要异步地调用该方法,否则客户端就需要等待比较长的时间.要实现异步调用,就需要使用本要讲的 消息驱动Bean.消息驱动Bean的基本原理是客户端向消息服务器发送一条消息后,消息服务器会将该消息 保存在消息队列中.在这时消息服务器中的某个消费者(读取并处理消息的对象)会读取该消息,并

关于消息驱动Bean能否和其他异构系统通讯的问题

问题描述 消息驱动Bean通过Jndi发布和订阅服务.不管是接收和发送都需要通过Jndi.我的问题是.net或者别的平台开发的异构系统能否通过调用Jndi来和我的消息驱动Bean进行消息传送?能否通过TCP协议发送到发布着Jndi机器的某个端口进行通讯?还是别的方式? 解决方案 解决方案二:自己顶上去解决方案三:顶!!我只知道java的

EJB注释-2(EJB学习笔记之消息驱动)

消息驱动Bean消息驱动Bean(MDB)是设计用来专门处理基于消息请求的组件.一个MDB类必须实现MessageListener 接口.当容器检测到bean守候的队列一条消息时,就调用onMessage()方法,将消息作为参数传入.MDB在OnMessage()中决定如何处理该消息.你可以用注释来配置MDB 监听哪一条队列. 消息驱动Bean的服务器 @MessageDriven(activationConfig =...{       @ActivationConfigProperty(pr

深入探讨EJB中新的消息驱动组件

提要:我们可以使用MessageDrivenBean(消息驱动组件),在企业级的应用程序中进行异步的消息传送. 引言:Enterprise JavaBeans(EJB)1.1版本中定义了两种组件类型-session组件和entity组件.客户端对象可以同步调用EJB1.1的这两种组件的方法,然而,为了继承Message Oriented Middleware(MOM,面向对象的中间件)和Java Message Service(JMS,Java消息服务)的优点的需要,EJB框架中也相应的应当加入

用EJB 3.0开发企业级Bean组件初体验

阅读提要 EJB 3.0规范的最终稿已经提交到JCP,如果不出意外EJB3.0将在2006年正式发布.本文作为探讨EJB 3.0公共草案三系列中的第一篇,将解释EJB 3.0和企业Bean组件的基本概念:另外,你还学习到怎样使用JBoss和Maven来开发基于EJB 3.0的企业级bean组件. 尽管EJB 3.0规范还没有正式发行,但是它已经在Java开发社群中引起广泛兴趣--无论是对其拥护者还是其竞争对手.所有人都承认迫切需要找到更有生产效率的软件开发方法:如今,他们的争论集中于在EJB 3

EJB之无状态会话Bean简单应用-学习与实践

客户通过由EJB容器提供的远程和本地接口进行通信 • 访问控制表是用于保证安全其授权能访问特定功能的用户组或个人表. • 持久性是指对象状态永久地存储在数据存储器中,诸如数据库. • 企业 beans的类型: –实体 (Entity) beans 实体beans支持多个会话和多个客户,可分为: Bean - 管理Bean持久性 Container- 管理容器的持久性 –会话 ( Session) beans 会话beans 执行业务任务时没有存储机制,可分为: 有状态会话(Stateful se