我正在阅读以下网址中有关EJB的示例文档:
http://docs.oracle.com/cd/E11035_01/wls100/ejb30/examples.html#wp1200600
据我所知,在EJB 2.0中,我们在ejb-jar.xml或weblogic-ejb-jar.xml文件的部署描述符中提供JNDI名称。但是在EJB 3.0中,我找不到包含JNDI名称的描述符。
请问您能否建议在哪里提供JNDI和EJB名称,以便客户端可以调用EJB?
我正在阅读以下网址中有关EJB的示例文档:
http://docs.oracle.com/cd/E11035_01/wls100/ejb30/examples.html#wp1200600
据我所知,在EJB 2.0中,我们在ejb-jar.xml或weblogic-ejb-jar.xml文件的部署描述符中提供JNDI名称。但是在EJB 3.0中,我找不到包含JNDI名称的描述符。
请问您能否建议在哪里提供JNDI和EJB名称,以便客户端可以调用EJB?
WebLogic 12(其他服务器可能有所不同)
当使用@EJB注解时,默认情况下容器会为bean分配名称。
@Singleton
@Startup
public class PoolOracleBean {
/** some code **/
}
并且可以通过以下代码访问:
InitialContext initialContext = new InitialContext();
Context context = (Context)initialContext.lookup("java:global/web");
PoolOracleBean pool = (PoolOracleBean)context.lookup("PoolOracleBean");
Connection connection = pool.getConnection();
...
要在控制台中获取所有已注释的@EJB列表:
Environement --> Servers --> "server name" --> View JNDI Tree
有一个java:global节点和一个子节点web