UserTransactionをlookup出来ない問題
kuribara May 18, 2012 1:11 AMJBossAS7.1.0 FinalのEJBを呼び出すJavaの単体のプログラムを作成している
のですが、その中で、UserTransactionがlookup出来ない問題が発生しています。
その原因が分からず、苦戦しております
・lookupする際のJNDI名の指定が悪いのか
・関連するプロパティファイルの設定が悪いのか
・そもそもUserTransactionはlookup出来ないのか
環境
Red Hat Enterprise Linux Server release 5.5 Beta (Tikanga)
JBossAS7.1.0 Final
java version "1.7.0_02"
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) Server VM (build 22.0-b10, mixed mode)
JBossAS7.1.0に添付されている
jboss-client-7.1.0.Final.jarを使って、Remote EJBにアクセスしようとしています。
問題のソース
final Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");
env.put(Context.PROVIDER_URL,"remote://localhost:4447");
env.put(Context.SECURITY_PRINCIPAL, "apuser");
env.put(Context.SECURITY_CREDENTIALS, "apuserpass");
context = new InitialContext(env);
UserTransaction userTransaction = (UserTransaction) context.lookup("java:comp/UserTransaction");
lookupの際、下記の例外が発生する。
jboss.naming.context.java.jboss.exported.comp.UserTransaction
のJNDIが解釈されているようです。
javax.naming.NameNotFoundException: comp/UserTransaction -- service jboss.naming.context.java.jboss.exported.comp.UserTransaction
at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:97)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:177)
at org.jboss.naming.remote.protocol.v1.Protocol$1.handleServerMessage(Protocol.java:124)
at org.jboss.naming.remote.protocol.v1.RemoteNamingServerV1$MessageReciever$1.run(RemoteNamingServerV1.java:70)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
補足事項
Securityについては、add-user.shにて、アプリケーション利用者として、追加済み。
apuser/apuserpass
参考にしたURL
EJB invocations from a remote client using JNDI
https://docs.jboss.org/author/display/AS71/EJB+invocations+from+a+remote+client+using+JNDI
Examples of JNDI mappings in previous releases and how they might look now
https://docs.jboss.org/author/display/AS71/How+do+I+migrate+my+application+from+AS5+or+AS6+to+AS7
UserTransaction
New Namespaces
java:comp/UserTransaction
java:jboss/UserTransaction
どちらもlookup出来ません。
-
jboss-ejb-client.properties.zip 773 bytes
-
jndi.properties.zip 232 bytes