繁体   English   中英

SalesForce CloudHub 上的 Mule 连接器 v10.13.0 多次订阅事件

[英]SalesForce Mule connector v10.13.0 on CloudHub subscribing event multiple times

我在 CloudHub 平台上实现了一个 API,在 Mule 4.3.0 运行时部署在 2 个 Worker 上的 Mule 应用程序中。 这个 Mule 应用程序正在使用 subscribe-channel-listener 监听一个 Salesforce 事件,在 Studio 中,我已经让它只在主节点上运行。

<salesforce:sfdc-config 
   name="Salesforce_Config" 
   doc:name="Salesforce Config" 
   doc:id="55f5d9c0-0fa3-4e14-a8fe-6cc6a2c3a09b" >
   <salesforce:oauth-user-pass-connection 
      username="${secure::sf.username}" 
      password="${secure::sf.password}" 
      securityToken="${secure::sf.token}" 
      consumerKey="${secure::sf.consumerKey}" 
      consumerSecret="${secure::sf.consumerSecret}" 
      tokenEndpoint="${secure::sf.tokenEndpoint}"/>
</salesforce:sfdc-config>

<salesforce:subscribe-channel-listener 
   doc:name="Subscribe channel listener" 
   doc:id="e0f47684-d458-46c9-b7c7-13399ca5af39" 
   config-ref="Salesforce_Config" 
   streamingChannel="${sf.streamingChannel}">
   <reconnect />
</salesforce:subscribe-channel-listener>

问题:我们检测到此 Mule Salesforce 连接器在每个工作人员上订阅了事件 2 次。 这不是只发生过一次,我们在几分钟后再次尝试,它再次重复了每个工人的偶数。

当我们在 CloudHub 上运行我们的 API 时,有人可以建议我一个更好的解决方案,以便我们永远不会重复订阅的事件吗?

我遇到了同样的问题并向 Mulesoft 支持提出了支持请求,他们向我建议,对于 salesforce 事件,始终使用一个工人。

我的应用程序也在 CloudHub 上。

更多信息在这里(此链接由支持团队提供给我)- https://docs.mulesoft.com/salesforce-connector/10.14/salesforce-connector-processing-events

明确提到“如果您在 CloudHub 中运行应用程序时使用多个工作人员,则所有工作人员都会接收并处理事件。”

在 Studio 中,我已启用它仅在主节点上运行。

如果问题是两个工作人员都订阅了该事件,那么这应该是预料之中的。 Studio 可以配置为执行模拟单节点集群,但是 CloudHub 不会部署到集群,而是部署到多个独立节点(worker)。 因此 CloudHub 中没有主节点,所有节点都是平等的。 解决方案是像 Anurag Sharma 提到的那样部署到单个节点。

如果您需要完整的解释,MuleSoft 帮助中心有一篇知识库文章(我在写完上面的答案后找到的): https://help.mulesoft.com/s/article/Why-Salesforce-Connector-set-primary-node -for-replay-channel-does-not-work-on-Cloudhub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM