GlassFish Server Open Source Edition 3.1 - EJB Improvements
Note : There will be some ejb/naming work to support the IIOP Loadbalancing/failover feature. See http://kenai.com/projects/gf-corba-v3-mirror/pages/TableVersion for details. Milestone Mappings
|
Feature-ID | Desired Improvement | Priority | Comments | Issue Link | Eng Response |
---|---|---|---|---|---|
EJB-1 | SFSB Checkpointing | P1 | Support for high availability of SFSB state | 12200 | YES |
EJB-2 | EJB Timer Cluster/Failover Support | P1 | Port V2 Timer functionality, including migrate-timers command and --target option of list-timers command. Only new behavior is support for automatic timer creation. Might not be able to fully support automatic timer migration due to automatic tx recovery work being assigned P2 | 12201 | YES |
EJB-3 | Additional DTrace Probes | P2 | Cover Java EE API - javax.ejb.* | No (next release) | |
EJB-4 | Support Weblogic EJB descriptor | P3 | It's only feasible to support a subset of the elements that map to existing behavior. Specifically, those marked as "low impact" in DD analysis | No (next release) | |
EJB-5 | Full EJB 3.1 API support and libraries in classpath in Embeddable EJB API | P3 | Add support for missing EJB 3.1 functionality ( Web Service endpoints, MDBs, Timer Service ) and support for packaging subset of non-EJB classes into libraries in Embeddable EJB API | 12202 , 12151 | YES (lower priority than EJB-1, EJB2) |
EJB-6 | Retain SFSB / EJB Timer state during redeployment | P3 | Similar to web container Http Session retaining feature but for application-state associated with EJB components in an application | 12203 | May be (lower priority than EJB1, EJB2, EJB-5) |
EJB-7 | User-specified thread-pools for EJB timers / async | P3 | Provide an option to select which thread pool should be used for async and timer callbacks. | 7138 | Next release |
EJB-8 | Option to disable V2 Vendor-specific JNDI names | P3 | Now that EJB 3.1 has portable EJB JNDI names, there is less need for the old vendor-specific names. By default, vendor-specific default JNDI names are applied automatically for backward compatibility, but that can lead to some ease-of-use issues. | 11729 | Yes (lower priority than EJB-5, EJB-6) |
EJB-9 | EJB 3.1 Singleton support | P2 | No new work is needed to support the EJB 3.1 spec behavior of per-JVM singleton instance creation. We evaluated using the EJB Singleton component as the basis of a new per-cluster Singleton, but the programming model is not a good fit. | 12205 | Partial (per-JVM only) |
Task | Target Milestone | Start Date | End Date | Owner(s) | Feature ID | Status / Comments |
---|---|---|---|---|---|---|
Implement SFSB Tx checkpointing | MS4 | Mahesh | EJB-1-1 | This is done by MS3 | ||
Implement SFSB method checkpointing | MS4 | Mahesh | EJB-1-2 | Done. Have a manual test. Converting it into a script based test | ||
glassfish-ejb-jar.xml checkpointing elements in DOL | MS4 | Cheng | EJB-1-3 | Done | ||
Serialization/Deserialization of all EJB reference types stored in SFSBs and HTTP Sessions | MS4 | Mahesh | EJB-1-4 | Done by MS3. A new class JavaEEIOUtils provides the contract that can be used by containers to serialize / deserialize states. This internally uses Sahoo's OSGiIOFactory class. Tested (during MS3) by keeping ejb references in web sessions. | ||
Implement client side of HA store SPI | MS3 | Mahesh | EJB-1-5 | Done | ||
Write new SFSB checkpointing/failover tests | MS4 | Mahesh | EJB-1-6 | Done | ||
migrate-timers command | MS4 | Cheng | EJB-2-1 | Done | ||
--target option of list-timers command | MS4 | Cheng | EJB-2-2 | Done | ||
Enable GMS failure notifications for auto timer migration | MS4 | Marina | EJB-2-3 | Done | ||
Coordination with tx module for correct behavior during auto tx recovery | MS5 | Marina | EJB-2-4 | Done | ||
Automatic timer creation during deployment | MS4 | Marina | EJB-2-5 | Done | ||
Write new clustered timer tests | MS5 | Marina/Cheng | EJB-2-6 | Done | ||
Support for libraries in classpath in EJB Embeddable API | MS3 | Marina | EJB-5-1 | Done | ||
MDB support in EJB Embeddable API | MS6 | Marina | EJB-5-2 | Depends on JMS support in Embedded GlassFish | ||
WS Endpoint support in EJB Embeddable API | MS6 | Marina | EJB-5-3 | Partial support is available | ||
Timer Service support in EJB Embeddable API | MS3 | Marina | EJB-5-4 | Done | ||
Use non-default ports for Remote EJBs, JMS, etc. | MS6 | Marina | EJB-5-5 | Dropped | ||
Retain unique app. id / ejb ids across redeployment | MS5 | Mahesh | EJB-6-1 | Done by MS3 | ||
New command-line arg for asadmin --keepstate | MS5 | Hong | EJB-6-2 | Done | ||
Skip deletion of SFSB persistent state if --keepstate=true | MS6 | Mahesh / Cheng | EJB-6-3 | Done | ||
Preserve EJB Timers accross redeployments if --keepstate=true | MS6 | Cheng / Marina | EJB-6-4 | Done | ||
Container changes to use configured thread pool | MS5 | Mahesh / Cheng | EJB-7 | Dropped | ||
New ejb-container property for disabling GlassFish-specific JNDI names | MS3 | Cheng | EJB-8-1 | Done | ||
Container changes to skip GlassFish-specific JNDI names | MS3 | Cheng | EJB-8-2 | Done |
EJB-4 | Support Weblogic EJB descriptor | |
EJB-3 | Additional DTrace probes | |
EJB-5 | Full EJB 3.1 API support in Embeddable EJB API | Note: partial support is available |
EJB-7 | User-specified thread-pools for EJB timers / async |