WSO2 ESB特定于环境的配置

时间:2015-06-23 09:57:32

标签: wso2 wso2esb wso2carbon endpoint

我安装了WSO2 ESB实例,并且我试图找出如何根据环境(dev,qa,production)使用动态端点。

我的目标是在所有环境上部署相同的.car文件应用程序(包含所有代码和配置),并自动调整端点配置。

我尝试使用治理注册表(如建议的here)但据我所知,在不同的'部署路径上部署相同的端点也需要创建/部署不同的.car应用程序(使用对适当环境的静态引用修改每个服务,这违反了具有可配置端点的想法)。

哪种方法可以解决在三个环境中部署一个应用程序的问题,而无需对代码进行静态引用并避免使用脚本?

1 个答案:

答案 0 :(得分:0)

您有不同的解决方案:

1)使用ESB嵌入式注册。

ESB的每个实例都具有嵌入式注册表,其中包含环境的端点。您需要在每个环境中使用注册表的CAR应用程序(请注意,所有的连接点都具有相同的路径)。

http://wso2.com/library/articles/2014/03/development-and-deployment-of-c-app-based-artifacts-on-multiple-environments/

https://github.com/sohaniwso2/NewRepoArticle/tree/master/StudentRegistrationProject

2)使用Governance注册表。

治理注册表部署了所有端点(trunk-dev,qa,pro等)。

ESB的每个实例都定义了注册表的远程实例,并安装到环境路径。

一旦安装了端点,对于ESB,您将拥有环境的端点,因此相同的端点在每个环境中都有效。

<remoteInstance url="https://host:port/registry">
   <id>instanceId</id>
   <username>username</username>
   <password>password</password>
</remoteInstance>

<mount path="/_system/governance" overwrite="true"> 
   <instanceId>instanceId</instanceId> 
   <targetPath>/_system/governance/qa</targetPath> 
</mount>

http://wso2.com/library/tutorials/2010/04/sharing-registry-space-across-multiple-product-instances/