Granite Data Services 1.1.0 Release Candidate 4 is out. You may download it, as usual, on Sourceforge here. This should be the last release candidate before the final 1.1.0 (schedule for late August).
Here is some highlights about main new features/improvements/bugfixes:
Pojo support:
- You may now use @RemoteDestination(id="...", scope="[request|session|application]") with pojos.
- You may now use RMI calls (ejbs on separate server): see InitialContext configuration in previous post here.
- Stateful ejbs are fully supported: see auto-detection or declarative configuration in previous post here.
- Jars packaging is simplified: you should now use "granite-tide.jar", "granite-tide-hibernate.jar" and "granite-tide-seam.jar" (instead of "granite.jar", "tide.jar", "granite-hibernate.jar" and "granite-seam.jar").
- Due to bugfixes, you must regenerate all your AS3 beans (the base ones).
- commons-beanutils.jar (not used anymore).
- jdom.jar (note used anymore).
- log4j.jar: log4j is only used if it is present, otherwise GDS logging system will switch to standard java.util.logging implementation. You may also write your own logging implementation (see the org.granite.logging.Logger class).
Here is the complete release note for this RC4 (see also GDS Jira):
New Feature
- [GDS-169] - Add @RemoteDestination support for POJO services
Improvement
- [GDS-142] - Use a 2-phase writing method when generating files (first in memory, then to output file)
- [GDS-143] - Tide: improve client entity caching in context
- [GDS-144] - Tide: notify client components before they are destroyed
- [GDS-151] - Add initial context parameters support in EJB factories
- [GDS-155] - Tide: remove dependency on Seam for paged collection
- [GDS-156] - Improve properties handling for services-config.xml files
- [GDS-164] - Tide: improve and simplify security integration
- [GDS-167] - Tide: cleanup of identity/security
Task
- [GDS-152] - Tide: rename internal variables of context with a meta prefix to avoid naming conflicts
- [GDS-162] - Remove JDOM dependency
- [GDS-163] - Remove commons-beanutils dependency
- [GDS-165] - Make log4j dependency optional
- [GDS-168] - Tide: split the project in technology-specific subpackages
Bug
- [GDS-134] - Stateful session beans are cached in application context (should be in session cache)
- [GDS-141] - entity with Embedded/compound key are not bieng generating with a compond id field.
- [GDS-145] - Tide: context requests too many server expressions evaluations
- [GDS-146] - Tide: concurrent access error when trying to synchronize context with stateful ejb3 Seam component
- [GDS-147] - Invalid child element type defined for exceptionconverters in granite-config.dtd
- [GDS-148] - Tide: incorrect cleaning of context after remote fault
- [GDS-149] - not use override in subclass' uid and use parent's private attribute _id directly
- [GDS-150] - gas3 can't generate uid incorrently when class hierarchy higher 2 levels
- [GDS-153] - Tide: fixed lifecycle of context destruction
- [GDS-154] - Tide: component call swallows exceptions
- [GDS-158] - Tide: premature removal of asynchronous event listeners
- [GDS-159] - Tide: stack overflow in remote asynchronous calls
- [GDS-160] - Tide: context does not detect all changes on managed collections/entities
- [GDS-161] - Tide: context events not correctly dispatched in conversation contexts
- [GDS-173] - throws NoConverterFoundException when the enity use generic type
Best regards,
Franck.