无法让Camel使用JNDI进行数据库连接

时间:2014-10-27 16:41:22

标签: jndi

我无法让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&amp;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

1 个答案:

答案 0 :(得分:0)

我发布的代码实际上是正确的。我遇到的问题是Websphere上的设置。 一旦我在Websphere上更改了设置,代码就开始工作了。