[Seasar-user:19350] Re: [Ymir][S2Pluggable]定義ファイルの差し替え

YOKOTA Takehiko [E-MAIL ADDRESS DELETED]
2010年 2月 18日 (木) 16:58:09 JST


横田です。

> Mavenにて、無事に目的を果たすことができました。

目的を果たせて良かったです。

また何かあればお気軽に質問して下さいね。よろしくお願いします。


とら さんは書きました:
> お世話様です。田村です。
> 
>> 仮にs2container.diconに間違いがないとすると、TooManyRegistrationRuntimeException
>> エラーが発生します。これはPathResolverのエントリが2つ
> 
> あらためて確認したところ、上記のエラーになりました。
> 何度か確認している最中で、eclipse上と実ファイルにて差異が
> でてしまったのかもしれません。すみません。
> 
>> 開発用のjta.diconが使われ、MavenでWARをビルドする際「mvn package」
>> または「mvn -Pit package」とすると試験用のjta.diconが含まれた試験用の
>> WARが作成され、「mvn -Prelease package」とすると本番用のjta.dkconが
>> 含まれた本番用のWARが作成されます。
> 
> 解決策ありがとうございます。
> Mavenにて、無事に目的を果たすことができました。
> 
> 
> 2010年2月18日14:47 YOKOTA Takehiko <[E-MAIL ADDRESS DELETED]>:
>> 横田です。
>>
>> 定義ファイルの差し替えなんていう機能があるんですね…。知りませんでした。
>>
>> それはさておき、こちらでも試してみましたが、再現させることができませんでした。
>> 具体的には、別のエラーが発生しました。(後述)
>>
>> 田村さんのメールに書かれているエラーをみると、
>>
>>> org.xml.sax.SAXParseException: The content
>>> of element type "components" must match
>>> "(description?,include*,(component|meta|xi:include)*)". at
>>> file:///C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/s2container.dicon(
>>> lineNumber = 43, columnNumber = 14)
>> という出力があるのでおそらくs2container.diconの書式が間違っているのが
>> 原因かと思いますが、添付していただいたs2container.diconには間違いはない
>> ようです。
>>
>> 仮にs2container.diconに間違いがないとすると、TooManyRegistrationRuntimeException
>> エラーが発生します。これはPathResolverのエントリが2つ
>> ・  <component class="org.seasar.cms.pluggable.PluggablePathResolver" />
>> ・  <component class="org.seasar.framework.container.factory.SimplePathResolver">
>> あるためです。
>>
>> 従って、少なくとも現状のYmirでは今のSimplePathResolverはそのままでは
>> 使えないことになります。すみません。
>>
>> なお、Ymirの世界で田村さんのやりたいこと:
>>
>>> 各自ローカルでの開発ではS2JTAを利用し、試験・本番環境ではAP
>>> サーバ(Weblogic10.3)のJTAを利用したい。
>> を実現するには、
>> ・開発用のjta.diconはsrc/main/resources-developに配置する
>> ・試験用のjta.diconはsrc/main/webapp-it/WEB-INF/classesに配置する
>> ・本番用のjta.diconはsrc/main/webapp-release/WEB-INF/classesに配置する
>> として下さい。こうしておくと、ローカルでの開発環境(Eclipse)では
>> 開発用のjta.diconが使われ、MavenでWARをビルドする際「mvn package」
>> または「mvn -Pit package」とすると試験用のjta.diconが含まれた試験用の
>> WARが作成され、「mvn -Prelease package」とすると本番用のjta.dkconが
>> 含まれた本番用のWARが作成されます。
>>
>> 以上よろしくお願いします。
>>
>>
>> とら さんは書きました:
>>> お世話様です。田村です。
>>>
>>> http://s2container.seasar.org/2.4/ja/DIContainer.html#ConfigFileReplacement
>>>
>>> Ymirにて、上記を参考にS2Containerの「定義ファイルの差し替え」
>>> を行おうと設定したのですが、コンテキスト初期化時に下記の例外が
>>> でて起動に失敗しました。
>>>
>>> s2-classbuilderにてdiconファイルの置き換えにて代替することが
>>> できたのですが、S2Containerの「定義ファイルの差し替え」と併用
>>> することは出来ないでしょうか?
>>>
>>> ◆環境
>>> Ymir-1.0.6
>>> Seasar-2.4.40
>>> s2-classbuilder-0.0.12-SNAPSHOT
>>> s2-pluggable-0.0.13
>>>
>>> Tomcat-6.0.24
>>>
>>> ◆ログ
>>> 2010-02-18 13:27:52,031 DEBUG main [Logger#log():231] -
>>> S2Containerを作成します。path=external.dicon
>>> 2010-02-18 13:27:52,062 DEBUG main [Logger#log():231] -
>>> S2Containerを作成しました。path=external.dicon
>>> 2010-02-18 13:27:52,078 DEBUG main [Logger#log():231] -
>>> S2Containerを作成します。path=global.dicon
>>> 2010-02-18 13:27:52,093 DEBUG main [Logger#log():231] -
>>> S2Containerを作成しました。path=global.dicon
>>> 2010/02/18 13:27:52 org.apache.catalina.core.StandardContext listenerStart
>>> 致命的: クラス org.seasar.ymir.servlet.YmirListener のリスナインスタンスにコンテキスト初期化イベントを送信中の例外です
>>> java.lang.ExceptionInInitializerError
>>> at org.seasar.cms.pluggable.impl.PluggableContainerFactoryImpl.createS2Container(PluggableContainerFactoryImpl.java:99)
>>> at org.seasar.cms.pluggable.impl.PluggableContainerFactoryImpl.prepareForContainer(PluggableContainerFactoryImpl.java:93)
>>> at org.seasar.cms.pluggable.SingletonPluggableContainerFactory.prepareForContainer(SingletonPluggableContainerFactory.java:59)
>>> at org.seasar.cms.pluggable.servlet.PluggableListener.contextInitialized(PluggableListener.java:21)
>>> at org.seasar.ymir.servlet.YmirListener.contextInitialized(YmirListener.java:25)
>>> at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
>>> at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
>>> at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>>> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
>>> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
>>> at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
>>> at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
>>> at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
>>> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
>>> at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
>>> at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>>> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>>> at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
>>> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>>> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>>> at org.apache.catalina.core.StandardService.start(StandardService.java:516)
>>> at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>>> at org.apache.catalina.startup.Catalina.start(Catalina.java:593)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
>>> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
>>> Caused by: org.seasar.framework.exception.SAXRuntimeException:
>>> [ESSR0054]SAXで例外が発生しました。理由はorg.xml.sax.SAXParseException: The content
>>> of element type "components" must match
>>> "(description?,include*,(component|meta|xi:include)*)". at
>>> file:///C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/s2container.dicon(
>>> lineNumber = 43, columnNumber = 14)
>>> at org.seasar.framework.util.SAXParserUtil.parse(SAXParserUtil.java:57)
>>> at org.seasar.framework.xml.SaxHandlerParser.parse(SaxHandlerParser.java:117)
>>> at org.seasar.framework.xml.SaxHandlerParser.parse(SaxHandlerParser.java:107)
>>> at org.seasar.framework.container.factory.XmlS2ContainerBuilder.parse(XmlS2ContainerBuilder.java:170)
>>> at org.seasar.framework.container.factory.XmlS2ContainerBuilder.build(XmlS2ContainerBuilder.java:148)
>>> at org.seasar.framework.container.factory.S2ContainerFactory.configure(S2ContainerFactory.java:237)
>>> at org.seasar.framework.container.factory.S2ContainerFactory.configure(S2ContainerFactory.java:215)
>>> at org.seasar.framework.container.factory.S2ContainerFactory.<clinit>(S2ContainerFactory.java:120)
>>> ... 29 more
>>> Caused by: org.xml.sax.SAXParseException: The content of element type
>>> "components" must match
>>> "(description?,include*,(component|meta|xi:include)*)".
>>> at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
>>> at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
>>> at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
>>> at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
>>> at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2017)
>>> at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:901)
>>> at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1774)
>>> at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2930)
>>> at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
>>> at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
>>> at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
>>> at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
>>> at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
>>> at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
>>> at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
>>> at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
>>> at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
>>> at org.seasar.framework.util.SAXParserUtil.parse(SAXParserUtil.java:55)
>>> ... 36 more
>>>
>>> ◆diconファイル
>>> /src/main/resources/s2container.dicon
>>> 内容は添付します。
>>>
>>> ◆やりたいこと
>>> 各自ローカルでの開発ではS2JTAを利用し、試験・本番環境ではAP
>>> サーバ(Weblogic10.3)のJTAを利用したい。
>>>
>>>
>>> 以上、よろしくお願いします。
>>> --
>>> TAMURA Tadayuki mailto:[E-MAIL ADDRESS DELETED]
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>> --
>> YOKOTA Takehiko
>>  [E-MAIL ADDRESS DELETED]
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
> 
> 
> 


-- 
YOKOTA Takehiko
  [E-MAIL ADDRESS DELETED]


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