在Mule中创建会话密钥池

在Mule中创建会话密钥池,mule,Mule,我有一个调用外部web服务的Mule应用程序。在调用此web服务之前,我必须调用会话密钥web服务来检索要发送到原始目标web服务的会话密钥。此会话密钥服务每次都将相同的公司名称参数作为登录名的输入,并在每次调用时返回一个唯一的字符串,该字符串有效期为10分钟。每次web服务调用都必须使用唯一密钥,并且不能同时使用两个密钥 因此,这些会话密钥不能由任何人设置密钥,因为只有一个登录名,但该登录名有多个不同的会话密钥 我一直在研究ApacheCommons池,更具体地说,就是GenericObjec

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

因此,这些会话密钥不能由任何人设置密钥,因为只有一个登录名,但该登录名有多个不同的会话密钥

我一直在研究ApacheCommons池,更具体地说,就是GenericObjectPool,它不需要为每个会话密钥设置密钥,这很好

但我正在努力以一种好的方式将其与Mule集成。我使用Spring进行了设置,我必须实现的接口要求我将所有http请求和转换等放在Java代码中,以联系外部web服务。但理想情况下,我想使用Mules核心传输和变压器来实现这一点

构建此架构的最佳方式是什么

创建拦截器

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

还是有更好的方法来实现更适合Mule的简单无键池


欢迎提供任何指导。

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


如果您制作了Springbean,您将收到一个消息,从中您将获得一个Mule客户端,其中包含
getClient()

感谢您的回复。我不太明白。我不需要从流中调用java类的方法。实际上是另一种方式:我需要从Java代码中调用Mule端点或转换器来填充会话密钥池,并在密钥过期时更新该池。如果这有意义的话?明白了,回顾了我的答案。谢谢,我实际上一直在读你的书,并且关心如何将我的组件与Mule的内部结构耦合。MuleClient/MuleContextAware是“坏”中最好的吗?