我在Jboss 4.2.3中部署了EJB3。我现在如何访问它?我没有看到任何JNDI名称或控制台中显示的任何内容。下面是EJB部署的堆栈跟踪。
如何编写客户端以访问ExtractorDAOImpl中的方法?
15:38:48,535 INFO [EARDeployer] Init J2EE application: file:/C:/ejbtest/jboss-4.2.3.GA/server/default/deploy/mytestejb.ear
15:38:48,804 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer
15:38:48,811 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=mytestejb.ear,jar=mytestejb-ejb-1.0-SNAPSHOT.jar,name=ExtractorDAOImpl,service=EJB3 with dependencies:
15:38:48,848 INFO [EJBContainer] STARTED EJB: com.myorg.mytestejb.dao.ExtractorDAOImpl ejbName: ExtractorDAOImpl
15:38:48,889 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer
15:38:48,889 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=mytestejb.ear,jar=mytestejb-ejb-1.0-SNAPSHOT.jar,name=Extractor,service=EJB3 with dependencies:
15:38:48,899 INFO [EJBContainer] STARTED EJB: com.myorg.mytestejb.Extractor ejbName: Extractor
15:38:48,938 INFO [EJB3Deployer] Deployed: file:/C:/ejbtest/jboss-4.2.3.GA/server/default/tmp/deploy/tmp19095mytestejb.ear-contents/mytestejb-ejb-1.0-SNAPSHOT.jar
15:38:48,946 INFO [EARDeployer] Started J2EE application: file:/C:/ejbtest/jboss-4.2.3.GA/server/default/deploy/mytestejb.ear
答案 0 :(得分:1)
我没有在控制台中看到任何JNDI名称或任何内容
在[myServer]:8080 / jmx-console /
1)转到“service = JNDIView”。
2)调用MBean操作:java.lang.String list()
3)它将显示全局JNDI命名空间树,您可以在其中查看与您的ejbs关联的JNDI条目。
你会看到这样的事情:
+ - EarName | + - myEjbName | + - 本地
对于此示例,用于查找本地接口的JNDI名称是“EarName / myEjbName / local”
答案 1 :(得分:0)
JBoss 4.2.x有一个JMX管理Web界面(jmx-console),可以列出所有已部署的EJB及其JNDI名称。
在任何情况下,JBoss 6下面的JBoss版本的标准名称模式都是
EARNAME / EJB-NAME / {本地,远程}
所以在你的情况下可能是:
mytestejb / ExtractorDAOImpl /本地
我不太清楚这里的EJB名称,你必须发布一些代码来展示你如何创建和配置它以及你给它的接口。