Usando DataSource do Java e Spring

1 resposta
El11

Bom dia,

Tenho um ficheiro de configuração spring-names.xml onde configurei beans de acesso a dados (como mostra o codigo abaixo). O que acontece eh que quando carrego o contexto do Spring enquanto uma das bases de dados esta em baixo, da sempre erro. Pois cada um destes DAOs acede a bases de dados em maquinas diferentes. Mas, eu defini as configurações de conexao a base de dados na classe ConnectionFactory mais abaixo, onde criei dois metodos para retornarm conexoes de bases de dados diferentes.
Queria saber como elimar o problema de acoplamento da conexao usando o DataSoruce do Java (nao do Spring).

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
	"http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>
	
	
	<bean id="userDAO" class="mz.co.engco.dao.UserDAO">
		
	</bean>
	
	<bean id="ofbizLoader" class="mz.co.engco.jdbcexamples.OfbizLoader">
		
	</bean>
	
	<bean id="driverDAO" class="mz.co.engco.dao.DriverDAO">
		
	</bean>
	
	<bean id="geotabLoader" class="mz.co.engco.jdbcexamples.GeotabLoader">
		
	</bean>
	
	<bean id=datasource class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="">
			
		</property>
		
	</bean>
</beans>
Class ConnectinoFactory
package mz.co.engco.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionFactory {

	private Connection con;
	private String url = "jdbc:mysql://192.168.5.200/ofbiz_celtes";
	private String username = "nnnn";
	private String password = "xxxxxx";

	// creates connection to access obiz_celtes
	public Connection getConnection() {

		try {

			return DriverManager.getConnection(url, username, password);
		}

		catch (SQLException exception) {
			exception.printStackTrace();
			throw new RuntimeException(exception);
		}
	}

	// creates connection to access Geotab Checkmate
	public Connection getConnection2() throws SQLException {

		try {
			Class.forName("net.sourceforge.jtds.jdbc.Driver");
			con = DriverManager
					.getConnection(
							"jdbc:jtds:sqlserver://192.168.2.204/fleetco_test;instance=SQLEXPRESS",
							"nom", "xxxx");
			return con;

		}

		catch (ClassNotFoundException e) {
			e.printStackTrace();
			throw new SQLException(e.getMessage());
		}
	}

}

Abrcs

1 Resposta

Hebert_Coelho

Cara, apaga sua senha! =P

Criado 4 de julho de 2012
Ultima resposta 4 de jul. de 2012
Respostas 1
Participantes 2