[Seasar-user:17791] 【S2BlazeDS】タイムアウト時におけるメッセージ通知の再接続方法について
Chihiro Fukiage
[E-MAIL ADDRESS DELETED]
2009年 6月 19日 (金) 15:18:36 JST
いつもお世話になっております。
fukiです。
Flex - S2BlazeDS - Java(Seasar2)によるシステムにて、
ブラウザとサーバ間のセッションタイムアウト後に、
サーバ側(Java)からメッセージ通知を行なってもFlex側へ届かない、
という不具合が生じて、対応に難航しております。
※タイムアウト前は正常に動作しております。
※発生ブラウザはInternetExplorer6、7です。
使用しているAMF通信は、以下のいずれでも発生しています。
my-streaming-amf
my-polling-amf
my-amf
現状、Flex側で接続状況を監視し、
S2BlazeDSのmessaging-config.xml等を参照しつつ、
宛先を取得した再接続方法を模索しておりますが難航しております。
タイムアウト時のメッセージ通知用接続の再接続方法について、
ご教示頂けないでしょうか。
----------------
■Flex側抜粋メッセージ受信開始ソース(抜粋)
private function creationCompleteHandler(event:FlexEvent):void
{
// コンシューマ生成.
var c:Consumer = new Consumer();
c.destination = "entry";
// メッセージ受信準備.
c.addEventListener(MessageEvent.MESSAGE, messageHandler);
// メッセージ受信開始.
c.subscribe();
}
----------------
■Java側メッセージ通知部のソース(抜粋)
MessageBroker msgBroker = MessageBroker.getMessageBroker(null);
String clientId = UUIDUtils.createUUID();
AsyncMessage msg = new AsyncMessage();
msg.setDestination(dest);
msg.setClientId(clientId);
msg.setMessageId(UUIDUtils.createUUID());
msg.setTimestamp(System.currentTimeMillis());
msg.setBody(body);
msgBroker.routeMessageToService(msg, null);
----------------
Seasar-user メーリングリストの案内