[Seasar-user:10654] Re: WAS6.0におけるトランザクションマネージャとデータソースの設定について

Oishi Shingo [E-MAIL ADDRESS DELETED]
2007年 9月 20日 (木) 19:13:18 JST


小林 (koichik)様

大石です。
度々申し訳ありません。

geronimo-j2ee_1.4_spec-1.0.jar と geronimo-ejb_2.1_spec-1.0.jarが必要なかったようで
削除することで起動時のエラーは回避できました。

しかし、URLを叩いてもアプリケーションは起動せず、http://host/context/gatewayにアクセスすると
「Error 500: Filter [s2filter]: filter is unavailable. 」と表示されエラーとなります。

ためしにhttp://host/context/s2servlet?command=listにアクセスすると
「Error 500: SRVE0207E: サーブレットによってスローされた初期化例外がキャッチされませんでした。」
と表示されエラーになりますが
この後に再度アプリケーションにアクセスするとアクセスできるようなり、その後もテーブル書き込み等正常に動いているように見えます。

教えていただきましたjarファイルを確認するといくつかバージョンが異なるものがあり
seasar 2.1.17をダウンロードしてjarのバージョンアップを行おうと思いましたが
私の環境と同じバージョンのjarファイルしかありませんでした。

初めはダメだが、設定を変えていないのに後ほど良くなるという現象に困ってしまいました。
http://host/context/s2servlet?command=listにアクセスすることで何かが初期化されるのではと思うのですが、回避方法が分かりません。
以下の内容で何か分かるようでしたら教えていただけませんでしょうか。

【エラー】
[07/09/20 17:13:34:327 JST] 00000031 ServletWrappe E   SRVE0100E: サーブレットによってスローされた init() 例外が実現されませんでした gateway: org.seasar.framework.exception.EmptyRuntimeException: [ESSR0007]S2Containerはnullあるいは空であってはいけません
	at org.seasar.framework.container.factory.SingletonS2ContainerFactory.getContainer(SingletonS2ContainerFactory.java:103)
	at org.seasar.flex2.rpc.remoting.RemotingGateway.init(RemotingGateway.java:70)
	at javax.servlet.GenericServlet.init(GenericServlet.java:256)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:310)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:560)
	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3146)
	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:250)
	at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:212)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:101)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)

[07/09/20 17:13:34:340 JST] 00000031 WebApp        E   SRVE0026E: [サーブレット・エラー]-[gateway]: org.seasar.framework.exception.EmptyRuntimeException: [ESSR0007]S2Containerはnullあるいは空であってはいけません
	at org.seasar.framework.container.factory.SingletonS2ContainerFactory.getContainer(SingletonS2ContainerFactory.java:103)
	at org.seasar.flex2.rpc.remoting.RemotingGateway.init(RemotingGateway.java:70)
	at javax.servlet.GenericServlet.init(GenericServlet.java:256)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:310)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:560)
	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3146)
	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:250)
	at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:212)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:101)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)

※ここでhttp://host/context/s2servlet?command=listにアクセス

[07/09/20 17:14:08:621 JST] 00000031 ServletWrappe E   SRVE0100E: サーブレットによってスローされた init() 例外が実現されませんでした s2servlet: org.seasar.framework.exception.OgnlRuntimeException: [ESSR0073]OGNLで例外が発生しました。理由はcom.ibm.ws.Transction.TransactionManagerFactory at file:j2ee-oracle.dicon(65)
	at org.seasar.framework.util.OgnlUtil.getValue(OgnlUtil.java:59)
	at org.seasar.framework.container.ognl.OgnlExpression.evaluate(OgnlExpression.java:47)
	at org.seasar.framework.container.assembler.AbstractConstructorAssembler.assembleExpression(AbstractConstructorAssembler.java:64)
	at org.seasar.framework.container.assembler.AbstractConstructorAssembler.assemble(AbstractConstructorAssembler.java:50)
	at org.seasar.framework.container.deployer.SingletonComponentDeployer.assemble(SingletonComponentDeployer.java:59)
	at org.seasar.framework.container.deployer.SingletonComponentDeployer.deploy(SingletonComponentDeployer.java:43)
	at org.seasar.framework.container.impl.ComponentDefImpl.getComponent(ComponentDefImpl.java:98)
	at org.seasar.framework.container.impl.S2ContainerImpl.getComponent(S2ContainerImpl.java:124)
	at org.seasar.framework.container.assembler.AbstractAssembler.getArgs(AbstractAssembler.java:59)
	at org.seasar.framework.container.assembler.AutoConstructorAssembler.doAssemble(AutoConstructorAssembler.java:44)
	at org.seasar.framework.container.assembler.AbstractConstructorAssembler.assemble(AbstractConstructorAssembler.java:55)
	at org.seasar.framework.container.deployer.SingletonComponentDeployer.assemble(SingletonComponentDeployer.java:59)
	at org.seasar.framework.container.deployer.SingletonComponentDeployer.deploy(SingletonComponentDeployer.java:43)
	at org.seasar.framework.container.deployer.SingletonComponentDeployer.init(SingletonComponentDeployer.java:71)
	at org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.java:299)
	at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:499)
	at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:496)
	at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:496)
	at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:496)
	at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:496)
	at org.seasar.framework.container.factory.SingletonS2ContainerFactory.init(SingletonS2ContainerFactory.java:87)
	at org.seasar.framework.container.servlet.SingletonS2ContainerInitializer.initialize(SingletonS2ContainerInitializer.java:50)
	at org.seasar.framework.container.servlet.S2ContainerServlet.initializeContainer(S2ContainerServlet.java:99)
	at org.seasar.framework.container.servlet.S2ContainerServlet.init(S2ContainerServlet.java:92)
	at javax.servlet.GenericServlet.init(GenericServlet.java:256)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:310)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:560)
	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3146)
	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:250)
	at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:212)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:101)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
Caused by: java.lang.ClassNotFoundException: com.ibm.ws.Transction.TransactionManagerFactory
	at java.net.URLClassLoader.findClass(URLClassLoader.java(Compiled Code))
	at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:113)
	at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
	at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
	at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:52)
	at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:48)
	at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:379)
	at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
	at com.ibm.ws.classloader.ReloadableClassLoader.loadClass(ReloadableClassLoader.java:126)
	at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:379)
	at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:260)
	at org.seasar.framework.util.OgnlUtil$ClassResolverImpl.classForName(OgnlUtil.java:106)
	at ognl.OgnlRuntime.classForName(OgnlRuntime.java:635)
	at ognl.OgnlRuntime.callStaticMethod(OgnlRuntime.java:803)
	at ognl.ASTStaticMethod.getValueBody(ASTStaticMethod.java:67)
	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
	at ognl.SimpleNode.getValue(SimpleNode.java:210)
	at ognl.Ognl.getValue(Ognl.java:333)
	at ognl.Ognl.getValue(Ognl.java:310)
	at org.seasar.framework.util.OgnlUtil.getValue(OgnlUtil.java:54)
	... 39 more

[07/09/20 17:14:08:624 JST] 00000031 WebApp        E   SRVE0026E: [サーブレット・エラー]-[s2servlet]: org.seasar.framework.exception.OgnlRuntimeException: [ESSR0073]OGNLで例外が発生しました。理由はcom.ibm.ws.Transction.TransactionManagerFactory at file:/j2ee-oracle.dicon(65)
	at org.seasar.framework.util.OgnlUtil.getValue(OgnlUtil.java:59)
	at org.seasar.framework.container.ognl.OgnlExpression.evaluate(OgnlExpression.java:47)
	at org.seasar.framework.container.assembler.AbstractConstructorAssembler.assembleExpression(AbstractConstructorAssembler.java:64)
	at org.seasar.framework.container.assembler.AbstractConstructorAssembler.assemble(AbstractConstructorAssembler.java:50)
	at org.seasar.framework.container.deployer.SingletonComponentDeployer.assemble(SingletonComponentDeployer.java:59)
	at org.seasar.framework.container.deployer.SingletonComponentDeployer.deploy(SingletonComponentDeployer.java:43)
	at org.seasar.framework.container.impl.ComponentDefImpl.getComponent(ComponentDefImpl.java:98)
	at org.seasar.framework.container.impl.S2ContainerImpl.getComponent(S2ContainerImpl.java:124)
	at org.seasar.framework.container.assembler.AbstractAssembler.getArgs(AbstractAssembler.java:59)
	at org.seasar.framework.container.assembler.AutoConstructorAssembler.doAssemble(AutoConstructorAssembler.java:44)
	at org.seasar.framework.container.assembler.AbstractConstructorAssembler.assemble(AbstractConstructorAssembler.java:55)
	at org.seasar.framework.container.deployer.SingletonComponentDeployer.assemble(SingletonComponentDeployer.java:59)
	at org.seasar.framework.container.deployer.SingletonComponentDeployer.deploy(SingletonComponentDeployer.java:43)
	at org.seasar.framework.container.deployer.SingletonComponentDeployer.init(SingletonComponentDeployer.java:71)
	at org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.java:299)
	at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:499)
	at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:496)
	at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:496)
	at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:496)
	at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:496)
	at org.seasar.framework.container.factory.SingletonS2ContainerFactory.init(SingletonS2ContainerFactory.java:87)
	at org.seasar.framework.container.servlet.SingletonS2ContainerInitializer.initialize(SingletonS2ContainerInitializer.java:50)
	at org.seasar.framework.container.servlet.S2ContainerServlet.initializeContainer(S2ContainerServlet.java:99)
	at org.seasar.framework.container.servlet.S2ContainerServlet.init(S2ContainerServlet.java:92)
	at javax.servlet.GenericServlet.init(GenericServlet.java:256)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:310)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:560)
	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3146)
	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:250)
	at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:212)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:101)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
Caused by: java.lang.ClassNotFoundException: com.ibm.ws.Transction.TransactionManagerFactory
	at java.net.URLClassLoader.findClass(URLClassLoader.java(Compiled Code))
	at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:113)
	at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
	at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
	at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:52)
	at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:48)
	at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:379)
	at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
	at com.ibm.ws.classloader.ReloadableClassLoader.loadClass(ReloadableClassLoader.java:126)
	at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:379)
	at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:260)
	at org.seasar.framework.util.OgnlUtil$ClassResolverImpl.classForName(OgnlUtil.java:106)
	at ognl.OgnlRuntime.classForName(OgnlRuntime.java:635)
	at ognl.OgnlRuntime.callStaticMethod(OgnlRuntime.java:803)
	at ognl.ASTStaticMethod.getValueBody(ASTStaticMethod.java:67)
	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
	at ognl.SimpleNode.getValue(SimpleNode.java:210)
	at ognl.Ognl.getValue(Ognl.java:333)
	at ognl.Ognl.getValue(Ognl.java:310)
	at org.seasar.framework.util.OgnlUtil.getValue(OgnlUtil.java:54)
	... 39 more

[07/09/20 17:14:46:873 JST] 00000031 PmiRegistry   W   PMON0023W: 重複名のため PMI モジュールを登録できません: s2servlet
[07/09/20 17:14:46:875 JST] 00000031 ServletWrappe A   SRVE0242I: [s2servlet]: 初期化が正常に行われました。
[07/09/20 17:14:59:680 JST] 00000032 PmiRegistry   W   PMON0023W: 重複名のため PMI モジュールを登録できません: gateway
[07/09/20 17:14:59:683 JST] 00000032 ServletWrappe A   SRVE0242I: [gateway]: 初期化が正常に行われました。
※ここから正常にアクセス可能


【jarファイル一覧】
S2-Framework系
	正しいjar				私の環境のjar
------------------------------------------------------------
	lib/aopalliance-1.0.jar 			○	同じもの
	lib/commons-logging-1.1.jar 		○	同じもの
	lib/javassist-3.4.ga.jar 			○	同じもの
	lib/ognl-2.6.9-patch-20070624.jar 	×	ognl-2.6.7.jar
	lib/s2-framework-2.x.x.jar 		○	同じもの
	lib/geronimo-j2ee_1.4_spec-1.0.jar 	必要なし 
	lib/portlet-api-1.0.jar (オプション)		○	同じもの
	lib/log4j-1.2.13.jar (オプション) 		○	同じもの

S2-Extension系
	正しいjar				私の環境のjar
------------------------------------------------------------
	lib/junit-3.8.2.jar 			○	同じもの
	lib/poi-3.0-FINAL.jar 			×	poi-2.5.1-final-20040804.jar
	lib/s2-extension-2.x.x.jar 		○	同じもの
	lib/geronimo-jta_1.1_spec-1.0.jar		×	 geronimo-jta_1.0.1B_spec-1.0.jar
	lib/geronimo-ejb_2.1_spec-1.0.jar 		必要なし 
	resources/jdbc.dicon 

他に私の環境に配置しているjar
	derby-10.1.2.1.jar
	h2-1.0.20061103.jar
	junit-addons-1.4.jar
	s2-dao-1.0.42.jar
	s2-flex2-1.0.1.jar


【環境】
Seasar2 2.4.10 
S2Dao 1.0.42
S2Flex 1.0.1 
WAS 6.0.2.19
開発環境Tomcat 5.0.28
Eclipse Ver 3.1.1



Seasar-user メーリングリストの案内