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

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


小林 (koichik)様

大石です。
ご回答誠にありがとうございます。

実は教えていただいた内容をdiconファイルに設定しWASにデプロイしたところ
以下のエラーが発生しており正常にWASのアプリケーションで起動ができず
教えていただいた内容が正しいか確認ができておりません。

*エラー1***********************************************
[07/09/19 13:22:19:456 JST] 00000025 WebExtensionP E   SRVE0026E: [サーブレット・エラー]-[javax.servlet.UnavailableException: SRVE0201E: サーブレット [org.seasar.framework.container.servlet.S2ContainerServlet]: サーブレット・クラスではありません。
	at com.ibm.ws.webcontainer.servlet.ServletWrapper$3.run(ServletWrapper.java:1807)
	at java.security.AccessController.doPrivileged1(Native Method)
	at java.security.AccessController.doPrivileged(AccessController.java:351)
	at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:125)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadServlet(ServletWrapper.java:1775)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:1689)
	at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper(WebExtensionProcessor.java:140)
	at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:846)
	at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.java:573)
	at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:445)
	at com.ibm.ws.webcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:121)
	at com.ibm.ws.webcontainer.VirtualHost.addWebApplication(VirtualHost.java:129)
	at com.ibm.ws.webcontainer.WebContainer.addWebApp(WebContainer.java:939)
	at com.ibm.ws.webcontainer.WebContainer.addWebApplication(WebContainer.java:892)
	at com.ibm.ws.runtime.component.WebContainerImpl.install(WebContainerImpl.java:167)
	at com.ibm.ws.runtime.component.WebContainerImpl.start(WebContainerImpl.java:391)
	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1249)
	at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1067)
	at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:547)
	at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:751)
	at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:913)
	at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2058)
	at com.ibm.ws.runtime.component.ComponentImpl$_AsynchInitializer.run(ComponentImpl.java:304)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
]: {1}
*エラー1 終わり*******************************************

このエラーを回避するために暫定的にwasのデータソースを利用しないようにdiconファイルを修正したところ
一旦はエラー回避できたのですが、今度は以下のエラーが発生しました。

*エラー2***********************************************
[07/09/19 14:25:27:227 JST] 0000002d WebApp        E   SRVE0026E: [サーブレット・エラー]-[Filter [s2filter]: not a filter class]: java.lang.ClassCastException: org.seasar.framework.container.filter.S2ContainerFilter
	at com.ibm.ws.webcontainer.filter.WebAppFilterManager._loadFilter(WebAppFilterManager.java:315)
	at com.ibm.ws.webcontainer.filter.WebAppFilterManager.loadFilter(WebAppFilterManager.java:283)
	at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterInstanceWrapper(WebAppFilterManager.java:153)
	at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChain(WebAppFilterManager.java:201)
	at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.invokeFilters(WebExtensionProcessor.java:255)
	at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:702)
	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.HttpInboundLink.ready(HttpInboundLink.java:288)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
	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)
*エラー2 終わり*******************************************

色々と調べてはいるのですが、有効なエラー回避手段が見つかっておらず、何をやっても上記のエラーが出てしまいます。
何分、Flex2を利用したアプリケーションをWASに載せた実績が無く、
正常に稼動させる手段を模索するのも困難な状態です。

エラー回避の方法がありましたら教えていただけませんでしょうか。
不足している情報がありましたら、回答させていただきます。

【環境】
Seasar2 2.4.10 ←先日は17と記載しましたが10の間違いでした。
S2Dao 1.0.42
S2Flex 1.0.1 
WAS 6.0.2.19
開発環境Tomcat 5.0.28
Eclipse Ver 3.1.1
※参考になればとweb.xmlを添付しております。

以上よろしくお願いいたします。

-----Original Message-----
From: [E-MAIL ADDRESS DELETED] [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Koichi Kobayashi
Sent: Tuesday, September 18, 2007 10:00 PM
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:10622] Re: WAS6.0におけるトランザクションマネージャとデータソースの設定について


小林 (koichik) です.

Date:    Tue, 18 Sep 2007 21:19:22 +0900
From:    Oishi Shingo <[E-MAIL ADDRESS DELETED]>
To:       "'[E-MAIL ADDRESS DELETED]'" <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:10620] WAS6.0におけるトランザクションマネージャとデータソースの設定について

> サンプル等を確認すると以下の記述をするように思っておりますが

トランザクション関連の設定は以下を参照してください.
# WAS6 の記述はありませんが.

http://s2container.seasar.org/2.4/ja/transaction.html

> transactionManagerは以下のように変更する必要があるようにも思っています。
> <component name="TransactionManager" class="javax.transaction.TransactionManager">
> 	
> @[E-MAIL ADDRESS DELETED]()
> </component>

WAS5.1 と同じですね.
この方法で TransactionManager を取得する方法は
IBM のサポート対象外らしいです.
そんなわけで (どんなわけで?),次のバージョン (2.4.18) で
WAS6 の UOW API をサポートするので,トランザクション関連の
設定方法が変わります.
WAS6.0.2.19 以降または 6.1.0.9 以降が必要らしいですが,
もし該当するのであれば SNAPSHOT を提供するので
言ってください.

> しかし、dataSourceについてはどのように記述すればよいか分かりません。

DataSource 関連の設定は以下を参照してください.

http://s2container.seasar.org/2.4/ja/jdbc.html#GenericApplicationServer

    <component name="dataSource"
            class="javax.sql.DataSource">
        @[E-MAIL ADDRESS DELETED]("JNDI名")
    </component>

のようになります.


--
<signature>
   <name>Koichi Kobayashi</name>
   <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>

_______________________________________________
Seasar-user mailing list
[E-MAIL ADDRESS DELETED] https://ml.seasar.org/mailman/listinfo/seasar-user

-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: web.ZIP
型:         application/octet-stream
サイズ:     892 バイト
説明:       無し
URL:        http://ml.seasar.org/archives/seasar-user/attachments/20070920/9d910c0d/attachment-0001.obj 


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