0

我有一个调用外部 Web 服务的 Mule 应用程序。在调用此 Web 服务之前,我必须调用会话密钥 Web 服务来检索会话密钥以发送到原始目标 Web 服务。此会话密钥服务每次将相同的公司名称参数作为登录名作为输入,并在每次调用时返回一个唯一的字符串,有效期为 10 分钟。每个 Web 服务调用必须使用唯一的密钥,并且不能同时使用两个。

所以这些会话密钥不能被任何东西键入,因为只有 1 次登录,但该 1 次登录有多个不同的会话密钥。

为此,我一直在研究 Apache Commons Pool,更具体地说 - GenericObjectPool 不需要每个会话密钥都被键入,效果很好。

但我正在努力以一种很好的方式将它与 Mule 整合在一起。我已经使用 Spring 进行了设置,并且我必须实现的接口要求我将所有的 http 请求和转换等用于联系 Java 代码中的外部 Web 服务。但理想情况下,我想为此使用 Mules 核心传输和变压器。

构建这个的最佳方法是什么?

创建拦截器?

将传输注入我的自定义代码?

或者有没有更好的方法来做更适合 Mule 的简单非键池化?

任何指导表示赞赏。

4

1 回答 1

1

您可以让您的池对象工厂直接使用 Mule 传输或通过MuleClient与您的流交互。

如果您制作 Spring bean MuleContextAware,您将收到一个MuleContext,从中您将获得一个带有getClient().

于 2013-05-15T21:32:04.447 回答