EJB - 使用 JBOSS 7.1.1 服务器在 Eclipse 中运行一个简单的教程示例时出现问题



我刚刚开始研究一个教程示例 fr EJBs: http://eai-course.blogspot.com/2012/10/a-simple-enterprise-javabeans-31.html.它成功地将 Ejb 项目部署在标准/部署文件夹中。当我尝试运行客户端项目时,它没有给我任何错误,但没有向我显示任何输出,它在某种程度上关闭了连接。以下是服务器日志:

10:52:29,953 INFO  [org.jboss.modules] JBoss Modules version 1.1.1.GA
10:52:30,127 INFO  [org.jboss.msc] JBoss MSC version 1.0.2.GA
10:52:30,171 INFO  [org.jboss.as] JBAS015899: JBoss AS 7.1.1.Final "Brontes" starting
10:52:30,826 INFO  [org.xnio] XNIO Version 3.0.3.GA
10:52:30,826 INFO  [org.jboss.as.server] JBAS015888: Creating http management service using socket-binding (management-http)
10:52:30,835 INFO  [org.xnio.nio] XNIO NIO Implementation Version 3.0.3.GA
10:52:30,841 INFO  [org.jboss.remoting] JBoss Remoting version 3.2.3.GA
10:52:30,861 INFO  [org.jboss.as.logging] JBAS011502: Removing bootstrap log handlers
10:52:30,864 INFO  [org.jboss.as.configadmin] (ServerService Thread Pool -- 26) JBAS016200: Activating ConfigAdmin Subsystem
10:52:30,872 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 44) JBAS013101: Activating Security Subsystem
10:52:30,875 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 31) JBAS010280: Activating Infinispan subsystem.
10:52:30,882 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 38) JBAS011800: Activating Naming Subsystem
10:52:30,885 INFO  [org.jboss.as.osgi] (ServerService Thread Pool -- 39) JBAS011940: Activating OSGi Subsystem
10:52:30,886 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 48) JBAS015537: Activating WebServices Extension
10:52:30,891 INFO  [org.jboss.as.security] (MSC service thread 1-13) JBAS013100: Current PicketBox version=4.0.7.Final
10:52:30,933 INFO  [org.jboss.as.connector] (MSC service thread 1-16) JBAS010408: Starting JCA Subsystem (JBoss IronJacamar 1.0.9.Final)
10:52:30,944 INFO  [org.jboss.as.naming] (MSC service thread 1-3) JBAS011802: Starting Naming Service
10:52:30,948 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-10) JBAS015400: Bound mail session [java:jboss/mail/Default]
10:52:30,964 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
10:52:31,033 INFO  [org.jboss.ws.common.management.AbstractServerConfig] (MSC service thread 1-16) JBoss Web Services - Stack CXF Server 4.0.2.GA
10:52:31,055 INFO  [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-11) Starting Coyote HTTP/1.1 on http-localhost-127.0.0.1-8080
10:52:31,257 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]
10:52:31,271 INFO  [org.jboss.as.remoting] (MSC service thread 1-6) JBAS017100: Listening on localhost/127.0.0.1:4447
10:52:31,271 INFO  [org.jboss.as.remoting] (MSC service thread 1-8) JBAS017100: Listening on /127.0.0.1:9999
10:52:31,272 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-2) JBAS015012: Started FileSystemDeploymentService for directory C:JBOSSjboss-as-7.1.1.Finalstandalonedeployments
10:52:31,346 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-8) JBAS015876: Starting deployment of "Ejb-Add.jar"
10:52:31,437 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-4) JNDI bindings for session bean named AddBean in deployment unit deployment "Ejb-Add.jar" are as follows:
    java:global/Ejb-Add/AddBean!ejbs.AddBeanRemote
    java:app/Ejb-Add/AddBean!ejbs.AddBeanRemote
    java:module/AddBean!ejbs.AddBeanRemote
    java:jboss/exported/Ejb-Add/AddBean!ejbs.AddBeanRemote
    java:global/Ejb-Add/AddBean
    java:app/Ejb-Add/AddBean
    java:module/AddBean
10:52:31,526 INFO  [org.jboss.as] (MSC service thread 1-11) JBAS015951: Admin console listening on http://127.0.0.1:9990
10:52:31,527 INFO  [org.jboss.as] (MSC service thread 1-11) JBAS015874: JBoss AS 7.1.1.Final "Brontes" started in 1797ms - Started 172 of 249 services (76 services are passive or on-demand)
10:52:31,670 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "Ejb-Add.jar"
10:52:45,357 INFO  [org.jboss.as.naming] (Remoting "user-pc" task-4) JBAS011806: Channel end notification received, closing channel Channel ID 676e5052 (inbound) of Remoting connection 116a393d to /127.0.0.1:50941

jndi.properties 文件是:

java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory
java.naming.provider.url=remote://localhost:4447
jboss.naming.client.ejb.context=true
#username
java.naming.security.principal=arba
#password
java.naming.security.credentials=kada

使用以下代码将 jboss-ejb-client.properties 文件添加到客户端应用程序的问题已解决:

remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
remote.connections=default
remote.connection.default.host=localhost
remote.connection.default.port = 4447
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false

我做了教程,它工作正常。问题是您用于查找 EJB 的 JNDI 条目名是错误的。

例外说:

无法注册 namejavax.naming.NameNotFoundException:EJB-Add/AddBean!ejbs.添加豆远程

这是真的,因为根据你的服务器日志,正确的绑定名称是Ejb-Add/AddBean!ejbs。AddBeanRemote。

请记住,Java 区分大小写。

最新更新