geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maarten Billemont <lhun...@gmail.com>
Subject Injecting EJBs into Wicket
Date Tue, 31 Mar 2009 14:09:18 GMT
Hey,

I'm using Wicket for my web framework; and I'm trying to get my EJBs  
injected into my Wicket code.

My issue has very little to do with Wicket, though.

I basically have an EJB in my.jar which is picked up by OpenEJB and  
bound in the JNDI; and I'd like to access it from my.war (my Wicket  
application).

So I do this from my-war:
ic = new InitialContext();
myBeanProxy = (MyBeanLocalInterface)  
ic.lookup(MyBeanLocalInterface.class.getName());

This however fails with this in the logs:
15:35:06,308 INFO  [OpenEJB] Auto-deploying ejb  
my.group.my.ejb.MyBeanLocalInterface: EjbDeployment(deployment- 
id=my.jar/my.group.my.ejb.MyBeanLocalInterface)
15:35:06,320 INFO  [config] Loaded Module: my.group/my-deploy/1.0- 
SNAPSHOT/ear
15:35:09,095 INFO  [startup] Assembling app: /usr/local/share/geronimo- 
jetty6-javaee5-2.1.3/var/temp/geronimo- 
deploymentUtil7334128487386261603.jar
15:35:09,126 INFO  [startup]  
Jndi(name=my.group.my.ejb.MyBeanLocalInterface) --> Ejb(deployment- 
id=my.jar/my.group.my.ejb.MyBeanLocalInterface)
15:35:09,126 INFO  [startup] Created Ejb(deployment-id=my.jar/ 
my.group.my.ejb.MyBeanLocalInterface, ejb- 
name=my.group.my.ejb.MyBeanLocalInterface, container=Default Stateless  
Container)
15:35:16,824 ERROR [JavaEEInjectionListener] Unexpected Error
javax.naming.NameNotFoundException: my.group.my.ejb.MyBeanLocalInterface
         at  
org 
.apache 
.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:169)
         at  
org 
.apache 
.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:603)
         at javax.naming.InitialContext.lookup(InitialContext.java:409)
         at  
my 
.group 
.my 
.view 
.JavaEEInjectionListener.onInstantiation(JavaEEInjectionListener.java: 
107)


Here's my setup:
my.ear (artifactId my-deploy)
  |
  |- my.war (artifactId my-view, contains my.group.my.view.*)
  |
  |- my.jar (artifactId my-controller contains my.group.my.ejb.*)
  |
  |- META-INF/application.xml
  \- META-INF/geronimo-application.xml

my.ear/application.xml:
   <module>
     <web>
       <web-uri>my.war</web-uri>
       <context-root>/</context-root>
     </web>
   </module>
   <module>
     <ejb>my.jar</ejb>
   </module>
   <library-directory>lib/</library-directory>

my.ear/geronimo-application.xml:
     <dep:environment>
         <dep:moduleId>
             <dep:groupId>my.group</dep:groupId>
             <dep:artifactId>my-deploy</dep:artifactId>
             <dep:version>1.0-SNAPSHOT</dep:version>
             <dep:type>ear</dep:type>
         </dep:moduleId>
     </dep:environment>

my.war/geronimo-web.xml:
     <dep:environment>
         <dep:moduleId>
             <dep:groupId>my.group</dep:groupId>
             <dep:artifactId>my-view</dep:artifactId>
             <dep:version>1.0-SNAPSHOT</dep:version>
         </dep:moduleId>
     </dep:environment>

     <context-root>/</context-root>

my.jar/openejb-jar.xml:
   <properties>
      openejb.jndiname.format = {interfaceClass}
   </properties>


Mime
View raw message