Erro ejb

18 respostas
R

Galera estou tentado fazer uma chamada do meu delegate para um service aplicação esta usando EJB

estou achando que o erro que estou rescebendo seja algo com o EJB alguém pode ajudar ?

segue o erro.

13:40:40,671 ERROR [STDERR] javax.naming.NameNotFoundException: ReportDynamicServiceImpl not bound
13:40:40,671 ERROR [STDERR] 	at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
13:40:40,671 ERROR [STDERR] 	at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
13:40:40,671 ERROR [STDERR] 	at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
13:40:40,671 ERROR [STDERR] 	at org.jnp.server.NamingServer.lookup(NamingServer.java:443)
13:40:40,671 ERROR [STDERR] 	at org.jnp.server.NamingServer.lookup(NamingServer.java:399)
13:40:40,671 ERROR [STDERR] 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:726)
13:40:40,671 ERROR [STDERR] 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
13:40:40,671 ERROR [STDERR] 	at javax.naming.InitialContext.lookup(Unknown Source)
13:40:40,671 ERROR [STDERR] 	at com.oesia.qualitycenter.service.ServiceLocatorImpl.lookupIntialContext(ServiceLocatorImpl.java:64)
13:40:40,671 ERROR [STDERR] 	at com.oesia.qualitycenter.service.ServiceLocatorImpl.lookup(ServiceLocatorImpl.java:44)
13:40:40,671 ERROR [STDERR] 	at com.oesia.qualitycenter.service.ServiceLocatorImpl.lookup(ServiceLocatorImpl.java:58)
13:40:40,671 ERROR [STDERR] 	at com.oesia.qualitycenter.delegates.ReportDynamicDelegate.getReportDynamicService(ReportDynamicDelegate.java:18)
13:40:40,671 ERROR [STDERR] 	at com.oesia.qualitycenter.delegates.ReportDynamicDelegate.gerarRelatorio(ReportDynamicDelegate.java:30)
13:40:40,671 ERROR [STDERR] 	at com.oesia.qualitycenter.wicket.reports.ReportDynamicPage$SubmitButton.onSubmit(ReportDynamicPage.java:141)
13:40:40,671 ERROR [STDERR] 	at org.apache.wicket.ajax.markup.html.form.AjaxButton$1.onSubmit(AjaxButton.java:115)
13:40:40,671 ERROR [STDERR] 	at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:128)
13:40:40,671 ERROR [STDERR] 	at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:163)
13:40:40,671 ERROR [STDERR] 	at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:297)
13:40:40,671 ERROR [STDERR] 	at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:104)
13:40:40,671 ERROR [STDERR] 	at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
13:40:40,671 ERROR [STDERR] 	at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1220)
13:40:40,671 ERROR [STDERR] 	at org.apache.wicket.RequestCycle.step(RequestCycle.java:1297)
13:40:40,671 ERROR [STDERR] 	at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399)
13:40:40,671 ERROR [STDERR] 	at org.apache.wicket.RequestCycle.request(RequestCycle.java:529)
13:40:40,671 ERROR [STDERR] 	at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356)
13:40:40,671 ERROR [STDERR] 	at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:201)
13:40:40,671 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
13:40:40,671 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
13:40:40,687 ERROR [STDERR] 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
13:40:40,687 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
13:40:40,687 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
13:40:40,687 ERROR [STDERR] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
13:40:40,687 ERROR [STDERR] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
13:40:40,687 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
13:40:40,687 ERROR [STDERR] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
13:40:40,687 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
13:40:40,687 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
13:40:40,687 ERROR [STDERR] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
13:40:40,687 ERROR [STDERR] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
13:40:40,687 ERROR [STDERR] 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
13:40:40,687 ERROR [STDERR] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
13:40:40,687 ERROR [STDERR] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
13:40:40,687 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
13:40:40,687 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
13:40:40,687 ERROR [STDERR] 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
13:40:40,687 ERROR [STDERR] 	at java.lang.Thread.run(Unknown Source)
13:40:40,718 ERROR [RequestCycle] 
java.lang.NullPointerException
	at com.oesia.qualitycenter.delegates.ReportDynamicDelegate.gerarRelatorio(ReportDynamicDelegate.java:30)
	at com.oesia.qualitycenter.wicket.reports.ReportDynamicPage$SubmitButton.onSubmit(ReportDynamicPage.java:141)
	at org.apache.wicket.ajax.markup.html.form.AjaxButton$1.onSubmit(AjaxButton.java:115)
	at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:128)
	at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:163)
	at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:297)
	at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:104)
	at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
	at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1220)
	at org.apache.wicket.RequestCycle.step(RequestCycle.java:1297)
	at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399)
	at org.apache.wicket.RequestCycle.request(RequestCycle.java:529)
	at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356)
	at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:201)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)

18 Respostas

Tchello

Como você ta fazendo o lookup?
Qual servidor de aplicações vc ta usando e qual versão?
Poderia postar o bean aqui (soh a declaração da classe e as annotattions) e o código de lookup?

Abraços.

R

Tchello

aqui e o delegate onde tem a chamada para o lookup que em seguida deveria chamar meu service

private ReportDynamicService reportDynamicService;

	@SuppressWarnings("unused")
	private ReportDynamicService getReportDynamicService(){		
		try {
			reportDynamicService = ServiceLocatorImpl.getInstance().lookup(ReportDynamicService.class);
		} catch (NamingException e) {
			e.printStackTrace();
		}
		return reportDynamicService;
	}

estou usando o Jboss 5

aqui esta a classe onde o metodo acima faz a chamada e deveria entrar aqui

@Stateless
public class ReportDynamicServiceImpl implements ReportDynamicService,Serializable{

aqui esta um metodo da classe ServiceLocatorImpl

private ServiceLocatorImpl() {
        try {           
            jndiContext = new InitialContext();
            final Map<String, Object> cRef = new HashMap<String, Object>();
            cache = Collections.synchronizedMap(cRef);           
            nameResolver = new JBossNameResolver();           
                       
        } catch (NamingException ne) {
            throw new RuntimeException(ne);
        }
    }
G

Lembre-se que cada servidor de aplicações você faz o lookup de uma forma. A especificação não possui um padrão para isso.

No glassfish, por exemplo, o EJB é exportado com o nome completo de sua interface remota, exemplo, br.com.guj.MeuEJB. Já o Jboss usa o nome do EAR + nome do bean remoto + /remote.

Tchello

garcia-jj:
Lembre-se que cada servidor de aplicações você faz o lookup de uma forma. A especificação não possui um padrão para isso.

No glassfish, por exemplo, o EJB é exportado com o nome completo de sua interface remota, exemplo, br.com.guj.MeuEJB. Já o Jboss usa o nome do EAR + nome do bean remoto + /remote.

Exato.
No JBoss você também tem a opção de personalizar isso com a Annotattion @RemoteBinding(jndiName=“MEU_EJB”) e usar esse jndiName no lookup.
Tente isso.

Abraços.

ps: tai uma coisa que DEVERIA ser padronizada, concordam? (ou será que falei bobeira hehehe).

R

Tchello desculpe da ignorancia da pegunta mais estou começando a ver o EJB agora e isso mesmo que deve ficar com o detalhe que vc me passaou

porque esta dando esse erro falta eu add alguma coisa no metodo ?

Syntax error, insert "EnumBody" to complete EnumDeclaration


	 @RemoteBinding(jndiName="DailyReportServiceImpl");  // Erro nessa linha.
	private ReportDynamicService getReportDynamicService(){		
		try {
			reportDynamicService = ServiceLocatorImpl.getInstance().lookup(ReportDynamicService.class);
		} catch (NamingException e) {
			e.printStackTrace();
		}
		return reportDynamicService;
	}
Tchello

Ele ta dando erro em que ponto, ao compilar ou fazer o lookup?
Você fez o import do RemoteBinding no seu bean?
Não esqueça de adicionar os jars do Jboss na sua aplicação.

Abraços.

R

o Erro e de sixtase fiz os imports necessários e tem os jar na aplicação o erro esta nessa linha

conforme mensionei acima

@RemoteBinding(jndiName="DailyReportServiceImpl");
Tchello

robsonsan:
o Erro e de sixtase fiz os imports necessários e tem os jar na aplicação o erro esta nessa linha

conforme mensionei acima

@RemoteBinding(jndiName="DailyReportServiceImpl");

Robson, me desculpe, eu me confundi, o correto seria:

@RemoteBinding(jndiBinding="DailyReportServiceImpl");

Tente agora.

Abraços.

G

robsonsan:
o Erro e de sixtase fiz os imports necessários e tem os jar na aplicação o erro esta nessa linha

conforme mensionei acima

@RemoteBinding(jndiName="DailyReportServiceImpl");

Pelo que sei @RemoteBinding é anotação de classe, e não de método.

Sim, muito de acordo. Acho a forma do Glassfish muito prática, pois é o full qualified name da classe.

Tchello

garcia-jj:
robsonsan:
o Erro e de sixtase fiz os imports necessários e tem os jar na aplicação o erro esta nessa linha

conforme mensionei acima

@RemoteBinding(jndiName="DailyReportServiceImpl");

Pelo que sei @RemoteBinding é anotação de classe, e não de método.


Sim, é anotação de classe.
Não tinha reparado que ele colocou no método =Z

Robson, fica ai o lembrete.

R

mais o nome “DailyReportServiceImpl” e uma classe

Tchello

Sim, mas essa annotattion deve ser na declaração do seu bean, o jndiBinding vc escolhe o que vc quiser pra por ali.

G

Deveria ser:

@RemoteBinding(jndiName="MeuFantasticoEJB"); public class MeuFantasticoEJB implements MinhaInterfaceFantastica { [...] }

R

garcia eu fiz isso mais não funcinou

@Stateless
@RemoteBinding(jndiBinding="DailyReportServiceImpl")
public class ReportDynamicServiceImpl implements ReportDynamicService,Serializable{
G

Algum erro?

R

Galera consegui o problema era que eu tinha colocado a anotação em minha interface DAO

mais não tinha mapeado meu DAO no Jboss.xml e nem colocado a anotação na implementação do DAO

valeu feras

G

:smiley:

Esqueci de dizer… valeu nada, cerveja por tua conta hoje, hahahahah.

Abraços

R

uahuahuahauhauha
fmzãooo

Criado 9 de outubro de 2009
Ultima resposta 13 de out. de 2009
Respostas 18
Participantes 3