Datasource - duas aplicações no mesmo Jboss

3 respostas
Claudia.pt

Olá!
Acho que já tinha feito esta pergunta uma vez… mas não consegui encontrar o post.
De qq forma é o seguinte:
Tenho um EJB q acede a uma BD usando datasource

public DataSource getDataSource(){
		
		DataSource ds = null;
		
		try{
			InitialContext ctx = new InitialContext();
			ds = (DataSource) ctx.lookup("java:/MSSQLDS");
			if (ds == null){
				throw new Exception("DataSource lookup was null");
			}
		} catch (NamingException ex){ 
		       System.out.println("NamingException thrown " +ex);   
	    }catch(Exception e){ 
	      System.out.println("Exception thrown " +e); 
	    }
	    
	    return ds;	 
	    
	} //End of method getDataSource()

depois apenas tenho de invocar

c = getDataSource().getConnection();

e no jboss-4.0.2\server\default\ tenho o ficheiro mssql.xml com a seguiinte linha:

<datasources>
  <local-tx-datasource>
    <jndi-name>MSSQLDS</jndi-name>
<connection-url>jdbc:microsoft:sqlserver://CLAUDIA:1433;DatabaseName=aveiro_aguas_2</connection-url>

Agora tenho um novo projecto q tb usa SQL Server mas o servidor e a bd sao diferentes.
Como faço? BAsta acrescentar a entrada correspondente no mssql.xml?

Obrigada,
Cláudia

3 Respostas

danieldestro

Crie um XML para cada Datasource diferente.

afamorim

Vc repete o codigo XML da tag <local-tx-datasource> e muda o jndi-name e na sua aplicação vc tb muda a linha ds = (DataSource) ctx.lookup(“java:/MSSQLDS”) para o nome que vc colocou no xml.

eu uso o postgres em minhas aplicações e em casa chego a ter 6 bancos diferentes.

um bom padrão a se seguir seria colocar o nome do projeto para cada acesso que vc colocar no xml

espero ter ajudado.
8)

Claudia.pt

Afamorim é mesmo como tu disseste!!
Funciona lindamente!
Obrigada
Cláudia

Criado 6 de setembro de 2006
Ultima resposta 21 de set. de 2006
Respostas 3
Participantes 3