Problem dabei der jndi-lookup für EJB
Im habend ärger machen eine lookup -
Projekt Struktur:
ein dynamisches web-Projekt (gss-web) und einem EJB-Projekt (gss-ejb) implementiert, die zusammen innerhalb eines .Ohr (gss-ea) auf einem jboss-6-server
Ausnahme:
javax.die Benennung.NamingException: Konnte nicht dereferenzieren Objekt [Root exception is javax.die Benennung.NameNotFoundException: gss-ea nicht gebunden]
Code - Von innen eine managed bean, die in meinem web-Projekt:
InitialContext ctx = new InitialContext( );
return ( CodesService )ctx.lookup( "java:/global/gss-ea/gss-ejb/CodesBean" );
java Namespace : jndi tree (from jmx console on jboss):
+- global (class: org.jnp.interfaces.NamingContext)
| +- jmx-console (class: org.jnp.interfaces.NamingContext)
| +- ROOT (class: org.jnp.interfaces.NamingContext)
| +- uuid-key-generator (class: org.jnp.interfaces.NamingContext)
| +- http-invoker (class: org.jnp.interfaces.NamingContext)
| | +- invoker (class: org.jnp.interfaces.NamingContext)
| +- gss-ea (class: org.jnp.interfaces.NamingContext)
| | +- gss-web (class: org.jnp.interfaces.NamingContext)
| | +- gss-ejb (class: org.jnp.interfaces.NamingContext)
| | | +- CorporateActionBean!com.comp.gss.session.CorporateActionService[link -> gss-ea/CorporateActionBean/local-com.comp.gss.session.CorporateActionService] (class: javax.naming.LinkRef)
| | | +- CodesBean!com.comp.gss.session.CodesService[link -> gss-ea/CodesBean/local-com.comp.gss.session.CodesService] (class: javax.naming.LinkRef)
| | | +- BasketBean!com.comp.gss.session.BasketService[link -> gss-ea/BasketBean/local-com.comp.gss.session.BasketService] (class: javax.naming.LinkRef)
| | | +- FPBean[link -> gss-ea/FPBean/local-com.comp.gss.session.FPService] (class: javax.naming.LinkRef)
| | | +- CodesBean[link -> gss-ea/CodesBean/local-com.comp.gss.session.CodesService] (class: javax.naming.LinkRef)
| | | +- PopulationBasketBean!com.comp.gss.session.PopulationBasketBean[link -> gss-ea/PopulationBasketBean/no-interface] (class: javax.naming.LinkRef)
| | | +- CorporateActionBean[link -> gss-ea/CorporateActionBean/local-com.comp.gss.session.CorporateActionService] (class: javax.naming.LinkRef)
| | | +- OutputBean!com.comp.gss.session.OutputService[link -> gss-ea/OutputBean/local-com.comp.gss.session.OutputService] (class: javax.naming.LinkRef)
| | | +- FPBean!com.comp.gss.session.FPService[link -> gss-ea/FPBean/local-com.comp.gss.session.FPService] (class: javax.naming.LinkRef)
| | | +- PopulationBean[link -> gss-ea/PopulationBean/local-com.comp.gss.session.PopulationService] (class: javax.naming.LinkRef)
| | | +- BasketBean[link -> gss-ea/BasketBean/local-com.comp.gss.session.BasketService] (class: javax.naming.LinkRef)
| | | +- PopulationBean!com.comp.gss.session.PopulationService[link -> gss-ea/PopulationBean/local-com.comp.gss.session.PopulationService] (class: javax.naming.LinkRef)
| | | +- PopulationBasketBean!com.comp.gss.session.PopulationBasketService[link -> gss-ea/PopulationBasketBean/local-com.comp.gss.session.PopulationBasketService] (class: javax.naming.LinkRef)
| | | +- OutputBean[link -> gss-ea/OutputBean/local-com.comp.gss.session.OutputService] (class: javax.naming.LinkRef)
Jegliche Hilfe würde sehr geschätzt werden. Vielen Dank im Voraus!
/Eric
InformationsquelleAutor HorseFace | 2011-04-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
Hinweis: kein "/" vor "global".
InformationsquelleAutor Brett Kail
Haben Sie überprüft Ihre jmx-console um zu sehen, ob die ejb ' s implementiert sind richtig. Ich denke, dass der name, den Sie benutzt haben, um lookup nicht korrekt. Seine in der Regel ejb-name angehängt mit lokalen oder remote. Ein kurzer Blick in Ihre jmx-Konsole geben Sie den richtigen Namen.
Gesagt, dass Sie nicht haben, und wahrscheinlich sollte nicht lookup ejb wie diese, wenn Sie mit ejb 3.x. Nur Spritzen Sie Ihre Ejb in Ihrem servlet mit @Ejb-annotation.
Wenn Sie mit Ejb3.1, Sie können package ejb-direkt in den Krieg.
InformationsquelleAutor uncaught_exceptions