0

我正在使用 WSO2 ESB 4.0.3。我已经在上面安装了 WSO2 数据服务功能并创建了 DS。

ESB 在管理 UI 下的“配置”选项卡下有一个功能,您可以在其中定义“数据源”。

我的问题是在创建新的数据服务时,我无法使用我在 ESB 中配置的这个“数据源”。我们有不同的环境 DEV / TEST / UAT / PROD。每个环境对于相同的数据服务都有不同的数据库。

目前我已手动更改 DS XML 文件以指向新数据库,然后进行部署。

有没有办法指向在 ESB 中配置的数据库并动态更改 DS 的数据库?

感谢 ABhijit

2012 年 7 月 1 日 - 请问有什么更新吗?这是他们大团队中的 Apple POC。如果成功 WSO2 将有 Apple 实施?

4

2 回答 2

0
#----- Start of the configuration -----

synapse.datasources=TestDS,TestDS1

synapse.datasources.icFactory=com.sun.jndi.rmi.registry.RegistryContextFactory
synapse.datasources.providerPort=2199

#TestDS Configuration
synapse.datasources.TestDS.registry=JNDI
synapse.datasources.TestDS.type=BasicDataSource
synapse.datasources.TestDS.driverClassName=com.mysql.jdbc.Driver
synapse.datasources.TestDS.url=jdbc:mysql://localhost:3306/testDB
synapse.datasources.TestDS.username=dummy_username
synapse.datasources.TestDS.password=dummy_password
synapse.datasources.TestDS.dsName=TestDS
synapse.datasources.TestDS.maxActive=100
synapse.datasources.TestDS.maxIdle=20
synapse.datasources.TestDS.maxWait=10000

#TestDS1 configuration
synapse.datasources.TestDS1.registry=JNDI
synapse.datasources.TestDS1.type=BasicDataSource
synapse.datasources.TestDS1.driverClassName=com.mysql.jdbc.Driver
synapse.datasources.TestDS1.url=jdbc:mysql://localhost:3306/testDB1
synapse.datasources.TestDS1.username=dummy_username
synapse.datasources.TestDS1.password=dummy_password
synapse.datasources.TestDS1.dsName=TestDS1
synapse.datasources.TestDS1.maxActive=100
synapse.datasources.TestDS1.maxIdle=20
synapse.datasources.TestDS1.maxWait=10000

#----- End of the configuration -----
于 2012-07-28T19:54:18.117 回答
0

如果您已将数据服务功能安装到您一直在使用的同一个 ESB 实例中,那么您应该可以使用通过“配置 > 数据源”菜单创建的数据源。因为,当您通过上述选项创建特定数据源时,所有其他已安装的功能(使用数据源)都可以看到它。但是,如果您将 ESB 和 DSS 放在两个框中,假设 ESB 中定义的数据源在 DSS 节点中不可见,除非您将这些节点安装到同一个注册表。但是,此功能也将在下一个即将发布的版本中提供。

但是,我建议您使用以下模式来完成您的要求。我假设您在所有环境 DEV / TEST / UAT / PROD 中都将 DataServices 功能安装到 ESB 中。如果是这样,您可以使用“相同名称”创建数据源(例如:假设您在所有 4 个环境中创建了一个名为“ds1”的数据源)通过指向不同数据库配置的“配置 > 数据源”菜单在这些环境中的每一个中使用。然后您可以指向 DBS(数据服务描述符)内部创建的数据源,如下所示。

<data name="TestDataService">
   <config id="default">
      <property name="carbon_datasource_name">ds1</property>
   </config>
   .....
</data>

完成这些步骤后,无论何时在任何环境中部署数据服务,它都会指向相关数据源,而无需您手动重新配置数据库配置,并且特定于每个环境的相关数据库配置将在以下位置动态加载运行时。

希望以上解释对您有所帮助!

问候, 普拉巴斯

于 2012-07-19T07:37:42.127 回答