[Seasar-user:10234] Re: SMART deploy ルートパッケージを複数登録した場合の問題

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 8月 30日 (木) 23:00:30 JST


小林 (koichik) です.

Date:    Thu, 30 Aug 2007 22:11:31 +0900
From:    "溝口" <[E-MAIL ADDRESS DELETED]>
To:       [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:10230] Re: SMART deploy ルートパッケージを複数登録した場合の問題

> ただし、compoentNameを指定するとTooManyRegistrationRuntimeExceptionが
> 出てしまいます。compoentNameを使って処理を組んでしまっていたので、これは
> SMART deployでは、どうしようもないということですね?。
> "daogen__anyService","daogen2__anyService"とかでプレフィックスで呼べるといいなと
> 思います。

どうなるか分かりませんが,ルートパッケージを
jp にして,subApplicationRootPackageName を
blue7 にすると,
"daogen_anyService","daogen2_anyService"
になるような気がします.
他がうまくいかないかもしれませんが.

ともあれ (JW),NamingConventionImpl を拡張して
頑張ればどうにかなるかもしれません.
Seasar2 として標準で対応することは (おそらく)
ないと思います.
問題を複雑にするだけのように思われるので.


> 次に、エラーになったパターンは、こんな感じです。
> package jp.blue7.daogen.service.impl;
> import jp.blue7.daogen.service.AnyService;
> import org.seasar.extension.unit.S2TestCase;
> public class AnyServiceImplTest extends S2TestCase {
> 	private AnyService service;
> 	protected void setUp() throws Exception {
> 		super.setUp();
> 		include("app.dicon");
> 	}
> 	public void testインスタンスを確認する() throws Exception {
> 		assertNotNull(service);
> 	}
> }
> 実験的にS2Unitを使用して動かしてみたときに、エラーを出していました。実際の
> 開発では、複数の複数のルートパッケージを登録しないので問題ないのですが、
> 今回、動作検証をするときにやった環境ではエラーになってしまいました。
> 例外は、java.lang.IllegalArgumentException: Can not set
> jp.blue7.daogen.service.AnyService field
> jp.blue7.daogen.service.impl.AnyServiceImplTest.service to
> jp.blue7.daogen.service.impl.AnyServiceImpl$$EnhancedByS2AOP$$b03be0
> 
> という感じです。

スタックトレースをお願いします.


--
<signature>
   <name>Koichi Kobayashi</name>
   <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>




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