quality@glassfish.java.net

Re: Failed to deploy EJB app on GFv3

From: Adam Bien <abien_at_adam-bien.com>
Date: Mon, 25 Aug 2008 14:08:07 +0200

Hi Wouter,

why singleton, @Stateless should be enough. Singleton comes with EJB 3.1
- probably not implemented yet...

regards,

adam
Wouter van Reeven schrieb:
> Hi,
>
>
> Today I created a very simple web application in NetBeans 6.1. I created two
> Entity classes, a local session bean interface and a stateless implementation, a
> JSF managed bean and a JSF page. In order to get this working in NetBeans I had
> to create a GFv3 library and add several jars despite of the GFv3 plugin I
> installed, but that's another issue.
>
> When I tried to deploy the war I got this error in the GFv3 server.log
>
> org.jvnet.hk2.component.ComponentException: Failed to create class org.glassfish.ejb.EjbSniffer
> at com.sun.hk2.component.ConstructorWomb.create(ConstructorWomb.java:76)
> at com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:74)
> at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
> at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
> at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
> at org.jvnet.hk2.component.Habitat$1.get(Habitat.java:243)
> at java.util.AbstractList$Itr.next(AbstractList.java:345)
> at com.sun.enterprise.v3.server.SnifferManager.createSnifferParentCL(SnifferManager.java:150)
> at com.sun.enterprise.v3.server.SnifferManager.createSnifferParentCL(SnifferManager.java:161)
> at com.sun.enterprise.v3.deployment.DeployCommand.execute(DeployCommand.java:238)
> at com.sun.enterprise.v3.admin.CommandRunner.doCommand(CommandRunner.java:286)
> at com.sun.enterprise.v3.admin.CommandRunner.doCommand(CommandRunner.java:114)
> at com.sun.enterprise.v3.admin.CommandRunner.doCommand(CommandRunner.java:94)
> at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:230)
> at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:156)
> at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:148)
> at com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:621)
> at com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:552)
> at com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:800)
> at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)
> at com.sun.enterprise.v3.services.impl.HttpProtocolFilter.execute(HttpProtocolFilter.java:82)
> at com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:70)
> at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
> at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
> at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
> at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
> at com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:309)
> at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:168)
> Caused by: java.lang.NoClassDefFoundError: javax/ejb/Singleton
> at org.glassfish.ejb.EjbSniffer.<clinit>(EjbSniffer.java:65)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at java.lang.Class.newInstance0(Class.java:355)
> at java.lang.Class.newInstance(Class.java:308)
> at com.sun.hk2.component.ConstructorWomb.create(ConstructorWomb.java:70)
> ... 27 more
> Caused by: java.lang.ClassNotFoundException: javax.ejb.Singleton
> at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:200)
> at org.apache.felix.framework.searchpolicy.R4SearchPolicy.findClass(R4SearchPolicy.java:45)
> at org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClass(ContentClassLoader.java:109)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> ... 35 more
> Caused by: java.lang.ClassNotFoundException: javax.ejb.Singleton
> at org.apache.felix.framework.searchpolicy.R4Wire.getClass(R4Wire.java:109)
> at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.searchImports(R4SearchPolicyCore.java:507)
> at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClassOrResource(R4SearchPolicyCore.java:468)
> at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:187)
> ... 39 more
>
> Issuing this command in the modules directory
>
> for i in *.jar; do echo $i; jar tf $i | grep Singleton.class; done
>
> shows there is no javax.ejb.Singleton class. I queried Issue Tracker but there
> is no bug reported for this yet. Would you like me to do that?
>
>
> Thanks, Wouter
>


-- 
 Consultant, Author, Java Champion
 
 Homepage: www.adam-bien.com
 Weblog: blog.adam-bien.com
 eMail:  abien_at_adam-bien.com
 Mobile: 0049(0)170 280 3144
 Books: Enterprise Architekturen (ISBN: 393504299X),
        Java EE 5 Architekturen  (ISBN: 3939084247),
        J2EE Patterns, J2EE Hotspots, Enterprise Frameworks and Struts