Flex BlazeDS消费者未订阅



我的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服务器与Linux或更早的Windows
  • Java 1.7.0与1.6.0
  • Tomcat 7.0与6.0

症状是consumer.subscribed从未设置为true,尽管consumer.subscript()被调用,并在服务器端看到:

[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),但没有任何明显的错误线索。同样,这种完全相同的设置适用于所有其他实例

有什么想法吗?

问题来自Tomcat 7.0恢复到Tomcat 6.0,并立即修复

这里有一个黑客可以修复BlazeDS w/Tomcat7。

检查使用者的连接属性一次。如果可能的话,还可以发布通道集配置。

我一直在使用Tomcat7,没有发现任何问题,而是使用它,因为它基于Servlet 3.0规范,可能支持多个客户端。我在这里找到的。

相关内容

  • 没有找到相关文章

最新更新