stefano bertozzi [
http://community.jboss.org/people/bertoz84] created the discussion
"Re: lookup a session bean inside a servlet"
To view the discussion, visit:
http://community.jboss.org/message/603644#603644
--------------------------------------------------------------
one step ahead!
I created the .ear ( EARShop ) that "uses" both the .jar ( BookShop ) and the
.war ( WebShop ).
I removed the .jar from the WEB-INF/lib inside the .war ( because during .ear deploy there
was a duplicate name error ); to include my beans in my web project i simply added under
its properties, to the JavaBuildPath/Projects, my BookShop project.
now while deploying the .ear i can read this:
+12:37:25,110 INFO [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase]
Binding the following Entries in Global JNDI:+
++
+ EARShop/AccessoUtente/local - EJB3.x Default Local Business Interface+
+ EARShop/AccessoUtente/local-bookshop.library.sessionbean.AccessoUtenteLocal -
EJB3.x Local Business Interface+
+12:37:25,113 INFO [org.jboss.ejb3.session.SessionSpecContainer] Starting
jboss.j2ee:ear=EARShop.ear,jar=BookShop.jar,name=Carrello,service=EJB3+
+12:37:25,114 INFO [org.jboss.ejb3.EJBContainer] STARTED EJB:
bookshop.library.sessionbean.Carrello ejbName: Carrello+
+12:37:25,118 INFO [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase]
Binding the following Entries in Global JNDI:+
+ +
+ EARShop/Carrello/local - EJB3.x Default Local Business Interface+
+ EARShop/Carrello/local-bookshop.library.sessionbean.CarrelloLocal - EJB3.x
Local Business Interface+
+12:37:25,120 INFO [org.jboss.ejb3.session.SessionSpecContainer] Starting
jboss.j2ee:ear=EARShop.ear,jar=BookShop.jar,name=OperazioniLibri,service=EJB3+
+12:37:25,121 INFO [org.jboss.ejb3.EJBContainer] STARTED EJB:
bookshop.library.sessionbean.OperazioniLibri ejbName: OperazioniLibri+
+12:37:25,125 INFO [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase]
Binding the following Entries in Global JNDI:+
+ EARShop/OperazioniLibri/local - EJB3.x Default Local Business Interface+
+ EARShop/OperazioniLibri/local-bookshop.library.sessionbean.OperazioniLibriLocal
- EJB3.x Local Business Interface+
+12:37:25,125 WARN [org.jboss.ejb3.TimerServiceContainer] EJBTHREE-2193: using deprecated
TimerServiceFactory for restoring timers+
+12:37:25,127 INFO [org.jboss.ejb3.session.SessionSpecContainer] Starting
jboss.j2ee:ear=EARShop.ear,jar=BookShop.jar,name=BookTestBean,service=EJB3+
+12:37:25,128 INFO [org.jboss.ejb3.EJBContainer] STARTED EJB: bookshop.test.BookTestBean
ejbName: BookTestBean+
+12:37:25,133 INFO [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase]
Binding the following Entries in Global JNDI:+
+ EARShop/BookTestBean/remote - EJB3.x Default Remote Business Interface+
+ EARShop/BookTestBean/remote-bookshop.test.BookTestBeanRemote - EJB3.x Remote
Business Interface+
+ EARShop/BookTestBean/local - EJB3.x Default Local Business Interface+
+ EARShop/BookTestBean/local-bookshop.test.BookTestBeanLocal - EJB3.x Local
Business Interface+
+12:37:25,134 WARN [org.jboss.ejb3.TimerServiceContainer] EJBTHREE-2193: using deprecated
TimerServiceFactory for restoring timers+
+12:37:25,135 INFO [org.jboss.ejb3.session.SessionSpecContainer] Starting
jboss.j2ee:ear=EARShop.ear,jar=BookShop.jar,name=OperazioniUtenti,service=EJB3+
+12:37:25,136 INFO [org.jboss.ejb3.EJBContainer] STARTED EJB:
bookshop.library.sessionbean.OperazioniUtenti ejbName: OperazioniUtenti+
+12:37:25,138 INFO [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase]
Binding the following Entries in Global JNDI:+
*+ EARShop/OperazioniUtenti/local - EJB3.x Default Local Business Interface+*
*+
EARShop/OperazioniUtenti/local-bookshop.library.sessionbean.OperazioniUtentiLocal -
EJB3.x Local Business Interface+*
+12:37:25,139 WARN [org.jboss.ejb3.TimerServiceContainer] EJBTHREE-2193: using deprecated
TimerServiceFactory for restoring timers+
+12:37:25,147 INFO [org.jboss.web.tomcat.service.deployers.TomcatDeployment] deploy,
ctxPath=/WebShop+
+12:37:47,745 INFO [STDOUT] interface
bookshop.library.sessionbean.OperazioniUtentiLocal+
that means i should lookup my ejbs with this name:
+EARShop/OperazioniUtenti/local+
( EAR_NAME/bean/local, not JAR_NAME/bean/local );
i tried it and i found out that it doesn't work; instead it works if i use:
+
EARShop/OperazioniUtenti/local-bookshop.library.sessionbean.OperazioniUtentiLocal+
Why are there 2 jndi binding, non-default and default, and here i need to use the default
while testing my .jar i use the non-default?
A problem however still persist in the lookup procedure:
+opUser = (OperazioniUtenti)
context.lookup("EARShop/OperazioniUtenti/local-bookshop.library.sessionbean.OperazioniUtentiLocal");+
+12:37:47,753 ERROR
[org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/WebShop].[somethingServlet]]
Servlet.service() for servlet somethingServlet threw exception:
java.lang.ClassCastException: $Proxy330 cannot be cast to
bookshop.library.sessionbean.OperazioniUtenti+
+ at webinterface.servlet.somethingServlet.doPost(somethingServlet.java:50) [:]+
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
[:1.0.0.Final]+
bla bla bla
Do you know how to solve it?
Thank you a lot and sorry for bothering you so much!!!
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/603644#603644]
Start a new discussion in JNDI and Naming at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]