【发布时间】:2019-09-05 09:27:39
【问题描述】:
我在 WSO2 Micro Integrator 上工作的 WSO2 数据服务 - 在数据服务配置文件中配置的数据服务。现在我想对数据源进行外部配置以更改工作环境(DEV/TST/UAT/PROD)。我怎样才能做到这一点?
版本 WSO2:6.5.0
我已将配置 RDBMS 更改为 Carbon 数据源,并尝试在以下位置配置数据源:
- /conf/datasources.properties
- /conf/datasources/master-datasources.xml
- /conf/datasources/myconf-datasources.xml
但在每种情况下我都有:
DS Fault Message: Error in creating Carbon data source: null
DS Code: UNKNOWN_ERROR
Source Data Service:-
java.lang.NullPointerException
at org.wso2.carbon.dataservices.core.description.config.ConfigFactory.getCarbonDataSourceConfig(ConfigFactory.java:184)
在数据服务配置文件中:
<config id="ONEDB">
<property name="carbon_datasource_name">ONEDS</property>
</config>
datasources.properties 示例:
synapse.datasources=ONEDS
synapse.datasources.icFactory=com.sun.jndi.rmi.registry.RegistryContextFactory
synapse.datasources.providerPort=2199
synapse.datasources.ONEDS.registry=JNDI
synapse.datasources.ONEDS.type=BasicDataSource
synapse.datasources.ONEDS.driverClassName=oracle.jdbc.driver.OracleDriver
synapse.datasources.ONEDS.url=jdbc:oracle:thin:@olddb1.myhost.pl:2033:ONEDEV
synapse.datasources.ONEDS.username=cust_user
synapse.datasources.ONEDS.password=cust_pass
synapse.datasources.ONEDS.dsName=ONEDS
synapse.datasources.ONEDS.maxActive=100
synapse.datasources.ONEDS.maxIdle=20
synapse.datasources.ONEDS.maxWait=10000
如果我改变了,我也一样:
synapse.datasources.ONEDS.registry=Memory
数据服务配置文件中定义的DS工作正常(但它是硬编码配置):
<config id="ONEDB">
<property name="org.wso2.ws.dataservice.user">cust_user</property>
<property name="org.wso2.ws.dataservice.password">cust_pass</property>
<property name="org.wso2.ws.dataservice.protocol">jdbc:oracle:thin:@olddb1.myhost.pl:2033:ONEDEV</property>
<property name="org.wso2.ws.dataservice.driver">oracle.jdbc.driver.OracleDriver</property>
</config>
我希望从定义数据服务中分离配置数据源。
也许有一些方法可以参数化 RDBMS 数据源?
【问题讨论】:
-
您使用的是哪个版本?因为在 WSO2 集成器中最新版本的 DSS 中,您可以直接从控制台本身添加数据源。有关更多详细信息,请查看此文档 docs.wso2.com/display/EI650/…
-
版本:6.5.0。谢谢,但我正在研究 Micro Integrator (nn docker) 而不是 Enterprise Integrator。我没有用户界面。
标签: wso2 wso2dss wso2ei wso2mi