AFAIK geronimo 2.2 supports ejb 3.0, ejb 3.1 support is in progress for geronimo 3.0.  I know there are some features already implemented, and I thought singletons were among the implemented features.  However you shouldn't expect full ejb 3.1 compliance from geronimo 2.2.

david jencks

On Jan 8, 2010, at 5:46 PM, Russell Collins wrote:

Please bear with me as this may be long.  I am trying to be as thorough as possible.  I have upgraded my development environment and projects to use Geronimo 2.2.  I was able to successfully replace the 2.1 server with the 2.2 server in my development environment.  Everything compiled and went smooth from that standpoint (Good job guys).  When trying to run unit tests from an outside client, errors started to appear.  This was to be expected because I was still using the openejb-client-3.0.1 assembly.  When I updated the assembly to openejb-client-3.1.2, everything worked as expected (once again, great job).  By updating this, I was certain that the Geronimo 2.2 tool was using the EJB 3.1 specification.
I then proceeded to try to use some of the new EJB 3.1 features.  More specifically, the Singleton.  I changed one of the annotations for my EJBs to Singleton and immediately got an error.  I then checked the classpath to make sure I was pointing to the correct Geronimo installation.  I was.  In viewing the library assemblies in my project, I did not see anything that looked like a EJB 3.1 assembly underneath the Apache Geronimo 2.2 library.  The only assembly that I found is titled: geronimo-ejb_3.0_spec-1.0.1.jar.  I went to that assembly and opened up the jar file.  I did see implementation classes for Stateful and Stateless but I did not see one for Singleton as I had expected.  I do not know if this is a GEP issue or a Geronimo Server issue.  In summary, it appears that the running server is using EJB 3.1 but when referencing the library during development time, it is only using the 3.0 specification.  Can someone help me out with this?
Russell Collins
Sr. Software Engineer
McLane Advanced Technology
"Do or do not, there is no try." - Yoda

CONFIDENTIALITY NOTICE: The information contained in this electronic mail (email) transmission (including attachments), is intended by MCLANE ADVANCED TECHNOLOGIES for the use of the named individual or entity to which it is addressed and may contain information that is privileged, confidential and/or protected as a trade secret. It is not intended for transmission to, or receipt by, any individual or entity other than the named addressee(s). If you have received this email in error, please delete it (including attachments) and any copies thereof without printing, copying or forwarding it, and notify the sender of the error by email reply immediately.