如何在Spring批处理中使用Websphere数据源

时间:2014-06-18 20:51:50

标签: spring-batch

我需要在我的春季批次中使用websphere数据源,

我尝试使用

<bean id="wasdataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="jdbc/testdb" />
        <property name="lookupOnStartup" value="false" />
        <property name="cache" value="true" />
        <property name="proxyInterface" value="javax.sql.DataSource" />
</bean> 
  

SQL state [null];错误代码[0]; DSRA9110E:ResultSet已关闭。嵌套异常是com.ibm.websphere.ce.cm.ObjectClosedException:DSRA9110E:ResultSet已关闭。

另外

<bean id="wasdataSource" class="org.springframework.jdbc.datasource.WebSphereDataSourceAdapter">
        <property name="targetDataSource">
             <bean class="org.springframework.jndi.JndiObjectFactoryBean">
                    <property name="jndiName" value="jdbc/testdb"/>
             </bean>
        </property>
        <property name="lookupOnStartup" value="true" />
        <property name="proxyInterface"  value="javax.sql.DataSource"/>
</bean>
  

指定的'targetDataSource'不是WebSphere WSDataSource:com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource@4f68bc63

1 个答案:

答案 0 :(得分:0)

很抱歉,但我的答案与WebSphere没有直接关系,但我们在Jboss下成功使用了数据源。所以既然你没有具体的答案,我想我可以帮助我的Jboss经验......

我们将数据源定义如下:

<jee:jndi-lookup id="sampleDS" jndi-name="java:jboss/datasources/sampleDS" expected-type="javax.sql.DataSource" lookup-on-startup="false" cache="true" />

它很好用......

要使用jee标记,您必须在xmlns:jee="http://www.springframework.org/schema/jee"声明中加入<beans>,并在http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd加入xsi:schemaLocation

希望它有所帮助。

此致

鲍勃