【发布时间】:2014-07-23 18:32:48
【问题描述】:
我有一个 Mule 流从 PostgreSQL 数据库中的表中获取数据并将数据转换为 XML 格式并写入文件:
<mule ...>
<spring:bean id="Postgres-jdbcDataSource"
class="org.enhydra.jdbc.standard.StandardDataSource" destroy-method="shutdown">
<spring:property name="driverName" value="org.postgresql.Driver" />
<spring:property name="url"
value="jdbc:postgresql://host:port/schema?user=username&password=password" />
</spring:bean>
<jdbc:connector name="Postgres-jdbcConnector"
dataSource-ref="Postgres-jdbcDataSource" pollingFrequency="60000"
transactionPerMessage="false">
<jdbc:query key="read" value="SELECT * FROM tablename" />
</jdbc:connector>
<file:connector name="file_connector" fileAge="500"
streaming="false" pollingFrequency="60000" />
<flow name="Postgres-flow">
<jdbc:inbound-endpoint queryKey="read"
connector-ref="Postgres-jdbcConnector">
<jdbc:transaction action="ALWAYS_BEGIN" />
<property key="receiveMessageInTransaction" value="true" />
</jdbc:inbound-endpoint>
<custom-transformer name="Postgres-transformer"
class="com.example.transformer.DbToXmlTransformer" ignoreBadInput="false"
encoding="UTF-8" />
<file:outbound-endpoint connector-ref="file_connector"
path="/home/path" outputPattern="file.xml" responseTimeout="10000"
encoding="UTF-8" />
</flow>
</mule>
当我运行此流程时,流程不会从数据库中获取数据并写入文件。它也不会抛出任何错误或异常。但是当我为 MySQL 或 SQLServer 数据库运行相同的流程时,相应地更改 driverName 和 url 属性,流程工作正常。
知道为什么 Postgres 数据库不工作吗?可能它需要不同的 DataSource 类?
【问题讨论】:
标签: postgresql jdbc mule