我无法让Camel与jndi合作。我正在IBM Websphere中部署camel。 在Websphere内部有一个名为“vzw.ds.commerce”的jdni连接,它被设置为连接到我想要访问的数据库。 以下路线有效:
<bean class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close" id="publishDB">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url"
value="jdbc:oracle:thin:@//server.com:2051/mbschema" />
<property name="username" value="username" />
<property name="password" value="password" />
</bean>
<bean id="commerceDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="vzw.ds.commerce" />
</bean>
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route id="timer-to-console" customId="true">
<from uri="timer://foo?fixedRate=true&period=10s" />
<transform>
<simple>30004</simple>
</transform>
<process ref="createSQL" />
<to uri="jdbc:publishDB" />
<process ref="processSQL" />
<to uri="stream:out" />
</route>
</camelContext>
但是,我想使用jndi连接,并且路由中没有连接信息。 当我将行更改为:
我收到错误: java.sql.SQLException:调用DSRA0010E中的无效参数:SQL State = null,错误代码= 17,433
答案 0 :(得分:0)
我发布的代码实际上是正确的。我遇到的问题是Websphere上的设置。 一旦我在Websphere上更改了设置,代码就开始工作了。