少し前に、GlassFishを使用してEJB3.1の埋め込み可能なコンテナAPIを試しました。
今、JBoss 7.1で同じことをしようとしましたが、動作させることができませんでした。私は問題の調査にしばらく時間を費やしましたが、この問題を抱えている他の人だけを見つけ、それに対する答えや例はありませんでした。
私はArquillianを知っています。これは、EJBをテストするための埋め込み可能なコンテナーの必要性を多かれ少なかれ排除しますが、それでも実用的なソリューションに興味があります。
したがって、GlassFishで動作するコードは次のとおりです。
Map<String, Object> params = new HashMap<String, Object>();
//param is needed due to GlassFish bug http://java.net/jira/browse/GLASSFISH-16285
params.put(EJBContainer.APP_NAME, "MyAppName");
EJBContainer container = EJBContainer.createEJBContainer(params);
MyBean instance = (MyBean) container.getContext().lookup("java:global/MyAppName/classes/MyBean");
instance.doSomething("data");
container.close();