Seam + EJB 3.0, DI ???  XML
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Autor Mensagem
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

maurenginaldo wrote:


Isso ocorre no deploy?

"Antes da iluminação cortar lenha, carregar água. Depois da iluminação cortar lenha, carregar água..."
maurenginaldo
JavaEvangelist
[Avatar]

Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline

tubiluki wrote:

Se vc tiver utilizando o JBoss não precisa declarar os ejbs no web.xml.

Mas se tiver utilizando um container padrão jee dai precisa sim.

Eu uso glassfish e precisa declarar os ejbs no web.xml

<edited>
acho que só precisa declarar se forem locais...
</edited>


Ficou um pouco confuso, pois o JBoss 5.0CR implementa a espeficiação JEE 5. Então vc quis dizer que se utilizar JBoss eu não preciso declarar de nenhuma maneira?

E alguém tem idêia de como resolver o erro que está acontecendo?

Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões.
[Email] [WWW] [MSN]
maurenginaldo
JavaEvangelist
[Avatar]

Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline

felipeguerra wrote:
maurenginaldo wrote:


Isso ocorre no deploy?


Oi Felipe,

Esse erro ocorre quando eu clico no botão na minha tela para chamar um evento que está dentro do meu componente Seam/EJB. O que me deixou mais intrigado é que o erro ocorre e o seam redireciona para a página de debug dele e olhando a página de debug ele mostra os componentes que estão criados e o componente que estou acessando está lá.


Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões.
[Email] [WWW] [MSN]
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

Aqueles arquivos de conf: components.xml, etc, etc, vc alterou?

Sou bem leigo no Seam, mas estou lendo a especificação pra tentar te ajudar!

Abraço

"Antes da iluminação cortar lenha, carregar água. Depois da iluminação cortar lenha, carregar água..."
maurenginaldo
JavaEvangelist
[Avatar]

Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline

Sim tudo alterado.

Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões.
[Email] [WWW] [MSN]
tubiluki
JavaBaby

Membro desde: 05/08/2006 11:05:33
Mensagens: 96
Offline

maurenginaldo wrote:
tubiluki wrote:

Se vc tiver utilizando o JBoss não precisa declarar os ejbs no web.xml.

Mas se tiver utilizando um container padrão jee dai precisa sim.

Eu uso glassfish e precisa declarar os ejbs no web.xml

<edited>
acho que só precisa declarar se forem locais...
</edited>


Ficou um pouco confuso, pois o JBoss 5.0CR implementa a espeficiação JEE 5. Então vc quis dizer que se utilizar JBoss eu não preciso declarar de nenhuma maneira?

E alguém tem idêia de como resolver o erro que está acontecendo?


No Jboss 5 não sei mas no 4.2.3 não precisava.

Alessandro Lazarotti
Virtual Machine Man
[Avatar]

Membro desde: 21/01/2004 14:12:54
Mensagens: 719
Offline

maurenginaldo, você gerou a estrutura de seu .ear através do seam-gen?

O necessário para rodar um EJB como Seam Component é:

- Existir um ejb-jar.xml no META-INF do ejbjar contendo o interceptor org.jboss.seam.ejb.SeamInterceptor e um assembly-descriptor.
- Exisitir neste mesmo projeto um components.properties com uma entrada para jndiPattern
- Possuir a tag <core:init jndi-pattern="@jndiPattern@"/>
- Existir uma interface local ou remota (ou ainda ambas), para o componente anotado com @Statless ou @Stateful

Para testar se a configuraçao de seu EAR esta ok, faça um lookup em um cliente standalone. Se você conseguir recuperar um proxy para seu EJB, significa que ele esta ok e seu problema esta nas Seams configurations mesmo. Porém, se um simples lookup nao rola, é pq seu EJB esta com problemas e o Seam não tem lá muita coisa a ver com isso.

[]'s
Alessandro



... Lezinho
------------------------
twitter: @lazarotti
http://alessandrolazarotti.wordpress.com/
http://jbossbrasil.org/

[Email] [MSN]
Alessandro Lazarotti
Virtual Machine Man
[Avatar]

Membro desde: 21/01/2004 14:12:54
Mensagens: 719
Offline

... mais um detalhe quanto ao resto da discussão:

1) Arquitetura com JBoss Seam não significa expor o EntityManager em qualquer classe. Não é pq o Booking Sample tem explícita as APIs de persistencia que essa é uma regra para aplicações Seam. O framework não impoe arquitetura alguma.

2) Não existe nada na especificação JavaEE5 que diga sobre ter que registrar EJBs em web.xml.

This message was edited 2 times. Last update was at 04/10/2008 00:56:43


... Lezinho
------------------------
twitter: @lazarotti
http://alessandrolazarotti.wordpress.com/
http://jbossbrasil.org/

[Email] [MSN]
maurenginaldo
JavaEvangelist
[Avatar]

Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline

Oi Alessandro, mais um vez obrigado pela força.

Consegui resolver o problema, o cenário foi o seguinte:

Estava criando um projeto Seam WAR e colocando os componentes Seam/EJB dentro dele. Cheguei inclusive a criar um projeto Seam EAR mas colocando os componentes Seam/EJB dentro do projeto WEB. Trocando idéia com outro colega ele me disse que os seam/EJB's tem que estar dentro do projeto EJB. Criei um projeto Seam EAR e coloquei os componentes seam/EJB dentro do módulo EJB e funcionou blz!!!
Um pequeno desconhecimento da arquitetura que me custou alguns dias.

Obrigado a todos.

Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões.
[Email] [WWW] [MSN]
ukaliko
What is classpath?

Membro desde: 03/05/2007 14:36:22
Mensagens: 8
Offline

maurenginaldo wrote:Oi Alessandro, mais um vez obrigado pela força.

Consegui resolver o problema, o cenário foi o seguinte:

Estava criando um projeto Seam WAR e colocando os componentes Seam/EJB dentro dele. Cheguei inclusive a criar um projeto Seam EAR mas colocando os componentes Seam/EJB dentro do projeto WEB. Trocando idéia com outro colega ele me disse que os seam/EJB's tem que estar dentro do projeto EJB. Criei um projeto Seam EAR e coloquei os componentes seam/EJB dentro do módulo EJB e funcionou blz!!!
Um pequeno desconhecimento da arquitetura que me custou alguns dias.

Obrigado a todos.


Caro maurenginaldo.
Blzaa. Estou com um problema idêntico ao teu, Estou iniciando no seam agora e confeço que to meio perdido na arquitetura gerada pelo jboss sem, Mas me da uma força ai... daria pra ser mais claro no que vc fez pra resolver o problema.
Tipo: Onde fica os arquivos seam/EJBs? para onde tenho que copia-los? l que pasta no projeto gerado se refere ao modulo EJB? .

Um forte abraço.

ukaliko.
maurenginaldo
JavaEvangelist
[Avatar]

Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline

ukaliko wrote:
maurenginaldo wrote:Oi Alessandro, mais um vez obrigado pela força.

Consegui resolver o problema, o cenário foi o seguinte:

Estava criando um projeto Seam WAR e colocando os componentes Seam/EJB dentro dele. Cheguei inclusive a criar um projeto Seam EAR mas colocando os componentes Seam/EJB dentro do projeto WEB. Trocando idéia com outro colega ele me disse que os seam/EJB's tem que estar dentro do projeto EJB. Criei um projeto Seam EAR e coloquei os componentes seam/EJB dentro do módulo EJB e funcionou blz!!!
Um pequeno desconhecimento da arquitetura que me custou alguns dias.

Obrigado a todos.


Caro maurenginaldo.
Blzaa. Estou com um problema idêntico ao teu, Estou iniciando no seam agora e confeço que to meio perdido na arquitetura gerada pelo jboss sem, Mas me da uma força ai... daria pra ser mais claro no que vc fez pra resolver o problema.
Tipo: Onde fica os arquivos seam/EJBs? para onde tenho que copia-los? l que pasta no projeto gerado se refere ao modulo EJB? .

Um forte abraço.

ukaliko.


Opa, vamos lá.

Instale o plugin JBoss Tools no seu Eclipse e crie um "Seam Project". Quando chegar no final do wizard para criação do projeto, tem uma opção para marcar se o seu projeto será WAR ou EAR. Marque EAR e será criado um projeto EAR que agrupa um projeto WEB, um projeto EJB e um projeto teste. Os seus arquivos EJB/SEAM devem ficar no projeto EJB.

Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões.
[Email] [WWW] [MSN]
far56
HelloWorld

Membro desde: 09/01/2009 09:28:11
Mensagens: 10
Offline

Pessoal li todos os post anteriores, mas infelizmente continuo com o problema.
Tenho dois projetos EAR, os dois compostos por EJB.

No projeto A exportei os seus EJBs para uma jar, fazendo a sua inclusão no projeto B.
Em uma derterminada classe do projeto B tento fazer o inject do EJB do projeto A e dá a mensagem de que não é possível instanciar.

Já tentei de várias maneiras inicializar o meu EBJ do projeto A, por exemplo:

1)
@EJB(beanInterface = ICorporativo.class, beanName = "CorporativoBean", mappedName = "corporativoseam-ear/CorporativoBean/local", name = "corporativoseam-ear/CorporativoBean/local")
CorporativoBean corporativoBean;

ERRO:
java.lang.RuntimeException: Non matching type for inject of field: org.domain.corporativoseam.session.CorporativoBean org.domain.sislocseam.process.actions.LocacaoProcess.corporativoBean for type: $Proxy81 of jndiName env/corporativoseam-ear/CorporativoBean/local
intfs: , org.domain.corporativoseam.session.ICorporativo, org.jboss.ejb3.JBossProxy

2) @In (create)
CorporativoBean corporativoBean;

ERRO: não consegue instanciar o ejb

3)
Component component = Seam.componentForName("corporativo");
ICorporativo corporativo = (ICorporativo) component.getInstance(CorporativoBean.class);

ERRO: não consegue instanciar

Não sei mais o q fazer, queria saber o q estou fazendo de errado, minhas configurações são:
jboss-seam-2.1.1.GA
jboss-4.2.3.GA

Por favor me ajudem.
Grato








felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

Vc se certificou que o os EJBs de um projeto estão visíveis para o outro?

Tenta fazer do modo tradicional, veja se no deploy o AS informa o JNDI name do componente e faça o lookup na mão!

Abraço

"Antes da iluminação cortar lenha, carregar água. Depois da iluminação cortar lenha, carregar água..."
danbrasileiro
Debugger

Membro desde: 06/05/2008 11:27:16
Mensagens: 65
Localização: Salvador-BA
Offline

Vai uma sugestão...

Pq uma pessoa que já conseguiu configurar(colocar o EJB 3 para funcionar no SEAM) não disponibiliza um *projeto para as pessoas?

* Projeto simples, protótipo, enfim... algo que as pessoas possam se basear.
felipeguerra
GUJ Ranger

Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline

danbrasileiro wrote:Vai uma sugestão...

Pq uma pessoa que já conseguiu configurar(colocar o EJB 3 para funcionar no SEAM) não disponibiliza um *projeto para as pessoas?

* Projeto simples, protótipo, enfim... algo que as pessoas possam se basear.

Pq com o seam-gen isso é moleza...

"Antes da iluminação cortar lenha, carregar água. Depois da iluminação cortar lenha, carregar água..."
 
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Ir para:   
Powered by JForum 2.1.8 © JForum Team