The Spring Blog

Engineering
Releases
News and Events

First Eclipse Gemini Web Milestone Ships

Gemini
The first milestone (1.1.0.M01) of Eclipse Gemini Web is now available for download, dual-licensed under the Eclipse Public License and the Apache License 2.0.

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.

Read more...

Apache Tomcat 7.0.0 beta is Now Available

The first Apache Tomcat 7 release, Tomcat 7.0.0 beta, is now available from the Tomcat 7 download page at the Apache Software Foundation.

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

Read more...

GORM Gotchas (Part 1)

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.

Read more...

First Virgo Milestone Ships

Virgo from EclipseRT
The first milestone (2.1.0.M01) of Eclipse Virgo is now available for download under the Eclipse Public License. This consists of an application server, known as the Virgo Web Server, and a stand-alone kernel.

The goal of this milestone is for dm Server 2.0.x users to be able to migrate to it relatively painlessly and have an equally stable environment. SpringSource is offering commercial support for Virgo and we encourage all dm Server users to migrate to Virgo. The main communication channel with users is now the Virgo forum. There is also a Virgo developer mailing list and a weekly Virgo community call.

Read more...

Spring 3.0.3 is Now Available

Juergen Hoeller has announced that Spring 3.0.3 is now available. This minor release addresses over 100 minor issues and catches up with some recent third-party releases.

Download | Documentation | Javadoc API | Change Log | JIRA

Please note that we are not providing a dependencies download anymore. The recommended way of obtaining third-party libraries for use with Spring is Maven/Ivy; you could also download third-party distributions of your choice and take the jars from there. Note that there is no reason to upgrade third-party libraries unless you want to: The simplest solution is to keep using the versions that you know and trust.

Read more...

Spring Framework 3.0.3 released

After several weeks of fine-tuning and community feedback, Spring Framework 3.0.3 is now available. This release fixes more than a hundred minor issues reported against Spring 3.0.2, in particular in the JSP tag library and in Portlet session handling, as well as in ConversionService details. Once again, this release catches up with recent third-party releases: OpenJPA 2.0 final, Hibernate 3.5.2, and JBoss 6.0.0 M3, all of which are fully supported in combination with Spring 3 now.

Note that, in the meantime, all major persistence providers have released GA versions with JPA 2.0 support, even including a JPA 2.0 feature pack for WebSphere 7. This clearly suggests that JPA 2.0 is about to become mainstream… A good time to give it a try if you haven’t done so already! Of course, Spring 3 is happy to work with a server-provided JPA 2.0 EntityManagerFactory (e.g. in a WebSphere environment), while also being able to bring the full power of embedded JPA 2.0 to Tomcat and standalone environments. (At the same time, Spring 3 will automatically adapt to a JPA 1.0 provider as well if that is what it encounters at runtime, e.g. on a Java EE 5 server.)

Read more...

Understanding AMQP, the protocol used by RabbitMQ

Update I changed the first paragraph to clarify the relationship between RabbitMQ and JMS.

RabbitMQ is a lightweight, reliable, scalable and portable message broker. But unlike many message brokers familiar to Java developers, it's not based on JMS. Instead, your applications communicate with it via a platform-neutral, wire-level protocol: the Advanced Message Queuing Protocol (AMQP). Fortunately there's already a Java client library and SpringSource is working on first class Spring and Grails integration - so don't worry about having to do low-level stuff to use RabbitMQ. You can even find AMQP client libraries that expose a JMS interface. But AMQP is sufficiently different in operation from JMS that it might cause headaches for Java developers that are used to the JMS model.

Read more...

Spring: the foundation for Grails

In the SpringSource training course for Groovy & Grails, we highlight that Grails stands on the shoulders of giants. One of those giants is Spring. Without it, Grails simply wouldn’t have been developed as quickly as it was. It probably wouldn’t have the flexibility to integrate easily with enterprise Java systems either. Just look at the number of plugins available: many are based on Java libraries with Spring support.

In this post, I want to start by looking at how Grails uses Spring and then cover the various ways in which you can access that raw power and flexibility.

Read more...