Spring Mule JDBC数据源连接
我有如下mule 3.5 db配置Spring Mule JDBC数据源连接,spring,jdbc,mule,datasource,Spring,Jdbc,Mule,Datasource,我有如下mule 3.5 db配置 <spring:beans> <spring:bean id="pds" name="pds" class="com.mchange.v2.c3p0.ComboPooledDataSource" scope="singleton"> <spring:property name="password" value="pwd"/> <spring:property name="jdbc
<spring:beans>
<spring:bean id="pds" name="pds" class="com.mchange.v2.c3p0.ComboPooledDataSource" scope="singleton">
<spring:property name="password" value="pwd"/>
<spring:property name="jdbcUrl" value="jdbc:postgresql://localhost:5432/postgres"/>
<spring:property name="user" value="user"/>
<spring:property name="driverClass" value="org.postgresql.Driver"/>
</spring:bean>
</spring:beans>
<db:generic-config name="Postgres_Datasource_Configuration" transactionIsolation="READ_COMMITTED" doc:name="Generic Database Configuration" dataSource-ref="pds"/>
我的流量看起来像
<flow name="JDBC-PostgresConfigurationWithDatasource" doc:name="JDBC-OracleConfigurationWithDatasource">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" doc:name="HTTP" path="postgresInboundWithDS"/>
<logger level="INFO" doc:name="Logger"/>
<db:select config-ref="Postgres_Datasource_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[SELECT * FROM employee]]></db:parameterized-query>
</db:select>
<mulexml:object-to-xml-transformer doc:name="Object to XML"/>
<logger level="INFO" doc:name="Logger" message="#[payload]"/>
<logger level="INFO" doc:name="Logger"/>
</flow>
我总是犯这样的错误
元素db:generic config{dataSource ref=pds,name=generic Database Configuration,name=Postgres\u dataSource\u Configuration,transactionIsolation=READ\u COMMITTED}的属性与独占组[driver,url,connectionTimeout,transactionIsolation,usextransactions][dataSource ref]不匹配
我没有得到的是我提到了dataSource ref,但它仍然显示错误是互斥的。
我在oracle connector上也观察到了同样的行为 但当我不使用Springbean数据源时,我能够连接到db 更奇怪的是,当我使用mule 3.4时,它工作得很好。现在,在3.5中,它显示错误
我遗漏了什么吗?根据错误消息,如果您指定了
数据源ref
,那么您就不能指定transactionIsolation
因此,从
db:generic config
中删除transactionIsolation
,我认为如果我在未指定url、用户、pwd之前指定数据源,transactionIsolation可能会被忽略。ThanksI刚进入新的问题区域。C3P0表示无法加载驱动程序类。但我在类路径中有驱动程序类。此外,对于其他通用配置(也是postgres),我能够使用相同的驱动程序类访问数据库。但仅当我使用datasource时,它才会显示此错误。更奇怪的是,我刚刚在oracle上尝试了相同的方法,并且在oracle驱动程序(oracle.jdbc.driver.OracleDriver)上得到了相同的异常,这很奇怪。你能测试以下内容吗:将C3P0JAR放在你部署应用程序的Mule独立服务器的/lib/user
目录中。如果我使用mule esb runtime 3.4创建项目,那么当pom中提到c3p0 jar时,我会在“引用库”部分得到它们。但是当我使用3.5 runtime创建项目时,即使pom中提到了c3p0 jar,我也不会得到它们。只有postgresql jar会出现在“引用库”部分。我正在使用社区版和anypoint studio 7月版。