應用場景說明:
一個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");