- PR -

Tomcat+JTOM(JTA)でUserTransactionがlookupできない

1
投稿者投稿内容
ぼのぼの
会議室デビュー日: 2005/02/23
投稿数: 2
投稿日時: 2005-02-23 03:47
件名の通りlookupできずに困っております。

参考にしたのは下記URLの記事で実装はほぼそのままです。(後編のDAO版)
http://www.stackasterisk.jp/tech/java/jta01_01.jsp
http://www.stackasterisk.jp/tech/java/jta02_01.jsp

環境
tomcat 5.0.28
jotm 2.0.3
java 1.4.2_06
eclipse 3.01

context.xmlはCATALINA_HOME/conf/Catalina/localhost/xxx.xmlとして中身は参考にしたサイトと同様です。
web.xmlも同様でresource-env-refなどが記述してあります。
この状態でDBには繋がるのですが、UserTransactionをlookupするとエラーとなります。
ResourceLinkなどを追記してみたり、servret.xmlに記述を移してみたりいろいろ変えたのですが、完全に煮詰まってしまいました。
どなたか同様の構成でJTAを実装されている方がいらっしゃいましたら、アドバイスなどいただけませんでしょうか。
よろしくお願いします。

以下は出力されたエラーです。
javax.naming.NamingException: javax.naming.NamingException: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: localhost; nested exception is:
java.net.ConnectException: Connection refused: connect]
Caused by: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: localhost; nested exception is:
java.net.ConnectException: Connection refused: connect]
at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:92)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at org.objectweb.carol.jndi.spi.JRMPContext.lookup(JRMPContext.java:169)
at org.objectweb.carol.jndi.spi.JRMPContext.lookup(JRMPContext.java:173)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at org.objectweb.carol.jndi.spi.MultiContext.lookup(MultiContext.java:98)
at org.objectweb.carol.jndi.spi.ContextWrapper.lookup(ContextWrapper.java:113)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at common.DBConnectionPool.lookup(DBConnectionPool.java:56)
at common.DBConnectionPool.getUserTransaction(DBConnectionPool.java:46)
at common.DBTransaction.<init>(DBTransaction.java:18)
at manager.logic.UserUpdate.Update(UserUpdate.java:142)
at manager.Manager.CtrUpdate(Manager.java:331)
at manager.Manager.doAction(Manager.java:147)
at manager.Manager.doPost(Manager.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:121)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.rmi.ConnectException: Connection refused to host: localhost; nested exception is:
java.net.ConnectException: Connection refused: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:567)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:313)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:88)
... 43 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.<init>(Socket.java:309)
at java.net.Socket.<init>(Socket.java:124)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:562)
... 48 more

<End of Cause>
ぼのぼの
会議室デビュー日: 2005/02/23
投稿数: 2
投稿日時: 2005-02-27 22:54
自己レスです。

参考サイトのJTAResourceUtil.Javaにあたるclassを単純に書き直したらアッサリ動作しました。
ハッキリとした理由は分かっていませんが、違いはmethodがstaticかどうかくらいでしょうか。
1

スキルアップ/キャリアアップ(JOB@IT)