[Seasar-user:19938] Re: [Seasar2.4]MessageDrivenBeanからの利用は可能でしょうか?
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2010年 7月 1日 (木) 18:30:25 JST
小林 (koichik) です.
Date: Thu, 1 Jul 2010 17:35:24 +0900
From: 浅野護 <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:19937] [Seasar2.4]MessageDrivenBeanからの利用は可能でしょうか?
> 上記ページのアノテーションを見ると、MessageDrivenBeanがありませんが、やはり対応していないということでしょうか。
していません.
(JMS 限定の) MDB 的な機能は S2JMS
(の S2JMS-Container) で提供しています.
http://s2jms.seasar.org/ja/
http://s2jms.seasar.org/ja/container.html
でも JBossAS5 を使うなら MDB を使う方が
いいかもしれませんね.
Web 側からメッセージを送信する場合には
S2JMS-Core を使うことが出来ます.
http://s2jms.seasar.org/ja/core.html
> 1.JMS受信しMDB起動される側でs2jdbcを利用したい。
> SAStruts + Seasar2.4のWebアプリからJMSにメッセージ送信し、受信側のMDBでs2jdbcを利用したい。
> (出来ればWebアプリ側とServiceクラスを共通で利用したい)
例えばこんなクラスを作って...
public class S2ContainerProvider {
private static S2Container container;
public static synchronized getContainer() {
if (container == null) {
SingletonS2ContainerFactory.init();
container = SingletonS2ContainerFactory.getContainer();
}
return container;
}
}
MDB の @PostConstruct なメソッドで
@MessageDriven
public class Xxx implements MessageListener {
private S2Container container;
@PostConstruct
public void init() {
container = S2ContainerProvider.getContainer();
}
...
}
とかすればよいかと.
> 2.S2EJBUnitを利用したい。
> 「フロント(JMS送信)→MDB起動(非同期処理)」 がテスト出来るかと期待しているのですが、可能でしょうか。
S2EJBUnit というのはありませんが,S2Unit や
S2JUnit4 と S2JMS (Core) を使ってメッセージ
送信はできるはずです.
S2JMS で JBoss (Messaging) を使う場合の
設定例は以下を参照してください.
http://s2jms.seasar.org/ja/config-jboss.html
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内