【发布时间】:2012-11-05 23:11:41
【问题描述】:
如何创建使用外部 Web 服务的捆绑包的多个实例? 外部 Web 服务要求客户端在使用服务之前登录。我有多个帐户。问题是我希望能够添加多个实例;每个帐户一个。每个实例都是一个使用外部服务的 osgi 声明式服务。
我必须为每个帐户部署一个新捆绑包吗?感觉这不是解决这个问题的正确方法。
【问题讨论】:
标签: soap client osgi multiple-instances
如何创建使用外部 Web 服务的捆绑包的多个实例? 外部 Web 服务要求客户端在使用服务之前登录。我有多个帐户。问题是我希望能够添加多个实例;每个帐户一个。每个实例都是一个使用外部服务的 osgi 声明式服务。
我必须为每个帐户部署一个新捆绑包吗?感觉这不是解决这个问题的正确方法。
【问题讨论】:
标签: soap client osgi multiple-instances
您需要的是 OSGi 组件或服务的多个实例,而不是捆绑包的多个实例。
我推荐一个服务工厂,您为服务创建的每个 OSGi 配置(在您的情况下为帐户参数)都会导致创建一个新的服务实例。
Neil Bartlett 在http://njbartlett.name/2010/07/19/factory-components-in-ds.html 的教程看起来是一个很好的起点。
【讨论】:
该捆绑包是否在您的控制之下 - 您可以重构它吗?
如果是,那么公开客户端工厂服务而不是客户端服务本身可能会很有用。 然后每个实例都可以登录到不同的帐户。
【讨论】:
getInstance() 方法将为每个帐户创建单独的实例。