GARANTIR DESCONTO

Fórum Erro em deploy em JBoss-5.1.0.GA. #12537

03/12/2009

0

Boa noite,   Estou com problemas para realizar um deploy de uma aplicação usando JPA + EJB. O JBoss mostra a seguinte mensagem: DEPLOYMENTS MISSING DEPENDENCIES: Deployment "jboss.j2ee:ear=BlueEAR.ear,jar=BlueSN.jar,name=PessoaBean,service=EJB3" is missing the following dependencies: Dependency "" (should be in state "Described", but is actually in state "** UNRESOLVED Demands 'persistence.unit:unitName=BlueEAR.ear/BlueSN.jar#BlueSN' **") Deployment "jboss.j2ee:ear=BlueEAR.ear,jar=BlueSN.jar,name=PessoaBean,service=EJB3_endpoint" is missing the following dependencies: Dependency "jboss.j2ee:ear=BlueEAR.ear,jar=BlueSN.jar,name=PessoaBean,service=EJB3" (should be in state "Configured", but is actually in state "PreInstall") Deployment "persistence.unit:unitName=BlueEAR.ear/BlueSN.jar#BlueSN" is missing the following dependencies: Dependency "jboss.jca:name=BlueSnDS,service=DataSourceBinding" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.jca:name=BlueSnDS,service=DataSourceBinding' **") DEPLOYMENTS IN ERROR: Deployment "" is in error due to the following reason(s): ** UNRESOLVED Demands 'persistence.unit:unitName=BlueEAR.ear/BlueSN.jar#BlueSN' ** Deployment "jboss.jca:name=BlueSnDS,service=DataSourceBinding" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.jca:name=BlueSnDS,service=DataSourceBinding' ** Alguém sabe dizer o que é isto ? Já chequei o DS, tirei qualquer lib que possa estar repetida (como as do Hibernate), não estou vendo soluções em foruns que se adequem ao meu caso. Abraços,
Leonardo

Leonardo

Responder

Posts

04/12/2009

Henrique Weissmann

Olá Leandro,

também nunca havia visto este erro, sendo assim, comecei a fazer algumas pesquisas para encontrar uma possível causa para o seu problema.

1. Por acaso é um EJB que referencia a si mesmo? Se for este o caso, dê uma olhada neste link:
https://jira.jboss.org/jira/browse/JBAS-6122
No caso, pode ser isto por causa da seguinte linha no seu stacktrace:
Dependency "jboss.j2ee:ear=BlueEAR.ear,jar=BlueSN.jar,name=PessoaBean,service=EJB3" (should be in state "Configured", but is actually in state "PreInstall")

2. Problema no próprio JDK/JRE.
Nesta situação, experimente usar outra versão do JDK ou JRE para executar o JBoss

3. Jar ausente:
Tem certeza de que todos os jars estão presentes na sua aplicação?

4. Bug no próprio JBoss.
Já tentou usar alguma outra versão do JBoss para fazer o seu deploy?
Responder

Gostei + 0

04/12/2009

Leonardo

Henrique,

quando chegar em casa, vou testar estas possibilidades, mas no link que você passou já dá uma boa pista. Essas duas respostas me chamaram atenção:

Alexei Akimov - 26/Mar/09 08:25 AM

This issue is a special case of more general problem. JBoss AS 5 cannot deploy EJB3 beans which have circular dependencies. For example, let bean A has ejb-ref to bean B and bean B has ejb-ref to A. Even if both references are specified in deployment descriptor and injection is not used, deployer refuses to deploy application with similar message stating that A is waiting for B and B is waiting for A. So using getBusinessObject methed cannot be a workaround in such a case.

My suggestion is to reopen issue or to open a new one.

Mirek Sz - 12/Nov/09 02:27 AM I still have the same problem


JBoss AS 5 cannot deploy EJB3 beans which have circular dependencies. For example, let bean A has ejb-ref to bean B and bean B has ejb-ref to A. Even if both references are specified in deployment descriptor and injection is not used, deployer refuses to deploy application with similar message stating that A is waiting for B and B is waiting for A.
A aplicação em questão tem uma entity chamada Pessoa que tem um auto relacionamento de 1:N implementado em JPA. A idéia é algo tipo rede de conhecimento (como orkut). Uma pessoa conhece várias pessoas. O código é este:

Entity
@Table(name="pessoas")
public class Pessoa implements Serializable {
....
@OneToMany(targetEntity=Pessoa.class)
    @JoinTable(name="conhecidos",
            joinColumns={@JoinColumn(name="id_pessoa")},
            inverseJoinColumns={@JoinColumn(name="id_conhecido")})
    private Set<Pessoa> conhecidos
....
    @OneToMany
    @JoinColumn(name="id_pessoa")
    private Set<Proxima> proximas;
....
}

Há uma outra questão que se encaixa na descrição dos comentários acima. A classe Proxima tem uma referencia para a classe Pessoa. Trata-se da lista de pessoas que estiveram próximas em uma determinada data, não importando se é conhecida ou não.

public class Proxima implements Serializable {
...
@ManyToOne
    @JoinColumn(name="id_proxima")
    private Pessoa proxima;
   
    private Date data;
....
}

Em termos de OO, me parece que a prática está correta. Será que o JBosss não suporta mesmo ?

Abs,
Responder

Gostei + 0

04/12/2009

Henrique Weissmann

Leonardo,

em tese, o JBoss deveria suportar. No entanto, como mencionei, também nunca havia viso este erro.

precisando de qualquer coisa, estamos à sua disposição.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar