SessionBean + mySQL

4 respostas
luizfar

Como fazer a ejb-class acessar um banco de dados mySQL? Uso o driver? Mas aí como colocar o driver no classpath do ejb ao fazer o deploy?

Existe alguma outra maneira, não existe? E aí inclusive tem que modificar os jboss.xml ejb-jar.xml, como eles ficam com a modificação?

Obrigado :slight_smile:

4 Respostas

passos

Joga o jar no diretorio -> \server\default\lib

Datasources no JBoss

luizfar

Opa, valeu Passos!
Na verdade eu tava vindo postar que tinha conseguido e vi sua resposta ^^

Pesqusei um pouco melhor em arquivos dos sites do JBoss e MySQL. Acabei achando.

Colocar o driver no \server\default\lib, fazer o mysql-ds.xml, adicionar as configurações no jboss.xml e ejb-jar.xml.

Só pra ver se eu entendi bem. Quando você faz

InitialContext ctx = new InitialContext();
DataSource source = (DataSource) ctx.lookup("java:/DBName");
Connection con = source.getConnection();

você especifica o contexto onde o EJB está, a partir dali o container (através dos xml de configuração) sabe qual o endereço do banco de dados e realiza a conexão, né?

Na verdade então isso só deixa por conta do JBoss todo aquele negócio de Class.forName… DriverMnager.getConnection… etc…
Ou há melhora de performance ou algo do tipo ou eu não entendi nada?

Abraços, obrigado :slight_smile:

passos

E isso ae… vc deixa a responsabilidade pro container de gerenciar o banco de dados suas instancias e suas transações.

O ganho que se tem e de nao precisar abrir conexões e sim pega-las do container. Quando vc inicia a aplicação ela ja abrir um determinado numero de conexões (configuraveis) e elas ficam a sua disposição.

luizfar

valeu passos :slight_smile:

Criado 20 de julho de 2005
Ultima resposta 21 de jul. de 2005
Respostas 4
Participantes 2