Alguem sabe o que causa essa excepttion de EJB?

14 respostas
R

Caused by: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException : Erro ao conectar no servidor ‘localhost’ porta ‘1527’. Recebida a mensagem: ‘Conexão recusada’.

14 Respostas

A

Verifique se a máquina está correta, tal como porta, usuário, senha esses dados…

R

verifique se o firewall nao esta barrando a porta

abrasss

R

andredecotia, se é essa for a configuração acho que esta certa,

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
	<persistence-unit name="quina" transaction-type="JTA">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<class>br.com.dominio.Sorteios</class>
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
			<property name="hibernate.hbm2ddl.auto" value="update"/>
			<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
			<property name="javax.persistence.jdbc.user" value="quina"/>
			<property name="javax.persistence.jdbc.password" value="quina"/>
			<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/quina"/>
		</properties>
	</persistence-unit>

Sobre firewall nem sei no linux onde configura isso nem sei se tem firewall no ubuntu.

A

Você está usando Windows, né? Caso sim, por favor faça o seguinte teste e veja o que retorna:

No DOS
telnet localhost 1527

R

Não, meu ambiente é linux. E acho que portas acima 1999 para baixo são reservadas do sistema operacional, só não sei onde mudar.

P

A porta 1527 é do derby.

A tua aplicação usa MySql na porta 3306…

R

Ah, mas… o que eu faço ? Desculpe minha falta de conhecimento pmlm, mas vc não me disse nada, continuo sem saber o que fazer !!!

P

O que está a dar erro parece ser outra coisa que não a tua aplicação. Ou pelo menos outra coisa que não a definida nesse xml.

R

é estou achando que dever ser algum xml de config do glassfish mas estou pesquisando…

F

como está a classe que injeta um EntityManager?

R

A classe esta assim

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import br.com.dominio.Sorteios;

@Stateless
public class RepositorioSorteios implements RepositorioSorteiosInterface<Sorteios> {

	@PersistenceContext
	private EntityManager em;

	public void adicionar(Sorteios obj) {
		em.persist(obj);
	}

	public void remover(Sorteios obj) {
		em.remove(em.merge(obj));
	}

	public void alterar(Sorteios obj){
		em.merge(obj);
	}

	public Sorteios buscarPorId(int id){
		Sorteios obj  = em.find(Sorteios.class, id);
		return obj;
	}

	@SuppressWarnings("unchecked")
	public List<Sorteios> buscarTodos(){
		Query query = em.createQuery("SELECT o FROM Sorteios o");
		return query.getResultList();
	}
}
R

Vc já fez uma classe com um método main pra tentar conectar nesse banco?

F

e se fizer assim:

@PersistenceContext(unitName="quina")

dá alguma diferença?

R

Ok. Problema RESOLVIDO. Basta seguir esse tutorial: http://www.albeesonline.com/blog/2008/08/06/creating-and-configuring-a-mysql-datasource-in-glassfish-application-server/
O problema era que eu não configurei o datasource

Criado 1 de março de 2011
Ultima resposta 4 de mar. de 2011
Respostas 14
Participantes 6