【问题标题】:Session variable are wiped out when passing through VM endpoint in Mule ESB ( Uses AMQP)通过 Mule ESB 中的 VM 端点时,会话变量被清除(使用 AMQP)
【发布时间】:2015-01-21 21:12:30
【问题描述】:

我正在使用非常简单的流程,从第一个流程中,我从 AMQP 获取消息(确认模式:Manual)并通过 VM 将其传递给第二个流程,在我使用 AMQP 确认的第二个流程中处理器确认每条消息。

当我们使用 VM 时,传递标记和通道标记都被清除(这对于 AMQP 确认消息处理器是强制性的,如该 url AMQP acknowledgement mule 中所述)。所以我试图将deliver-tag和amqp.channel保存在会话变量中。

我第一次想知道,存储在会话变量中的 Channel 值在通过 VM 时会被删除,但可以看到传递标签。

观察:

  1. 如果我们使用flow-ref,而不是VM。它工作正常。但就我而言,我只需要使用 VM。
  2. amqp.delivery-tag type (java.lang.long) amqp.channel type (com.rabbitmq.client.impl.ChannelN)。

    如果 amqp.channel 的“类型”导致问题。如果是这样,我如何将其保存在会话变量中。请建议。请找到我的配置 xml。

     <flow name="testrabbitmqFlow1" doc:name="testrabbitmqFlow1" >
    <amqp:inbound-endpoint queueName="amqp.test.queue" exchangeDurable="true" queueDurable="true" responseTimeout="1000000"  connector-ref="AMQP_Test"  doc:name="AMQP">
    <amqp:transaction recoverStrategy="REQUEUE" action="ALWAYS_BEGIN"/>
    </amqp:inbound-endpoint>
    <byte-array-to-string-transformer doc:name="Byte Array to String"/>
    <set-session-variable variableName="storedeliveryTag" value="#[flowVars['amqp.delivery-tag']]" doc:name="Session Variable"/>
    <set-session-variable variableName="storeChannel" value="#[flowVars['amqp.channel']]" doc:name="Session Variable"/>
    <vm:outbound-endpoint exchange-pattern="one-way" path="/test" doc:name="VM">
        <vm:transaction action="NONE"/>
    </vm:outbound-endpoint>
    

    有没有人知道如何解决这个问题。

【问题讨论】:

    标签: mule mule-studio mule-el mule-component


    【解决方案1】:

    这永远行不通

    <vm:outbound-endpoint exchange-pattern="one-way" ...
    

    首先,因为模式是单向的,原始线程将结束,并且消息将被放入不同线程池的 seda 队列中。

    然后因为,当您将消息放在 VM、Http 等传输上时,流变量和对象实例会丢失,即使您尝试将它们序列化并将它们发送到另一台主机,也没有任何意义到另一台主机,即:打开一个文件,尝试以某种方式序列化描述符并将其发送到另一台主机,这没有任何意义。

    我的建议是使用 flow-ref 而不是 vm。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多