[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 メーリングリストの案内