ひがやすを技術ブログ

電通国際情報サービスのプログラマ

S2Hibernate-JPA EA2 を試してみる

http://d.hatena.ne.jp/taedium/20060126#p2
S2Hibernate-JPAでSingletonS2ContainerFactoryを使わなければ、いけない理由は、JNDI(org.seasar.extension.j2ee.JndiContextFactory)経由で、S2Containerにアクセスしているためです。JndiContextのソースを見ると分かりますが、ContextからS2ContainerFactory経由で任意に作成されたS2Containerを知るのは容易ではなく、SingletonS2ContainerFactoryを使うことになります。
jndi.propertiesにjava.naming.factory.initial=org.seasar.extension.j2ee.JndiContextFactoryと書いておけば、

Context ctx = new InitialContext();
CustomerMainBean cm = (CustomerMainBean) ctx.lookup("customerMain");

でコンテナに登録されているオブジェクトにアクセスできます。コンポーネントの名前の付け方が、JBossとは違っていますが。