我有一个调用外部Web服务的Mule应用程序。在调用此Web服务之前,我必须调用会话密钥Web服务来检索会话密钥以发送到orignal目标Web服务。此会话密钥服务每次作为输入使用相同的公司名称参数作为登录,并在每次调用时返回唯一的字符串,该字符串有效10分钟。每个Web服务调用必须使用唯一密钥,并且不能同时使用两个密钥。
所以这些会话密钥不能被任何东西键入,因为只有1次登录,但有1个登录的多个不同的会话密钥。
我一直在寻找Apache Commons Pool,更具体地说 - GenericObjectPool,它不需要每个会话密钥都可以正常工作。
但是我努力以一种很好的方式将它与Mule整合在一起。我已经使用Spring设置了这个,我必须实现的接口要求我将所有的http请求和转换等联系到Java代码中的外部Web服务。但理想情况下我想使用Mules核心传输和变换器。
什么是构建这个的最好方法?
创建一个拦截器?
将传输注入我的自定义代码?
或者有没有更好的方法来进行更适合Mule的简单非键控池?
任何指导意见。
答案 0 :(得分:1)
您可以让您的池对象工厂直接使用Mule传输或通过MuleClient与您的流进行交互。
如果您制作了Spring bean MuleContextAware,您将收到一个MuleContext,您将从中获得一个getClient()
的Mule客户端。