The Spring Blog

Engineering
Releases
News and Events

dm Server 2.0 M3

dm Server 2.0.0.M3 has been released, and is now available for download.

In the sprints since 2.0.0.M3, we’ve made significant progress towards the final release, both in terms of new features, and in defect fixes. Take a look at the M3 release notes if you’re interested in seeing everything that we’ve been working on. Please keep your feedback coming as comments on our blog, in the forums, and on JIRA.

New and noteworthy

Integration of the OSGi Web Container reference implementation

dm Server now contains the OSGi Web Container reference implementation and uses and builds upon it for all of its web support. As part of this work we’ve also moved to using the standard XML format for the configuration of Tomcat in dm Server.

Read more...

Git Migration

Some of you may have noticed that in recent posts that the dm Server team has been referencing Git repository URLs. The team has been migrating all of its source code and I’m now pleased to announce that this migration is done. The list below contains the Git URLs for the code managed by the dm Server team. If you were referencing the equivalent repositories in SVN, please clone these new repos instead.

This announcement only covers code managed by the dm Server team, and not the entirety of the Spring portfolio. Other projects will be converting at their own pace and the Subversion repositories will stay open until they do.

Read more...

Pluggable styling with SpringSource Slices

Since we announced SpringSource Slices, a number of users and customers have asked about using Slices to make the styling and branding of their Web sites pluggable. In this blog, I’ll demonstrate how easy it is with Slices.

Pluggable styling

I have a standard war file, named styled.host.war, that contains a very simple index.html page:

<html>
	<head>
		<title>SpringSource Slices Pluggable Styling Demonstration</title>
		<link rel="StyleSheet" href="styles/main.css" type="text/css" />
	</head>
	<body>
		<div class="header">
			<div class="title">SpringSource Slices</div>
			<div class="subtitle">Pluggable Styling Demonstration</div>
		</div>
	</body>
</html>
Read more...

Using Yourkit to Find a Memory Leak

I had such a great experience today with Yourkit that I thought I’d write a quick plug. It’s been a couple of years since I used it in anger, and even then it was the best tool I could find, but now it really is ultra slick. I haven’t done an exhaustive survey of the marketplace, and that wasn’t the object of the exercise: I just wanted a tool to solve a problem.

Here’s the story of my day; frustration, then irritation, then finally satisfaction. I had a suspected memory leak in Spring Batch and I needed to track it down quickly. The back story to this is I’ve seen plenty of memory leaks, but I haven’t had to deal with one at the coal face for quite some time. I live in STS these days (sometimes dream in it as well), so I needed a tool that worked well in the IDE. I tried two tools, but only because the first choice didn’t work. The two I tried were TPTP and Yourkit.

Read more...

STS 2.1.0.RC1 Updated for Eclipse 3.5

The latest release candidate for SpringSource Tool Suite has been updated to run on the brand new Eclipse Galileo release. STS 2.1.0.RC1 includes support for Spring Roo, SpringSource dm Server and tc Server, enterprise OSGi tools, as well as all the usual great Spring development tools. This newest version also provides support for a Mac OS X 64 bit Cocoa client. Of course the download for SpringSource Tool Suite is free so get started with the best IDE for enterprise Java development today.

Download | New Feature List | Forum | JIRA

Read more...

Maven PAR Plugin 1.0.0.M1

Shortly after the introduction of SpringSource dm Server (Application Platform at the time), Thorsten Maus created a Maven plugin for creating PAR files. This was a great community contribution and we even used it in the Getting Started Guide for dm Server 1.0.x.

As dm Server’s 2.0 milestones have progressed we’ve been adding new functionality to the PAR file. The most interesting feature is that now a PAR file can contain more than just JAR files. With the introduction of OSGi RFC 66, the dm Server has deprecated Web Modules in favor of the standard Web Container files using a .war extension.  Because of this, the PAR plugin needed to be updated to support these different types as dependencies.  Thorsten graciously agreed to donate his code to SpringSource and I’m pleased to announce the 1.0.0.M1 release of the Apache Licensed Maven PAR Plugin.

Read more...

Installing STS into Eclipse 3.5

Today marks a big day for Eclipse and for everybody involved with the Eclipse ecosystem: Congratulations to the Eclipse folks for releasing Eclipse 3.5 aka Galileo. You can read more about the release at http://www.eclipse.org/galileo/. I encourage everybody to download Eclipse 3.5 today and try it out.

Since SpringSource is strongly committed to Eclipse and we are building our SpringSource Tool Suite on top of the Eclipse technology stack, I’m excited to report that STS can be installed and used with 3.5. Here are some instructions to get started:

Read more...

OSGi Test Stubs 1.0.0.M1

I’m pleased to announce the 1.0.0.M1 release of SpringSource’s OSGi Test Stubs.  These stubs offer a way to unit test complex OSGi Framework interactions without needing a full OSGi container.

The Problem

As the dm Server team has been developing, we found that one of the biggest problem areas for testing for us was in BundleActivators.  Our BundleActivators do quite a bit of publishing services to the service registry as well as consuming services using ServiceTrackers.  These kinds of tasks involve many interwoven calls to BundleContexts, Bundles, ServiceRegistrations, and ServiceReferences.  In the beginning, these activators were simple enough that not much unit testing was done on them, and we depended on integration tests to catch any bugs that were introduced.  As time went on though, the activators became more complex and unit testing became a more pressing need.  We started using EasyMock for these tests, but found that they were very complex, hard to maintain, and most importantly hard to understand.

Read more...

Messaging meets OSGi at OSGi DevCon Europe

Yesterday I was speaking at OSGi DevCon Europe about using Spring Integration and dm Server to tackle common problems in large applications in a pragmatic way. Before and after my session I talked to various people that liked to have a little more information about these ideas. This blog will give an overview of what I talked about.

I’ll jump right in with a summary of the presentation.

Any project will grow during its lifetime of active development. Usually developers add features and fix problems raised by the product owners by adding code. This process will naturally grow the code base. While the source grows the maintenance and fixing bugs typically gets harder. If not dealt with this process will ultimately lead to something I call Code Supernova. This uncontrolled growth, and eventual collapse, can be countered by proper modularization, and OSGi is one of the more compelling medicines currently available.

Read more...

Modular Web Applications with SpringSource Slices

Updated: added sub module instructions for Git.

I’ve talked in the past about providing support for truly modular applications, and I’m pleased to announce that you can now access the early prototype code of SpringSource Slices.

Building and Installing

You can access the source code from our Git repository:

git clone git://git.springsource.org/slices/slices.git
git submodule init
git submodule update

To build a packaged version of Slices simply run ant clean jar package from the build-slices directory:

Read more...