[Seasar-user:21612] s2jdbc-genでの複数データソース環境のエンティティの生成
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2013年 4月 26日 (金) 13:51:27 JST
はじめまして。鷹野といいます。
SAStruts + S2JDBCで複数データソースを動的に振り分ける構成としたく、
s2jdbc-genによりentity/serviceソースを自動作成しようとしているのですが、
以下のようなエラーとなり、うまくいきません。
※以下のs2jdbc-gen-build.xmlの281行目は「<target name="gen-entity"><gen-
entity>」記述部分です。
※s2jdbc-genは 「s2jdbc-gen-2.4.45.jar」を使用しています。
[エラー内容]
s2jdbc-gen-build.xml:281: Exception in thread "main"
org.seasar.framework.exception.EmptyRuntimeException: [ESSR0007]
dataSourceNameはnullあるいは空であってはいけません
at
org.seasar.extension.datasource.impl.SelectableDataSourceProxy.getDataS
ource(SelectableDataSourceProxy.java:65)
at
org.seasar.extension.datasource.impl.SelectableDataSourceProxy.getConn
ection(SelectableDataSourceProxy.java:82)
at org.seasar.extension.jdbc.util.DataSourceUtil.getConnection
(DataSourceUtil.java:51)
at
org.seasar.extension.jdbc.gen.internal.command.AbstractCommand.getRdb
msName(AbstractCommand.java:232)
at
org.seasar.extension.jdbc.gen.internal.command.AbstractCommand.logRdb
msAndGenDialect(AbstractCommand.java:222)
at
org.seasar.extension.jdbc.gen.internal.command.GenerateEntityCommand.
doInit(GenerateEntityCommand.java:686)
at
org.seasar.extension.jdbc.gen.internal.command.AbstractCommand.init
(AbstractCommand.java:203)
at
org.seasar.extension.jdbc.gen.internal.command.AbstractCommand.execut
e(AbstractCommand.java:160)
at
org.seasar.extension.jdbc.gen.internal.command.CommandInvokerImpl.inv
oke(CommandInvokerImpl.java:29)
at
org.seasar.extension.jdbc.gen.command.CommandAdapter.main
(CommandAdapter.java:61)
具体的な構成としては、独自の構成のDB1および同じ構成のDB2/DB3の3つのデータソース
が
あり、DB1は単一の「jdbcManager1」を使用し、DB2/DB3は「jdbcManager2」を共有して
動的に切り替える構成にしたいと考えており、以下のサイトを参考にしながら
jdbc.dicon類とs2jdbc.dicon類を作成しました。
※DB1側のentity/serviceの生成は成功しました。
[参考にしたサイト]
http://s2container.seasar.org/2.4/ja/jdbc.html
http://s2container.seasar.org/2.4/ja/s2jdbc_other.html
エラーの内容を見ると、共有利用しようとしている「jdbcManager2」で
複数設定されているデータソースのどちらを使用するかわからないということのように
思いますが、「s2jdbc-gen-build.xml」へのデータソース指定方法があるものか
確認してみましたが、見た感じそのような設定は無いように見えます。
[確認したサイト]
http://s2container.seasar.org/2.4/ja/s2jdbc_gen/tasks/gen_entity.html
こういった構成では、s2jdbc-genによる自動生成はできないのでしょうか。
Seasar-user メーリングリストの案内