1 Attachment(s)
javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB
Hello Everyone,
I'm a new to JavaEE and currently I'm following the The Java EE 6 Tutorial (March 2011).
System:
- Windows 7 Professional 32-bit
- java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode, sharing)
- GlassFish Server 3.1 Open Source glassfish-3.1-windows.exe
- netbeans-6.9.1-ml-windows.exe
- apache-maven-3.0.2-bin.zip
After installations are done, I used Update Tool to obtain the Java EE Tutorial and it is now at C:\glassfish3.1\glassfish\docs\javaee-tutorial\ where C:\glassfish3.1\ is the installed_dir of the GlassFish Server 3.1 Open Source.
Then now I'm following the The Java EE 6 Tutorial that is C:\glassfish3.1\glassfish\docs\javaee-tutorial\doc\javaeetutorial6.pdf.
Now I'm building, deploying, and running the example async that is one of EJB examples, located at C:\glassfish3.1\glassfish\docs\javaee-tutorial\examples\ejb\async\.
It was builded OK.
It was deployed OK.
At the browser Firefox 3.6.16, I went to http://localhost:8080/async/. I provided an email and then clicked Send email button, I saw an error below:
javax.ejb.EJBException: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB
The server.log (in C:\glassfish3.1\glassfish\domains\domain1\logs\) showed:
[#|2011-03-30T09:51:39.397-0700|INFO|glassfish3.1|org.hibernate.validator.eng ine.resolver.DefaultTraversableResolver|_ThreadID= 29;_ThreadName=Thread-1;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATravers ableResolver.|#]
[#|2011-03-30T09:51:39.464-0700|SEVERE|glassfish3.1|javax.enterprise.system.c ontainer.ejb.com.sun.ejb.containers|_ThreadID=180; _ThreadName=Thread-1;|EJB5070: Exception creating stateless session bean : [MailerBean]|#]
[#|2011-03-30T09:51:39.466-0700|WARNING|glassfish3.1|javax.enterprise.system. container.ejb.com.sun.ejb.containers|_ThreadID=180 ;_ThreadName=Thread-1;|A system exception occurred during an invocation on EJB MailerBean method public java.util.concurrent.Future async.ejb.MailerBean.sendMessage(java.lang.String)
javax.ejb.EJBException: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB
at com.sun.ejb.containers.StatelessSessionContainer._ getContext(StatelessSessionContainer.java:454)
at com.sun.ejb.containers.BaseContainer.getContext(Ba seContainer.java:2528)
at com.sun.ejb.containers.BaseContainer.preInvoke(Bas eContainer.java:1895)
at com.sun.ejb.containers.EjbAsyncTask.call(EjbAsyncT ask.java:99)
at java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.jav a:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB
at com.sun.ejb.containers.StatelessSessionContainer$S essionContextFactory.create(StatelessSessionContai ner.java:726)
at com.sun.ejb.containers.util.pool.NonBlockingPool.g etObject(NonBlockingPool.java:247)
at com.sun.ejb.containers.StatelessSessionContainer._ getContext(StatelessSessionContainer.java:449)
... 8 more
Caused by: javax.ejb.CreateException: Could not create stateless EJB
at com.sun.ejb.containers.StatelessSessionContainer.c reateStatelessEJB(StatelessSessionContainer.java:5 34)
at com.sun.ejb.containers.StatelessSessionContainer.a ccess$000(StatelessSessionContainer.java:95)
at com.sun.ejb.containers.StatelessSessionContainer$S essionContextFactory.create(StatelessSessionContai ner.java:724)
... 10 more
Caused by: java.lang.IllegalStateException: Exception attempting to inject Res-Ref-Env-Property: mail/myExampleSession@javax.mail.Session@ resolved as: jndi: mail/myExampleSession@res principal: null@mail: null
No Runtime properties
Database Vendor : null
Create Tables at Deploy : false
Delete Tables at Undeploy : false into class async.ejb.MailerBean
at org.glassfish.weld.services.InjectionServicesImpl. aroundInject(InjectionServicesImpl.java:137)
at org.jboss.weld.injection.InjectionContextImpl.run( InjectionContextImpl.java:50)
at org.jboss.weld.bean.SessionBean$1.inject(SessionBe an.java:190)
at org.glassfish.weld.services.JCDIServiceImpl.inject EJBInstance(JCDIServiceImpl.java:198)
at com.sun.ejb.containers.BaseContainer.injectEjbInst ance(BaseContainer.java:1675)
at com.sun.ejb.containers.StatelessSessionContainer.c reateStatelessEJB(StatelessSessionContainer.java:4 94)
... 12 more
Caused by: com.sun.enterprise.container.common.spi.util.Injec tionException: Exception attempting to inject Res-Ref-Env-Property: mail/myExampleSession@javax.mail.Session@ resolved as: jndi: mail/myExampleSession@res principal: null@mail: null
No Runtime properties
Database Vendor : null
Create Tables at Deploy : false
Delete Tables at Undeploy : false into class async.ejb.MailerBean
at com.sun.enterprise.container.common.impl.util.Inje ctionManagerImpl._inject(InjectionManagerImpl.java :698)
at com.sun.enterprise.container.common.impl.util.Inje ctionManagerImpl.inject(InjectionManagerImpl.java: 468)
at com.sun.enterprise.container.common.impl.util.Inje ctionManagerImpl.injectInstance(InjectionManagerIm pl.java:173)
at org.glassfish.weld.services.InjectionServicesImpl. aroundInject(InjectionServicesImpl.java:130)
... 17 more
Caused by: javax.naming.NamingException: Lookup failed for 'java:comp/env/mail/myExampleSession' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterpr ise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.pr esentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.na ming} [Root exception is javax.naming.NamingException: Lookup failed for 'mail/myExampleSession' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterpr ise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.pr esentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.na ming, com.sun.enterprise.naming.logicalName=java:comp/env/mail/myExampleSession} [Root exception is javax.naming.NameNotFoundException: mail]]
at com.sun.enterprise.naming.impl.SerialContext.looku p(SerialContext.java:518)
at com.sun.enterprise.naming.impl.SerialContext.looku p(SerialContext.java:455)
at javax.naming.InitialContext.lookup(InitialContext. java:392)
at javax.naming.InitialContext.lookup(InitialContext. java:392)
at com.sun.enterprise.container.common.impl.util.Inje ctionManagerImpl._inject(InjectionManagerImpl.java :597)
... 20 more
Caused by: javax.naming.NamingException: Lookup failed for 'mail/myExampleSession' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterpr ise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.pr esentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.na ming, com.sun.enterprise.naming.logicalName=java:comp/env/mail/myExampleSession} [Root exception is javax.naming.NameNotFoundException: mail]
at com.sun.enterprise.naming.impl.SerialContext.looku p(SerialContext.java:518)
at com.sun.enterprise.naming.impl.SerialContext.looku p(SerialContext.java:455)
at javax.naming.InitialContext.lookup(InitialContext. java:392)
at javax.naming.InitialContext.lookup(InitialContext. java:392)
at com.sun.enterprise.naming.util.JndiNamingObjectFac tory.create(JndiNamingObjectFactory.java:90)
at com.sun.enterprise.naming.impl.GlassfishNamingMana gerImpl.lookup(GlassfishNamingManagerImpl.java:772 )
at com.sun.enterprise.naming.impl.GlassfishNamingMana gerImpl.lookup(GlassfishNamingManagerImpl.java:740 )
at com.sun.enterprise.naming.impl.JavaURLContext.look up(JavaURLContext.java:172)
at com.sun.enterprise.naming.impl.SerialContext.looku p(SerialContext.java:498)
... 24 more
Caused by: javax.naming.NameNotFoundException: mail
at com.sun.enterprise.naming.impl.TransientContext.re solveContext(TransientContext.java:310)
at com.sun.enterprise.naming.impl.TransientContext.lo okup(TransientContext.java:218)
at com.sun.enterprise.naming.impl.SerialContextProvid erImpl.lookup(SerialContextProviderImpl.java:77)
at com.sun.enterprise.naming.impl.LocalSerialContextP roviderImpl.lookup(LocalSerialContextProviderImpl. java:119)
at com.sun.enterprise.naming.impl.SerialContext.looku p(SerialContext.java:505)
... 32 more
|#]
Please let me know what I was missing or it is GlassFish 3.1 Open Source bug.
Thank you in advance.