Spring Mule JDBC数据源连接

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

我有如下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="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月版。