如何创建使用外部Web服务的捆绑包的多个实例? 外部Web服务要求客户端在使用服务之前登录。我有多个帐户。问题是我希望能够添加多个实例;每个帐户一个。每个实例都是一个osgi声明性服务,它使用外部服务。
我是否必须为每个帐户部署一个新捆绑包?这不是解决这个问题的正确方法。
答案 0 :(得分:4)
您需要的是OSGi组件或服务的多个实例,而不是捆绑包的多个实例。
我建议使用服务工厂,您为服务创建的每个OSGi配置(在您的情况下为您的帐户参数)都会导致创建新的服务实例。
Neil Bartlett在http://njbartlett.name/2010/07/19/factory-components-in-ds.html的教程看起来是一个很好的起点。
答案 1 :(得分:1)
该捆绑是否在您的控制范围内 - 您能重构它吗?
如果是,则公开客户端工厂服务而不是客户端服务本身可能很有用。 然后每个实例都可以登录到其他帐户。