为什么没有调用Spring / Flex / BlazeDS Messaging服务适配器?

时间:2009-11-05 18:20:56

标签: java flex spring blazeds

我已将服务适配器附加到spring message-destination,如下所示:

<flex:message-destination 
    id="secured-chat" 
    send-security-constraint="trusted" 
    subtopic-separator="." 
    service-adapter="secured-chatAdapter" 
    allow-subtopics="true" />

在bean初始化期间调用init方法,并在发送新消息时收到“调用”消息。

但是,从不调用allowSubcribe和其他方法。这个问题是否有任何常见原因?

2 个答案:

答案 0 :(得分:1)

我发现这些类型的BlazeDS问题很难诊断。我的建议是配置非常详细的日志记录。有关Flex 2 Developer's Guide: Configuring server-side service logging

的详细信息

编辑./WEB-INF/flex/services-congif.xml并将日志记录节点添加/修改为以下内容:

<logging>
    <target class="flex.messaging.log.ServletLogTarget" level="debug">
        <properties>
            <prefix>[BlazeDS] </prefix>
            <includeDate>true</includeDate>
            <includeTime>true</includeTime>
            <includeLevel>true</includeLevel>
            <includeCategory>true</includeCategory>
        </properties>
        <filters>
            <pattern>Endpoint.*</pattern>
            <pattern>Service.*</pattern>
            <pattern>Message.*</pattern>
            <pattern>Message.Command.*</pattern>
            <pattern>MessageSelector</pattern>
            <pattern>Service.Message</pattern>
        </filters>
    </target>
</logging>

您可以从上面的链接添加其他过滤器模式,这可能对您很重要。如果您没有看到罪魁祸首,请在此处发布更多services-config.xml和日志文件,我们会看到我们可以做些什么。

快速警告:它可能会非常冗长。不要在生产服务器上执行此操作!

答案 1 :(得分:0)

问题是消费者没有定义子主题。由于没有订阅子主题,因此未调用子主题特定权限方法。