私の Flex フロントエンドは、BlazeDS/Tomcat を使用してリアルタイム データを収集しています。
標準のストリーミング amf チャネルでプレーン コンシューマーを使用しています。
<mx:ChannelSet id="channelSet">
<mx:StreamingAMFChannel id="streamingAMF" url="messagebroker/streamingamf/" />
</mx:ChannelSet>
<mx:Consumer id="consumer" channelSet="{channelSet}"
channelConnect="consumer_channelConnectHandler(event)"
channelDisconnect="consumer_channelDisconnectHandler(event)"
message="consumer_messageHandler(event.message)"
fault="consumer_faultHandler(event)"
resubscribeAttempts="-1"
resubscribeInterval="2000"/>
このセットアップは、以下を除くすべてのセットアップで問題なく機能します。目に見える不一致は次のとおりです。
- Windows 2008 サーバー vs Linux 以前の Windows
- Java 1.7.0 対 1.6.0
- Tomcat 7.0 対 6.0
症状は、 consumer.subscribedがtrueに設定されないことです。ただし、consumer.subscribe()が呼び出され、サーバー側で確認されます。
[BlazeDS]13:49:03.922 [DEBUG] [Endpoint.FlexSession] FlexSession created with id '275E7BE0E76EC4C4E8DB08F770BE2846' for an Http-based client connection.
[BlazeDS]13:49:03.922 [INFO] [Endpoint.General] Channel endpoint skydata-streaming-amf received request.
すべてのログ (catalina、stdout、および stderr) を確認しましたが、何が問題なのかについての目に見える手がかりはありませんでした。繰り返しますが、これとまったく同じセットアップが他のすべてのインスタンスで機能します
。何かアイデアはありますか?