[Seasar-user:20367] Re: InitialContext について
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2010年 11月 26日 (金) 16:30:11 JST
小林 (koichik) です.
Date: Fri, 26 Nov 2010 15:15:16 +0900
From: oh <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:20366] InitialContext について
> javax.naming.NoInitialContextException: Need to specify class name in environment or system property
>
> といった例外で実行できません。
(略)
> S2 で InitialContext を使用するにはどういった設定が必要なのでしょうか。
JNDI の作法通りです。
jndi.properties を用意して
java.naming.factory.initial=org.seasar.extension.j2ee.JndiContextFactory
と書いておくか、
Hashtable<?, ?> env = new Hashtable<Object, Object>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.seasar.extension.j2ee.JndiContextFactory");
InitialContext ctx = new InitialContext(env);
となります。
それより
@Stateless
public class SwitchServiceImpl {
@PersistenceContext(name = "fooEntityManager", unitName = "foo-pu")
EntityManager fooEntityManager;
@PersistenceContext(name = "barEntityManager", unitName = "bar-pu")
EntityManager barEntityManager;
EntityManager getEntityManager() {
if (status) {
return fooEntityManager;
} else {
return barEntityManager;
}
}
}
の方がシンプルだと思いますけど。
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
<property name="twitter">"http://twitter.com/koichik"</property>
</component>
Seasar-user メーリングリストの案内