EJB Hello World[HELP]

19 respostas
felipeguerra

Pessoal,

Gostaria da ajuda de vocês no meu primeiro ‘projeto’ EJB…sou um verdadeiro beginner, então tenham paciência e clareza nas explicações…rs!

Vamos lá, antes de mais nada, vou falar quais as ferramentas que estou utilizando…

Eclipse 3.2.1
jboss-4.0.5.GA
Plugin - JBossIDE 1.6.0.GA

A título de conhecimento, estou seguindo esse tutorial:
http://docs.jboss.com/jbosside/tutorial/build/en/html/index.html

Nesse passo: Chapter 5. Generation of the EJB related files, recebo a seguinte mensagem do Eclipse (arquivo me anexo).

Obs: Também não consigo iniciar o JBoss pelo Eclipse!

Obrigado, antes de mais nada…

19 Respostas

felipeguerra

Nenhuma ajuda?

gui_chacal

Em que parte exata do tutorial acontece o erro ?

E qual a mensagem de erro quando voce tenta iniciar o JBoss ?

JN

gui_chacal

Estava olhando este tutorial e vi que é para EJB 2 usando XDoclet…

Já que é o seu primeiro projeto EJB, usa o EJB 3, tua vida vai ficar muito mais fácil.

JN

felipeguerra

Vou usar EJB 3.0…mas então, o erro ocorre quando eu tento carregar os módulos do XDoclet (aparece aquele Message Box que disponibilizei)!!

Obrigado

PS - O JBoss nem aparece como servidor disponível no meu projeto.

felipeguerra

Onde eu acho um material bom de EJB 3.0???

R

Cara, usa esse eclipse aqui, já tá tudo configurado:

[]´s

R

E-book sobre EJB3:
Mastering EJB3

felipeguerra

É isso aí pessoal, segui recomendações e comprei o livro: “Enterprise JavaBeans 3.0” !!

Vamos lá então, fiz um .jar e coloquei na pasta …/default/deploy no JBoss e recebi a seguinte mensagem no painel:

.
.
.
15:45:57,028 INFO  [Ejb3Deployment] EJB3 deployment time took: 812
15:45:57,060 INFO  [JmxKernelAbstraction] installing MBean: persistence.units:jar=Acesso.jar,unitName=recupera_teste with dependencies:
15:45:57,060 INFO  [JmxKernelAbstraction] 	jboss.jca:name=jdbc/ds_creditone_dev,service=DataSourceBinding
.
.
.

Agora é o seguinte, não sou tão novato em web quanto no EJB, só que eu nunca acessei o Bean na Servlet, então é o seguinte, quando eu for fazer a chamada como fica?

O .war vai ficar no mesmo diretório do .jar (lógico!)

felipeguerra

Vamos lá galera, me parece que agora é a parte mais fácil…preciso ver se o POJO, PERSISTENCE são brutos mesmo!!!

felipeguerra

Já que ninguém quis me ajudar (deve ser o feriado prolongado), eu tentei fazer esse teste:

package br.com.creditone.cliente;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.http.HttpServlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.com.creditone.acesso.Usuario;
import br.com.creditone.bean.AcessoBean;

public class ServletTeste extends HttpServlet {

	protected void service(HttpServletRequest req, HttpServletResponse resp){

		try {

			Context ctx = new InitialContext();

			AcessoBean acesso = (AcessoBean) ctx.lookup( "ejb/Acesso" );

			Usuario user = new Usuario();

			user.setLogin( "teste" );
			user.setSenha( "password" );
			user.setPolicy( 1 );
			user.setEmail( "[email removido]" );

			acesso.createUsuario( user );

		}catch( Exception e ) {
			e.printStackTrace();

		}


	}

}

Massssssss, deu o seguinte erro na hora que o JBoss tenta fazer o deploy do .war

17:30:10,638 ERROR [MainDeployer] Could not create deployment: file:/C:/jboss-4.0.5.GA/server/default/deploy/AcessoCliente.war
java.lang.UnsupportedClassVersionError: Bad version number in .class file
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at org.jboss.ws.integration.jboss.DeployerInterceptorJSE.isWebserviceDeployment(DeployerInterceptorJSE.java:124)
	at org.jboss.ws.integration.jboss.DeployerInterceptor.create(DeployerInterceptor.java:76)
	at org.jboss.ws.integration.jboss.DeployerInterceptorJSE.create(DeployerInterceptorJSE.java:74)
	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.create(SubDeployerInterceptorSupport.java:180)
	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:91)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
	at $Proxy43.create(Unknown Source)
	at org.jboss.deployment.MainDeployer.create(MainDeployer.java:969)
	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:818)
	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
	at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
	at $Proxy8.deploy(Unknown Source)
	at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:610)
	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
ramilani12

Qual versão da sua JVM?
Veja o erro:

java.lang.UnsupportedClassVersionError: Bad version number in .class file

Vc compilou o seu projeto na versão 5.0 e o JBoss roda com a JDK 1.4?

felipeguerra

Eu compilei tudo com 1.5!!!

ramilani12

E o AcessoCliente.war vc compilou em qual JVM?

felipeguerra

Pode mandar, meu camarada!

Valeu

felipeguerra

Meu Deus, refiz a aplicação de teste, mas na hora do deploy, Vai se f&¨&¨&*…huahauhauahuahauhauha!!

Não tenho idéia do que fazer mais…

Preciso de uma luz!!!

felipeguerra

Meu Deus…refiz tudo, só que continua dando erro, pelo menos agora é em outro ponto!

É isso o que eu faço…

Context ctx = new InitialContext();

AcessoBean ejbAcesso = (AcessoBean)ctx.lookup( "ejb/Acesso" );

Erro:

14:48:48,809 ERROR [STDERR] java.lang.ClassCastException: org.jnp.interfaces.NamingContext
14:48:48,809 ERROR [STDERR] 	at br.com.creditone.io.IOServlet.service(IOServlet.java:29)
14:48:48,809 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
14:48:48,809 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
14:48:48,809 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
14:48:48,809 ERROR [STDERR] 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
14:48:48,809 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
14:48:48,809 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
14:48:48,809 ERROR [STDERR] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
14:48:48,809 ERROR [STDERR] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
14:48:48,809 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
14:48:48,809 ERROR [STDERR] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
14:48:48,809 ERROR [STDERR] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
14:48:48,809 ERROR [STDERR] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
14:48:48,809 ERROR [STDERR] 	at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
14:48:48,809 ERROR [STDERR] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
14:48:48,809 ERROR [STDERR] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
14:48:48,809 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
14:48:48,809 ERROR [STDERR] 	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
14:48:48,809 ERROR [STDERR] 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
14:48:48,809 ERROR [STDERR] 	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
14:48:48,809 ERROR [STDERR] 	at java.lang.Thread.run(Thread.java:595)
felipeguerra

Gente, eu sou mendigo, moro na rua…me ajuda…

Não sei se melhora o entendimento

15:11:01,402 INFO  [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
15:11:01,746 INFO  [JmxKernelAbstraction] installing MBean: jboss.j2ee:jar=acesso.jar,name=ejb/Acesso,service=EJB3 with dependencies:
15:11:01,746 INFO  [JmxKernelAbstraction] 	persistence.units:jar=acesso.jar,unitName=recupera_teste
15:11:02,496 INFO  [EJBContainer] STARTED EJB: br.com.creditone.bean.AcessoBean ejbName: ejb/Acesso
L

olá antes de qualquer coisa de uma lida
http://www.guj.com.br/posts/list/60158.javaaqui

JMan

Se tiver interesse, tenho um projeto web que estou usando aqui para o estudo de EJB3 e JPA, e posso envia-lo para você.

O projeto utiliza struts 1.3.8 + ejb3 + jpa; para o build to utilizando o ANT de modo que você pode usa-lo mesmo utilizando o bloco de notas como ferramenta de desenvolvimento (sic)… ou qualquer IDE que preferir.

Ou tem aqui

http://java.sun.com/javaee/5/docs/tutorial/doc/

tem o codigo de todos exemplos, explicando como rodar e etc…

[]'s

Criado 27 de abril de 2007
Ultima resposta 8 de jun. de 2007
Respostas 19
Participantes 6