[Seasar-user:19941] Re: Jarで実行した場合に[WSSR0013]エラーになる
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2010年 7月 2日 (金) 11:58:16 JST
小林 (koichik) さん
お世話になっております。森田です。
少し長くなりますが、まとめてみました。
batch
├lib
│└共通で使用するjar...
├BatchA.jar
│├META-INF
││ └MANIFEST.MF
│├jp
││└xx
││ └xx
││ └batch
││ ├dao
││ ├dto
││ ├…
││ ├BatchA.class
││ ├BatchB.class
││ ├BatchC.class
│├MessageResources.properties
│├aop.dicon
│├app.dicon
│├batch.dicon
│├env.txt
│├system.properties
│├system_LOCL.properties
│├validators.xml
├BatchB.jar
├BatchC.jar
【BatchA.java】
public static void main(String[] args){
SingletonS2ContainerFactory.setConfigPath("batch.dicon");
SingletonS2ContainerFactory.init();
【batch.dicon】
<components>
<include path="convention.dicon"/>○
<include path="aop.dicon"/>○
<include path="config.dicon"/>○
<include path="j2ee.dicon"/>△
<include path="dxo.dicon" />△
<include path="dao.dicon" />△
<include path="s2mai.dicon"/>△
</components>
○印はJar直下にあり、△印はlibのjarに含まれています。
batch.diconに定義している全てが「見つかりませんでした」で出力されます。
【config.dicon】
<components>
<include path="s2config-core.dicon"/>
<component name="configContainer" class="org.seasar.config.core.container.impl.ConfigContainerImpl" instance="prototype">
<property name="configName">"system"</property>
<initMethod name="loadToBeans"/>
</component>
</components>
※上記を下記のソースに修正すると動きます。
<property name="configName">"system_LOCL"</property>
【convention.dicon】
<components>
<component
class="org.seasar.framework.convention.impl.NamingConventionImpl">
<initMethod name="addRootPackageName">
<arg>
"xx.xx.xxx.xx.manager"
</arg>
</initMethod>
<initMethod name="addRootPackageName">
<arg>
"xx.xx.xxx.xx.manager.batch"
</arg>
</initMethod>
</component>
<component class="org.seasar.framework.convention.impl.PersistenceConventionImpl"/>
</components>
【system.properties】
env=LOCL ※←ここでLOCLを指定
mail.host=null
mail.port=null
jdbc.URL=jdbc:oracle...
jdbc.user=system
jdbc.password=1
mail.reissue.password.from=
db.member.password.salt=xxxx
db.user.password.salt=xxxx
※system_LOCL.propertiesにはmail.host、mail.port等の設定は記述してあります。
※尚、SystemConfig.javaは下記に配置しています。
xx.xx.xxx.xx.manager/config/SystemConfig.java
ENV.txtにはutを指定。
Eclipseでmainを直接実行した場合も、config.diconをsystem_LOCLに書き換えて実行した場合も
「見つかりませんでした」は同様に出力されます。
エラー終了になっていた原因ですが、前回は省略していましたが、「見つかりませんでした」がbatch.diconで定義分出力された
後に下記のようなエラーで落ちていましたが、Eclipseや今回は「見つかりませんでした」の後に正常に処理が続きます。
Exception in thread "main" org.seasar.framework.beans.IllegalPropertyRuntimeException: [ESSR0059]クラス(org.seasar.mai.interceptors.S2MaiInterceptor)のプロパティ(sendMail)の設定に失敗しました。理由はo
rg.seasar.framework.beans.IllegalPropertyRuntimeException: [ESSR0059]クラス(org.seasar.mai.mail.impl.SendMailImpl)のプロパティ(port)の設定に失敗しました。理由はjava.lang.NumberFormatException: For inp
ut string: "null"
at org.seasar.framework.container.assembler.AbstractBindingTypeDef.getValue(AbstractBindingTypeDef.java:297)
at org.seasar.framework.container.assembler.AbstractBindingTypeDef.bindAuto(AbstractBindingTypeDef.java:217)
at org.seasar.framework.container.assembler.BindingTypeShouldDef.doBind(BindingTypeShouldDef.java:58)
at org.seasar.framework.container.assembler.AbstractBindingTypeDef.bind(AbstractBindingTypeDef.java:78)
at org.seasar.framework.container.assembler.AutoPropertyAssembler.assemble(AutoPropertyAssembler.java:68)
at org.seasar.framework.container.deployer.SingletonComponentDeployer.assemble(SingletonComponentDeployer.java:68)
at org.seasar.framework.container.deployer.SingletonComponentDeployer.deploy(SingletonComponentDeployer.java:48)
at org.seasar.framework.container.deployer.SingletonComponentDeployer.init(SingletonComponentDeployer.java:76)
at org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.java:236)
at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:563)
at org.seasar.framework.container.impl.ThreadSafeS2ContainerImpl.init(ThreadSafeS2ContainerImpl.java:172)
at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:560)
at org.seasar.framework.container.impl.ThreadSafeS2ContainerImpl.init(ThreadSafeS2ContainerImpl.java:172)
at org.seasar.framework.container.factory.SingletonS2ContainerFactory.init(SingletonS2ContainerFactory.java:165)
at xx.xx.xxx.xx.manager.batch.BatchAクラス.main(BatchA.java:38) ※SingletonS2ContainerFactory.init();の実行時
Caused by: org.seasar.framework.beans.IllegalPropertyRuntimeException: [ESSR0059]クラス(org.seasar.mai.mail.impl.SendMailImpl)のプロパティ(port)の設定に失敗しました。理由はjava.lang.NumberFormatExcept
ion: For input string: "null"
at org.seasar.framework.beans.impl.PropertyDescImpl.setValue(PropertyDescImpl.java:277)
at org.seasar.framework.container.assembler.AbstractBindingTypeDef.setValue(AbstractBindingTypeDef.java:321)
at org.seasar.framework.container.assembler.AbstractBindingTypeDef.bindManual(AbstractBindingTypeDef.java:127)
at org.seasar.framework.container.assembler.AbstractBindingTypeDef.bind(AbstractBindingTypeDef.java:74)
at org.seasar.framework.container.assembler.AccessTypePropertyDef.bind(AccessTypePropertyDef.java:50)
at org.seasar.framework.container.assembler.AccessTypePropertyDef.bind(AccessTypePropertyDef.java:41)
at org.seasar.framework.container.assembler.AutoPropertyAssembler.assemble(AutoPropertyAssembler.java:56)
at org.seasar.framework.container.deployer.SingletonComponentDeployer.assemble(SingletonComponentDeployer.java:68)
at org.seasar.framework.container.deployer.SingletonComponentDeployer.deploy(SingletonComponentDeployer.java:48)
at org.seasar.framework.container.impl.ComponentDefImpl.getComponent(ComponentDefImpl.java:111)
at org.seasar.framework.container.impl.S2ContainerImpl.getComponent(S2ContainerImpl.java:129)
at org.seasar.framework.container.assembler.AbstractBindingTypeDef.getValue(AbstractBindingTypeDef.java:295)
... 14 more
Caused by: java.lang.NumberFormatException: For input string: "null"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.<init>(Unknown Source)
at org.seasar.framework.util.IntegerConversionUtil.toInteger(IntegerConversionUtil.java:77)
at org.seasar.framework.util.IntegerConversionUtil.toInteger(IntegerConversionUtil.java:59)
at org.seasar.framework.util.IntegerConversionUtil.toInteger(IntegerConversionUtil.java:41)
at org.seasar.framework.util.NumberConversionUtil.convertPrimitiveWrapper(NumberConversionUtil.java:74)
at org.seasar.framework.beans.impl.PropertyDescImpl.convertPrimitiveWrapper(PropertyDescImpl.java:320)
at org.seasar.framework.beans.impl.PropertyDescImpl.convertIfNeed(PropertyDescImpl.java:301)
at org.seasar.framework.beans.impl.PropertyDescImpl.setValue(PropertyDescImpl.java:243)
... 25 more
また、他に足りない情報がありましたら、ご指摘下さい。
よろしくお願いいたします。
--------------------------------------
2010 FIFA World Cup News [Yahoo!Sports/sportsnavi]
http://pr.mail.yahoo.co.jp/southafrica2010/
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20100702/44aac528/attachment.html>
Seasar-user メーリングリストの案内