java - Jndi Spring 问题

标签 java spring datasource jndi jdbctemplate

我正在寻找使用 Spring 和 JNDI 但我在这里找不到问题:

我的Server.xml:

 <Resource name="jdbc/MimsDS"
      auth="Container"
      type="javax.sql.DataSource"
      driverClassName="oracle.jdbc.driver.OracleDriver"
      username="xxx" password="xxx"
      url="jdbc:oracle:thin:@192.168.1.3:1526:mimsdb10"
      maxActive="20" maxIdle="10" maxWait="-1"
      validationQuery="select sysdate from dual"
    />

我的应用程序上下文:

<bean id="dataSource" class="org.springframework.jndi.JndiTemplate">
    <property name="jndiName" value="java:comp/env/jdbc/MimsDS" />
    <property name="resourceRef" value="true" /> 
  </bean>

<bean id="simpleJdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
    <property name="dataSource" ref="dataSource"/> 
</bean>

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource"/>  
</bean>

我收到此错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'calendarDaoImpl' defined in file [/usr/local/apache-tomcat-7.0/webapps/op-calendar/WEB-INF/classes/be/mims/opcalendar/services/CalendarDaoImpl.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: 'dataSource' or 'jdbcTemplate' is required

最佳答案

您应该使用JndiObjectFactoryBean,而不是JndiTemplate

关于java - Jndi Spring 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10600030/

相关文章:

java - TCP 套接字上的 DataOutputStream 死锁

java - Android 中是否有用于将 Cookie 格式化为 CookieManager 值的类?

java - 解决JSP中的并发问题

java - Spring MVC jsp c :if tag doesn't work

java - DataSource.getConnection 方法在数据库重新启动或理想超时后返回已关闭的连接

Java Swing UI改变方法

java - 在 Android 中使用 Cursor 和 distanceTo() 方法查找两点之间的距离

java - 如何验证 Wiremock 服务是否接到一些电话

c# - 使 gridview 数据源保留在界面中而不是向下转换为对象

c# - 如何将 DataSource 转换为 List<T>?