2014-10-27 21 views
1

讓駱駝與jndi一起工作時遇到困難。我正在IBM Websphere內部部署駱駝。 Websphere內部有一個名爲「vzw.ds.commerce」的jdni連接,它被設置爲連接到我想要訪問的數據庫。 下面的作品這條路線:難以讓駱駝使用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狀態=無效,錯誤代碼= 17433

回答

0

我發佈的代碼實際上是正確。我遇到的問題是在Websphere上的設置。 一旦我改變了Websphere的設置,代碼開始工作。