EJB MDB的JNDI配置详解

需积分: 9 17 下载量 182 浏览量 更新于2024-10-29 收藏 2KB TXT 举报
"EJB MDB JNDI配置信息涵盖了多种服务器环境,如Jboss、WebLogic、J2EESDK(J2EERI)、SilverStream、OC4J以及WAS5,涉及了不同服务器下的JNDI初始上下文工厂类和提供者URL设置。" 在Java企业版(Java EE)中,消息驱动bean(Message-Driven Bean,MDB)是一种特殊的EJB,用于处理Java消息服务(Java Message Service,JMS)中的消息。MDB允许应用程序异步接收和处理消息,提高了系统的可扩展性和解耦性。在部署和运行MDB时,配置JNDI(Java Naming and Directory Interface)是关键步骤,因为它使得EJB能够查找并连接到JMS目的地。 JNDI是一个接口,提供了命名和目录服务,使得对象可以通过名称来查找和绑定。在MDB中,我们需要配置JNDI以定位消息队列或主题,这些是消息的来源和目标。 以下是一些主流应用服务器的JNDI配置示例: 1. WebSphere: - `Context.INITIAL_CONTEXT_FACTORY` 设置为 "com.ibm.websphere.naming.WsnInitialContextFactory" - `Context.PROVIDER_URL` 设置为 "iiop://localhost:900" 2. WebLogic: - `Context.INITIAL_CONTEXT_FACTORY` 设置为 "weblogic.jndi.WLInitialContextFactory" - `Context.PROVIDER_URL` 设置为 "t3://127.0.0.1:7001" 3. J2EESDK (J2EERI): - `Context.INITIAL_CONTEXT_FACTORY` 设置为 "com.sun.jndi.cosnaming.CNCtxFactory" - `Context.PROVIDER_URL` 设置为 "iiop://127.0.0.1:1050" 4. SilverStream: - `Context.INITIAL_CONTEXT_FACTORY` 设置为 "com.sssw.rt.jndi.AgInitCtxFactory" - `Context.PROVIDER_URL` 设置为 "sssw://localhost:80" 5. OC4J: - `Context.INITIAL_CONTEXT_FACTORY` 设置为 "com.evermind.server.rmi.RMIInitialContextFactory" - `Context.PROVIDER_URL` 设置为 "ormi://127.0.0.1/" 6. JBoss: - `java.naming.factory.initial` 设置为 "org.jnp.interfaces.NamingContextFactory" - `java.naming.provider.url` 设置为 "localhost:1099" 7. WAS5: - `Context.INITIAL_CONTEXT_FACTORY` 设置为 "com.ibm.websphere.naming.WsnInitialContextFactory" - `Context.PROVIDER_URL` 设置为 "iiop://localhost:2809" 每个服务器都有其特定的JNDI配置,这涉及到服务器提供的初始上下文工厂类和通信协议。例如,WebSphere和WAS使用IIOP(Internet Inter-ORB Protocol),而WebLogic则使用t3协议。这些配置确保了MDB能正确地与服务器的JNDI服务交互,找到消息队列和主题,从而实现消息的消费。 在实际部署中,MDB的JNDI配置通常会写入到应用服务器的部署描述符(如ejb-jar.xml或application.xml)或者服务器的特定配置文件中。开发者需要根据具体的应用服务器类型和版本调整这些配置,以确保MDB能够正确地查找和使用JMS资源。同时,为了测试和生产环境的迁移,理解并正确配置这些JNDI属性至关重要。