當我與標準@Stateless,@Remote註解來我JBoss AS中部署一個典型的EJB3豆7.1.1我看到下面的JNDI綁定上服務器控制檯輸出:JBoss AS中7.1.1 JNDI綁定
22:31:43,209 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor]
(MSC service thread 1-2) JNDI bindings for session bean named HelloEJB3Bean
in deployment unit deployment "hello.jar" are as follows:
java:global/hello/HelloEJB3Bean!archetypesEjb3.IHelloEJB3
java:app/hello/HelloEJB3Bean!archetypesEjb3.IHelloEJB3
java:module/HelloEJB3Bean!archetypesEjb3.IHelloEJB3
java:jboss/exported/hello/HelloEJB3Bean!archetypesEjb3.IHelloEJB3
java:global/hello/HelloEJB3Bean
java:app/hello/HelloEJB3Bean
java:module/HelloEJB3Bean
但是,我然後找到並使用JNDI ST(使用改編自the JBoss AS 7.1.1 quickstart tutorials代碼)從一個獨立的Java類叫豆以下類型的環:
String jndiName = "ejb:" + appName + "/" + moduleName + "/" + distinctName
+ "/" + beanName + "!" + viewClassName
+ (stateful?"?stateful":"");
(它不屬於上述名稱空間/綁定之一)。
- 爲什麼會提供如此多的JNDI綁定,並且如果我使用其中一個或另一個,會產生多大的差別?
- 有沒有標準的路要走,例如也許使用EJB:/命名空間(因爲這就是出現在上面給出的快速入門教程)
- 爲什麼EJB:/結合(因爲這顯然存在就是我曾經跟我的豆)未報告在JBoss AS 7.1.1輸出中?