Galera o que estou fazendo de errado na minha configuração???
Quero configurar o spring datasource mais esta dando o seguinte erro: java.lang.IllegalArgumentException: No DataSource specified
Vejam como estou fazendo:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>importacao</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/context.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>webapp</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
</web-app>
context.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName" default-lazy-init="false">
<!--
@IMM -> Transaction Manager do spring utiliza o contexto do dataSource.
Transaction manager for a single JDBC DataSource
-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!--
@IMM -> Interceptador do SPRING para propagar transa褯 (DataSource) a todos os metodos.
Transaction Interceptor set up to do PROPAGATION_REQUIRED on all methods
-->
<bean id="matchAllWithPropReq" class="org.springframework.transaction.interceptor.MatchAlwaysTransactionAttributeSource">
<property name="transactionAttribute">
<value>PROPAGATION_REQUIRED</value>
</property>
</bean>
<bean id="matchAllTxInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
<property name="transactionAttributeSource">
<ref bean="matchAllWithPropReq"/>
</property>
</bean>
<bean name="tabelasFretesDAO" class="br.com.persistencia.dao.TabelasFretesDAO" />
</beans>
applicationDB.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName" default-lazy-init="false">
<bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver"/>
<property name="url" value="jdbc:postgresql://192.168.10.227:5432/rodoval_tst"/>
<property name="username" value="postgres"/>
<property name="password" value="panazzolo"/>
</bean>
</beans>
applicationDB-prod.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/Importacao" />
</bean>
</beans>
Meu DAO que estou testando
package br.com.persistencia.dao;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
public class TabelasFretesDAO extends JdbcDaoSupport{
CallableStatement cstmt;
public void teste() throws Exception{
try{
StringBuffer sql = new StringBuffer();
sql.append("SELECT * FROM TABELAS_FRETES");
cstmt = super.getConnection().prepareCall(sql.toString());
ResultSet rs = cstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getInt("oid_tabela_frete"));
}
}catch(Exception e){
throw new Exception(e);
}finally{
cstmt.close();
}
}
}
O que será que está dando de errado para não estar achando o meu DataSource?