应用场景说明:
一个war应用中包含EJB客户端,另一个ear应用提供EJB服务,两者都部署在同一个WildFly实例中。
ear应用中EJB服务的开发略。
war应用中EJB客户端的开发:
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.as.naming.InitialContextFactory");
InitialContext ic = new InitialContext(props);
//war与ear在各自独立的包中
Calculator calculator = (Calculator) ic.lookup("java:global/appName/moduleName/beanName!full-interface-name");
补充1:
//war与ear被打包在一个应用中
Calculator calculator = (Calculator) ic.lookup("java:app/moduleName/beanName!full-interface-name");
补充2:
//一个应用中的ejb模块中的不同组件之间彼此调用
Calculator calculator = (Calculator) ic.lookup("java:module/beanName!full-interface-name");