| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/03/2009 09:33:18
|
kleins
JavaTeenager
![[Avatar]](/images/avatar/dcbe4be7606b574be9a50c64ffbe5254.jpg)
Membro desde: 19/03/2007 13:05:03
Mensagens: 171
Offline
|
Galera.
Estou tentando fazer umas coisas com EJB, começando a simular um ambiente distribuido, mas estou com um problema.
No NetBeans eu crio uma aplicação EJB e um client java-local....
No Netbeans funciona perfeitamente... hehehe mas quando tento simular um cliente qualquer (Fora da Aplicação EJB) náo consigo..
Eu entro no server (Glassfish) e baixo o ClientStub, adciono ao classPath da aplicação client nova e nada de conseguir chamar as classes...
Alguém pode me dar uma luz ?
O código é :
O problema está na linha
Ele não acha a referência quando eu tento chamar interface, mesmo mesmo baixando direto do Glassfish o Client Stubs.
Abração e valeu.
|
Rodrigo |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/03/2009 10:31:12
|
kleins
JavaTeenager
![[Avatar]](/images/avatar/dcbe4be7606b574be9a50c64ffbe5254.jpg)
Membro desde: 19/03/2007 13:05:03
Mensagens: 171
Offline
|
kleins wrote:Galera.
Estou tentando fazer umas coisas com EJB, começando a simular um ambiente distribuido, mas estou com um problema.
No NetBeans eu crio uma aplicação EJB e um client java-local....
No Netbeans funciona perfeitamente... hehehe mas quando tento simular um cliente qualquer (Fora da Aplicação EJB) náo consigo..
Eu entro no server (Glassfish) e baixo o ClientStub, adciono ao classPath da aplicação client nova e nada de conseguir chamar as classes...
Bom... novidades.
Já consegui resolver o problema anterior.
Fiz o deploy no glassfish pela linha de comando e ele gerou o stub....
Agora o problema é que ao chamar o metodo que faz a conexão, ele está ne reclamando o seguinte.
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/sun/logging/LogDomains
at com.sun.enterprise.util.ORBManager.<clinit>(ORBManager.java:93)
at com.sun.enterprise.naming.SerialInitContextFactory.<clinit>(SerialInitContextFactory.java:65)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:28
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at d1.D1View.jButton1ActionPerformed(D1View.java:230)
at d1.D1View.access$800(D1View.java:27)
at d1.D1View$4.actionPerformed(D1View.java:127)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:231
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:603
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:205
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:16
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Pesquisando, descobri que tenho que ter no cliente o appserv-rt.jar
http://javacio.us/subscribers/classes/com/sun/logging/LogDomains
Mas mesmo assim náo adiantou..
Alguém tem uma dica ?
abs
|
Rodrigo |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/12/2010 14:53:30
|
willCesar
JavaChild
Membro desde: 09/03/2010 20:04:52
Mensagens: 111
Offline
|
Caro kleins,
Como voce consegui resolver este problema, estou com o mesmo problema, e nao sei onde esta o erro, poderia me ajudar
This message was edited 1 time. Last update was at 09/12/2010 14:53:45
|
"O senhor é meu pastor e nada me faltará".
Está usando DefaultTableModel AINDA??? Pare já com isso!
http://www.guj.com.br/posts/list/15/199067.java#1001295
Creditos ao ViniGodoy |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/12/2010 15:02:14
|
kleins
JavaTeenager
![[Avatar]](/images/avatar/dcbe4be7606b574be9a50c64ffbe5254.jpg)
Membro desde: 19/03/2007 13:05:03
Mensagens: 171
Offline
|
Olá amigo.
Na época como era só teste e acabei não Finalizando.
Abs
|
Rodrigo |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/12/2010 15:17:50
|
willCesar
JavaChild
Membro desde: 09/03/2010 20:04:52
Mensagens: 111
Offline
|
Caro Kleins,
Obrigado, como o meu nao é so teste, vou continuar a procurar uma solucao.
Att,
|
"O senhor é meu pastor e nada me faltará".
Está usando DefaultTableModel AINDA??? Pare já com isso!
http://www.guj.com.br/posts/list/15/199067.java#1001295
Creditos ao ViniGodoy |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/12/2010 15:22:07
|
kleins
JavaTeenager
![[Avatar]](/images/avatar/dcbe4be7606b574be9a50c64ffbe5254.jpg)
Membro desde: 19/03/2007 13:05:03
Mensagens: 171
Offline
|
Se puder postar aqui depois ia ser ótimo
Abs
|
Rodrigo |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/12/2010 15:39:03
|
willCesar
JavaChild
Membro desde: 09/03/2010 20:04:52
Mensagens: 111
Offline
|
com certeza, quando achar a solucao posto sim
|
"O senhor é meu pastor e nada me faltará".
Está usando DefaultTableModel AINDA??? Pare já com isso!
http://www.guj.com.br/posts/list/15/199067.java#1001295
Creditos ao ViniGodoy |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/12/2010 10:42:15
|
willCesar
JavaChild
Membro desde: 09/03/2010 20:04:52
Mensagens: 111
Offline
|
caro kleins,
Resolvi meu problema, coloquei a biblioteca gf-client-module.jar na classpath da aplicacao, e ao executar, deve-se utilizar appclient -client arquivo.jar e nao java -jar como estava fazendo
|
"O senhor é meu pastor e nada me faltará".
Está usando DefaultTableModel AINDA??? Pare já com isso!
http://www.guj.com.br/posts/list/15/199067.java#1001295
Creditos ao ViniGodoy |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/12/2010 17:39:28
|
AGAraujo
JavaTeenager
![[Avatar]](/images/avatar/614fb814b350f8a9204a5fb7e4724466.jpg)
Membro desde: 30/03/2009 07:56:35
Mensagens: 159
Offline
|
Boa tarde!!!
Cara, EJB já não é molesa e vocês ainda complicam... rsrs Brincadeira. Todos estamos aqui para aprender.
Bom, por padrão as propriedades que você adicionou são as mesmas do default. Mas menos mau, pois ai aprende-se cada uma.
Sobre a execução existem algumas regras, sobre EJB.
1) Não é possível ter acesso a bens locais, de fora do container. Logo nenhuma aplicação standalone funcionará tentando recuperar objetos locais. Caso realmente deseje isto deve declarar como Remote, mesmo que esteja usando a mesma JVM;
2) Caso acesso dentro do container na mesma JVM basta utilizar o nome da classe chamando .class.getName();
3) Caso acesso de fora do container precisa utilizar JNDI, que possivelmente seja: "java:global/<nome da aplicação>/<nome do modulo>/<ref do bean>"
Assim é possível resolver a mesma busca que vcs fizeram sem utilizar appclient do glassfish, pois quando assim o fazem colocam a aplicação cliente dentro do container, funcionando como descrito no item 2.
Até a próxima.
|
O pensamento é uma prévia dos próximos acontecimentos |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/12/2010 17:43:44
|
AGAraujo
JavaTeenager
![[Avatar]](/images/avatar/614fb814b350f8a9204a5fb7e4724466.jpg)
Membro desde: 30/03/2009 07:56:35
Mensagens: 159
Offline
|
Pesquisando, descobri que tenho que ter no cliente o appserv-rt.jar
Utilizando o Glassfish 2.x deve-se adicionar ao classpath do cliente os jar: appserv-rt.jar e javaee.jar
Utilizando o Glassfish.3.x deve-se adicionar ao classpath do cliente o jar: gf-client.jar
|
O pensamento é uma prévia dos próximos acontecimentos |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2010 06:27:39
|
willCesar
JavaChild
Membro desde: 09/03/2010 20:04:52
Mensagens: 111
Offline
|
Caro AGAraujo,
Não entendi muito bem a parte do item 3, por favor poderia explicar novamente, se possivel mostra um exemplo.
att,
|
"O senhor é meu pastor e nada me faltará".
Está usando DefaultTableModel AINDA??? Pare já com isso!
http://www.guj.com.br/posts/list/15/199067.java#1001295
Creditos ao ViniGodoy |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2011 15:49:54
|
Matheus.Araujo
Smalltalk
Membro desde: 04/03/2011 15:35:08
Mensagens: 2
Offline
|
Pessoal,
Quais são os jars necessários para o cliente stand alone funcionar?
Meu código é o seguinte:
Estou recebendo a exceção
Incluí os jars
appserv-rt.jar
javaee.jar
jndi-properties.jar
gf-client.jar
Já cheguei até a incluir todos os jars da pasta modules e essa exceção continua sendo lançada.
Anteriormente, estava usando o construtor do InitialContext vazio da seguinte forma:
mas era gerada a seguinte exceção:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2011 16:34:43
|
Matheus.Araujo
Smalltalk
Membro desde: 04/03/2011 15:35:08
Mensagens: 2
Offline
|
Por favor, esqueçam a questão anterior.
Realmente, basta apenas o arquivo gf-client.jar para que funcione.
Meu problema era que eu tinha um projeto com um service locator e eu havia incluído o jar neste projeto, mas meu cliente estava em outro projeto e eu não havia incluído o gf-client.jar neste projeto. Quando fiz isso, funcionou!
Barbeiragem minha!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2011 08:16:48
|
andrestrindade
JavaTeenager
![[Avatar]](/images/avatar/6220d78a81df90871ed5d07ad6023bf7.jpg)
Membro desde: 01/09/2008 14:06:23
Mensagens: 150
Offline
|
O que é EJB? Estive procurando um tutorial sobre EJB 3.0, mas não encontro nenhum bom material.
O que é EJB? Para que serve? Como usa-lo?!
This message was edited 1 time. Last update was at 18/04/2011 08:17:10
|
Quanto mais aprendo, percebo a vasta gama de conhecimentos que ainda não possuo. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/02/2012 15:01:07
|
clebertx
Smalltalk
Membro desde: 05/02/2012 14:30:22
Mensagens: 4
Offline
|
Boa tarde Galera, desculpe reviver o tópico, mas estou com exatamente o mesmo problema e não consigo resolver.
Utilizo o Glassfish 3.1.1 e o Netbeans 7.1.
O que ocorre é o seguinte:
Fiz uma aplicação JavaFx de teste, a qual acessa um módulo EJB.
1) No Netbeans, eu consigo executar a aplicação perfeitamente, necessitando apenas adicionar a biblioteca gf-client.jar OU a biblioteca appserv-rt.jar no projeto. Qualquer uma das duas funciona desde que eu deixe qualquer uma das bibliotecas citadas antes da biblioteca adicionada por padrão javaee-api-6.0.jar na ordem de bibliotecas do projeto Netbeans. (IMPORTANTE)
2) Para que funcione, ainda no Netbeans, eu NEM sequer preciso indicar a propriedade:
props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
Simplesmente, faço o seguinte: InitialContext ic = new InitialContext(); //Isso mesmo sem parâmetros.
E na sequência eu faço o lookup do objeto remoto: EJBRemote p = (EJBRemote) ic.lookup("EJBRemote");
E a aplicação funciona, PORÉM SOMENTE DENTRO NO NETBEANS.
3) Já tentei de inúmeras formas executar essa aplicação fora do Netbeans:
a) Já copiei as libs para o diretório /lib dentro do /dist do projeto;
b) Já tentei executar pelo appclient -client nome_do_projeto.jar;
c) Já tentei pelo Webstart;
d) Já tentei adicionar todas as libs do Glassfish no projeto do netbeans;
e) Já tentei também usando a propriedade props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
4) Considerando que a ideia é executar a aplicação em uma máquina remota, ou seja NÃO é a máquina onde o netbeans ou glassfish está instalado, pergunto: Qual é a maneira correta de instalar a aplicação nessa máquina remota para que acesse corretamente os métodos do módulo EJB? (por favor, somente responda se tiver certeza do que está falando)
5) Vi que há dentro do diretório bin do glassfish um package-appclient.bat que gera um arquivo appclient.jar no diretório lib do glassfish. Há alguma relação com isso?
6) As mensagens quando eu executo fora do netbeans variam. Exemplo:
Se eu uso a propriedade props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory"), ele diz que não encontra a classe com.sun.enterprise.naming.SerialInitContextFactory (ClassNotFoundException)
Se eu tiro essa propriedade, o sistema diz que eu preciso informar tal propriedade, porém quando eu executo no Netbeans, eu NEM preciso informar que ele funciona.
Achei em um fórum que a partir do Glassfish 3.1 não seria preciso informar a propriedade.
Nas minhas pesquisas, vi que muita gente tem ou teve o mesmo problema, porém não vi nenhuma que resolvesse esse problema.
Quem puder ajudar, agradeço.
Abraço.
|
|
|
 |
|
|