EJB3.0是Java EE平台上企业级Java Bean的一个版本,它简化了分布式应用的开发。消息驱动Bean(Message-Driven Beans,简称MDB)是EJB中一种特殊类型的无状态会话Bean,用于处理异步消息。MDB能够接收来自Java消息服务(JMS)的消息,并对这些消息作出响应。在部署MDB时,可能会遇到一些问题,其中一种常见的异常是`javax.naming.NameNotFoundException`。该异常说明在查找JNDI命名上下文中找不到指定的名称。 在本文中,将详细讲解当部署EJB3.0的消息驱动Bean时,可能会遇到`javax.naming.NameNotFoundException`异常的情况,并提出相应的解决方案。 了解`javax.naming.NameNotFoundException`异常的具体情况是解决问题的前提。当EJB容器尝试根据JNDI名称查找MQ目的地时,如果未能找到,就会抛出该异常。在部署消息驱动Bean时,需要保证消息队列(Queue)已经被正确地创建和绑定到JNDI树上。 根据文档内容,解决该问题的方法可以分为两大类:创建`xxx-service.xml`文件和在`mail-service.xml`文件中添加配置。 在`xxx-service.xml`文件中,需要添加相应的MBean配置。MBean是JMX(Java Management Extensions)架构中的基本管理构件,它允许你通过定义MBean来管理Java EE应用服务器中的资源和组件。通过在`xxx-service.xml`文件中定义MBean,可以确保消息队列被正确创建,并且与依赖的服务关联起来。 示例配置如下: ```xml <server> <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=myqueue"> <attribute name="JNDIName">queue/myqueue</attribute> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> </mbean> </server> ``` 上述配置中定义了一个Queue类型的MBean,并指定了JNDI名称。 另外一种解决方案是在JBoss根目录下的`mail-service.xml`文件中添加Queue对象的配置信息,如下所示: ```xml <mbean code="org.jboss.mq.server.jmx.Queue" name="***.destination:server=Queue,name=myqueue"> <attribute name="JNDIName">queue/myqueue</attribute> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> </mbean> ``` 通过这种方式,同样能够解决查找不到Queue对象的问题。 此外,从文档中的异常堆栈信息中可以得知,消息驱动Bean的注解使用了`@MessageDriven`,并且通过`activationConfig`属性配置了destinationType和destination两个属性,明确指出了消息的目的地类型和目的地名称。这说明配置文件和注解共同决定了MDB能否正确地接收消息。因此,确保注解和配置文件中指定的JNDI名称一致是至关重要的。 如果在部署过程中遇到`NameNotFoundException`异常,那么可能的原因包括但不限于: 1. JNDI名称绑定错误,可能是配置文件中的JNDI名称与实际创建的Queue名称不一致。 2. Queue对象没有被正确创建。 3. 配置文件可能没有被放置在正确的部署目录中。 在本文中,还提到了JBoss不会自动创建一个Queue对象,因此需要开发者手工来配置。这要求开发者不仅要对EJB3.0的部署和配置有所了解,还需要熟悉EJB容器,尤其是JBoss应用服务器的配置机制。 处理`javax.naming.NameNotFoundException`异常的关键在于确保消息队列的正确创建和JNDI名称的正确绑定。开发者需要检查相关的MBean配置,确认MDB的注解和配置文件中的JNDI名称无误,然后重新部署消息驱动Bean。如果问题依旧存在,可能需要检查JBoss服务器的日志,以获取更详细的错误信息。






























- 粉丝: 5
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 电子商务环境下基于ISO27001的企业信息安全管理体系研究.doc
- 2022年WebGIS课程期末考试复习资料.docx
- 项目管理的几点个人体会.docx
- 网络对青少年学生身心健康成长的影响及对策研究样本.doc
- 基于的模拟电子钟单片机课程设计.docx
- (源码)基于Spring Boot和Vue的贪吃蛇对战平台.zip
- 软件系统运维手册.docx
- 如何构建网络环境下的计算机信息安全体系.doc
- 国家开放大学电大《网络营销与策划》机考第二套标准试题及答案.docx
- 计算机图形学实验指导书.doc
- 银行网络安全建设方案书样本.doc
- 巧用Excel确定内含报酬率.doc
- 歌唱比赛评分系统设计(C语言完整版).doc
- 基于网络平台的教育管理流程简介.ppt
- (源码)基于Arduino的LXARDOSCOPE示波器软件.zip
- 健康网络专题知识讲座.pptx


