我正在开发一个项目,其中一个要求是使用ssl / tls连接到服务器并订阅消息。我已经设置了一个tls outbound-endpoint,可以连接到服务器。我有一个执行自定义握手的spring bean,其中一部分是从服务器订阅内容。订阅后,我应该异步接收消息,而不必轮询它们。有没有办法在Mule 3.3中做到这一点?谢谢你的帮助。
答案 0 :(得分:-1)
您似乎有一个特定的用例,您无法使用HTTPS。 Mule确实提供了对TCP连接的支持,但我找不到建立安全TCP连接的选项(我相信它将通过SSL)。
您始终可以在java组件中编写自定义端点连接器代码,并使用Quartz调用该java组件(用于轮询)
<flow name="polling-flow" doc:name="polling-flow">
<quartz:inbound-endpoint jobName="polling"
repeatInterval="5000" responseTimeout="10000" doc:name="Quartz">
<quartz:event-generator-job>
<quartz:payload>call-custom-component-to-poll-secure-tcp</quartz:payload>
</quartz:event-generator-job>
</quartz:inbound-endpoint>
<component doc:name="Java" class="com.company.CustomSecureTCPCode"></component>
<!-- do whatever you want to with the payload received from calling the endpoint -->
</flow>
答案 1 :(得分:-1)
我使用石英入站端点并设置端点轮询作业并轮询我的端点。请参阅以下配置:
<flow name="QuartzPollingFlow">
<quartz:inbound-endpoint repeatCount="-1" repeatInterval="1000" jobName="myPoller">
<quartz:endpoint-polling-job>
<quartz:job-endpoint timeout="300" ref="SecureTcpEndpoint"/>
</quartz:endpoint-polling-job>
</quartz:inbound-endpoint>
<flow-ref name="ProcessingFlow"/>
</flow>