Recently we released the first milestone of the Flex Addon for Spring Roo as a part of the Spring BlazeDS Integration 1.5.0.M1 distribution. This addon aims to bring the productivity and usability benefits of Spring Roo to the development of Spring-based RIAs with Flex. The below 15 minute screencast (split into two parts) serves as a quick introduction to the addon and its capabilities. Watch as we go from installation of the addon to a fully functional Flex application backed by Spring in just a handful of commands.
Virgo 2.1.0.M02-incubator is available for download. Apart from completing the “getting started guide”, this milestone dramatically reduces startup time - by as much as 5x on some systems.
This should be a further incentive for users of dm Server to migrate to Virgo: Virgo is the codebase for future development, has more liberal licensing, and now provides much faster startup.
We measured elapsed time for a warm startup (i.e. without -clean) of the Virgo web server and compared milestone M02 to M01.
In part 1 of this series, I introduced you to some of the subtleties associated with persisting domain instances with GORM. This time, I’m going to tackle relationships with particular focus on hasMany and belongsTo.
GORM provides only a few basic elements for defining relationships between domain classes, but they are sufficient to describe most needs. When I give training courses on Grails, it always surprises me how few slides cover relationships. As you can imagine, this apparent simplicity does hide some subtle behaviour that can trip up the unwary. Let’s start with the most basic of relationships: the many-to-one.
Hot on the heels of the STS on Eclipse 3.6 and Gemini Web milestone announcements, I am glad to report that the first milestone of Gemini Blueprint is available for download. Part of the Gemini project, Blueprint builds on top of the Spring Dynamic Modules v2 code base and is the Reference Implementation for the OSGi 4.2 Blueprint specification. Besides the changes reflecting the transition to the Eclipse Foundation, 1.0.0.M1 code base has been upgraded to the latest Spring framework release.
Gemini Blueprint is dual licensed under Apache License and Eclipse Public License.
Last week the Eclipse Foundation released the much anticipated next version of Eclipse. You can download Eclipse 3.6 aka Helios from SpringSource’s member distribution page. Also check out the New & Noteworthy for this release.
The Tools Team at SpringSource has been busy updating our developer tools to support Eclipse 3.6 and while we haven’t released a new version of SpringSource Tool Suite that builds on and bundles 3.6 yet, users can now install STS on top of Eclipse 3.6.
Detailed steps to install STS from our nightly update sites can be found in the installation instructions. Please carefully follow the outlined steps in the “Installing from the Nightly Snapshot Update Site” section starting on page 9.
SpringSource developed the Reference Implementation of the OSGi Web Container and then contributed the code to Eclipse as the Web sub-project of Gemini. The goal of Gemini is to provide modular implementations of Java EE technology. Gemini Web provides servlet and JSP technology.
Gemini Web runs on the Equinox OSGi framework and embeds Tomcat. It is also integrated into the Eclipse Virgo web server.
SpringSource’s Tomcat expert, Mark Thomas, describes the details of the release at TomcatExpert.com.In addition to the implementation of the Servlet 3.0, JSP 2.2 and EL 2.2 specifications, Tomcat 7 boasts a number of new features:
- memory leak prevention and detection
- protection against session fixation attacks
- a simple filter to add cross-site request forgery protection to an application
- simplified embedding
- alias support
- better security for the Manager and Host Manager applications
Are you new to Grails? Or have you perhaps run into your first GORM “oddity”? If so, then you’ll want to read this series on GORM gotchas. Not only will the articles highlight those little idiosyncrasies that often catch people out, but they will also explain why GORM behaves in these ways.
Hopefully you will already know that GORM is the database access library that comes with Grails. It’s based on probably the most popular Java ORM out there: Hibernate. As you can imagine, Hibernate is a powerful and flexible library and it brings big benefits to GORM. But there is a cost to using it: many of the problems that users of GORM run into stem from the way Hibernate works. GORM tries to hide the implementation details as best it can, but they do leak out on occasion.