[mayaa-user:213] Mayaa + WebLogic 8.1

deu wandering.developer @ gmail.com
2006年 6月 5日 (月) 22:56:33 JST


はじめまして。
Mayaa + WebLogic 8.1 の動作について御相談させて下さい。

[mayaa-user:185]以降の WebLogic9.1 での事例も参考にして
WebLogic 8.1 上に mayaa-1.0.5 の Blank war をデプロイしてみました。

実行環境
Mayaa    1.0.5
WebLogic 8.1 SP5
Java     1.4.2_08
OS       Windows XP Professional

そのままデプロイすると、サーブレット実行時に
java.lang.NoSuchMethodError: org.mozilla.javascript.Context.setWrapFactory が発生、
起動スクリプト(startWebLogic.cmd) CLASSPATH の先頭に rhino-1.6r2.jar を追加したところ
war のデプロイ方法によって挙動が異なります。
(1) 自動デプロイ: 起動、サーブレット実行とも問題なく、Welcome! 画面が表示される
(2) 管理コンソールからデプロイ: 起動時に MayaaServlet のプリロード失敗

自動デプロイの利用は想定していない為、どちらでも動くようになると助かります。
以下、現象を追っているだけですが

(2)起動時のログ
2006/06/05 15:08:37 org.seasar.mayaa.impl.MayaaServlet init
情報: init start
2006/06/05 15:08:44 org.seasar.mayaa.impl.MayaaServlet init
情報: prepareLibraries start
2006/06/05 15:08:44 org.seasar.mayaa.impl.FactoryFactoryImpl marshallFactory
情報: marshall factory: /org.seasar.mayaa.provider.ProviderFactory
2006/06/05 15:08:45
org.seasar.mayaa.impl.builder.library.LibraryManagerImpl buildAll
情報: loaded library - /mayaa.mld - http://mayaa.seasar.org
<2006/06/05 15時08分45秒 JST> <Error> <HTTP> <BEA-101216> <サーブレット "MayaaServlet" は、
Web アプリケーション "mayaa" で、起動時のプリロードに失敗しました。
javax.servlet.ServletException
        at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:985)
        at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:949)
(略)
Caused by: java.lang.IllegalStateException
        at org.seasar.mayaa.impl.builder.library.scanner.WebXMLTaglibSourceScanner.scanWebXml(WebXMLTaglibSourceScanner.java:45)
        at org.seasar.mayaa.impl.builder.library.scanner.WebXMLTaglibSourceScanner.scan(WebXMLTaglibSourceScanner.java:61)
        at org.seasar.mayaa.impl.builder.library.LibraryManagerImpl.buildAll(LibraryManagerImpl.java:149)
        at org.seasar.mayaa.impl.builder.library.LibraryManagerImpl.prepareLibraries(LibraryManagerImpl.java:140)
        at org.seasar.mayaa.impl.MayaaServlet.init(MayaaServlet.java:49)
        at javax.servlet.GenericServlet.init(GenericServlet.java:258)
        at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:1094)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:970)
        ... 21 more

このとき、WebXMLTaglibSourceScanner.scanWebXml() で呼ばれる
org.seasar.mayaa.impl.source.ApplicationSourceDescriptor.exists() 内の
realPath 取得で null が返っています。

また、(1)と(2)は ServletContext.getResource("/WEB-INF") で返る URL が違いました。
(1) file:C:/bea/user_projects/domains/mydomain/myserver/stage/_appsdir_mayaa_war/mayaa.war/WEB-INF
(2) zip:C:/bea/user_projects/domains/mydomain/applications/mayaa.war!/WEB-INF/

org.seasar.mayaa.impl.FactoryFactoryImpl.getBootstrapSource() のコメントに
 // TODO URL(context.getResource)を実体とするSourceDescriptorにする
とありますが、これが実現されれば解決する問題と考えられますでしょうか?
あるいは何か設定に見落としがあるか、御助言、御指摘等頂きたく
よろしくお願い致します。

-- 
deu <wandering.developer at gmail.com>


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