The dm Shell

Engineering | Christopher Frost | October 15, 2009 | ...

The dm Server has a new command line shell. It is currently available along with the existing Equinox shell and will replace it for the 2.0 release. Improvements over the Equinox shell include basic tab completion and a command history.

The dm Shell is available both locally and remotely over ssh. When used locally by starting the server with the './ -shell' option it will take over the console output once the dm Kernel has started. Console output will still be viewable in the event log. Either way the first thing to be produced is an ASCII art splash image followed by the command prompt ':> '


Engineering | Steve Powell | October 13, 2009 | ...

(updated 15Oct2009) Beginning in milestone M5, dm Server 2.0 employs regions to isolate the kernel from users’ applications. This means that the kernel implementation is almost completely invisible to applications and to application management.

Also in milestone M5, support for cloning is completely removed. Region isolation and scoped plans between them offer much simpler and more manageable solutions to the most common problems that cloning was intended to address.

In the following two sections I outline these changes, and the reasons we made them.

The regional news

A Region is just like an OSGi framework—it is where applications are installed, resolved and run.

dm Kernel creates a single User Region in which to run applications and all applications (including the ones that dm Server supplies—Splash, Admin, Web and Hosted Repository) are deployed into the User Region

dm Server 2.0.0.M5

Engineering | Ben Hale | October 12, 2009 | ...

dm Server 2.0.0.M5 is now available and can be downloaded from here.

We’re getting towards the end of the 2.0.0 release cycle so most of the work in this milestone is focused on locking down the user interaction model. Take a look at the M5 release notes for the full details of what we’ve been working on. Please keep your feedback coming as comments on our blog, in the forums and on JIRA.

Please also watch the blog for detailed posts on many of the new features referenced in this New and Noteworthy.

New and Noteworthy

Deploying Configuration Files

Properties files can now be deployed in either the pickup directory or in any configured repository. The content of these files is then accessible in OSGi’s ConfigurationAdmin at a PID specified as the file’s name without the .properties extension.

Plan Attributes and Properties

Plans can now have globally defined attributes used for substitution.

	<attribute name="version" value="[1.0.0, 2.0.0)"/>

<artifact type="bundle" name="" version="${version}"/>

Artifacts within plans can have properties defined which are translated into Bundle manifest headers at deployment time.

<artifact type="bundle" name="my.webapp" version="[1.0.0, 2.0.0)">
	<property name="Web-ContextPath" value="/foo"/>

Admin Console

The Artifacts page of the admin console has been spruced up to render the dependencies of user installed artifacts as trees. In addition, each level of these trees is lazily loaded improving load-time performance.

Admin Console

Command-line Shell

dm Server now ships with a command line shell to replace the Equinox console that was previously used. This console is accessible locally with the -shell startup command.

$ bin/ -shell
<KE0001I> Kernel starting.
<KE0002I> Kernel started.
<SH0001I> dm Kernel ssh shell available on port 2402.

     @@@ ***
    @@@ *****            .__.                  .__.            .__.  .__.
   @@@@ ******         __|  |  _____     _____.|  |__    ___…

Drawing Spring into the Blueprint

Engineering | Costin Leau | October 08, 2009 | ...

Last month, almost 4 years after the initial 4.0 release, OSGi Alliance officially approved the OSGi service platform 4.2 release. The announcement headline featured the Blueprint Container Service, a new addition to the Compendium specification based on the programming model promoted by the Spring Dynamic Modules (also known as Spring OSGi) project. To quickly summarize Blueprint, I will just blatantly quote the OSGi spec:

(Blueprint Container) [...] defines a dependency injection framework, specifically for OSGi bundles, that understands the unique dynamic nature of services. It provides an OSGi bundle programming model with minimal implementation dependencies and virtually no accidental complexity in the Java code.

Users familiar with IoC concepts or Spring and Spring DM configuration, will find the Blueprint specification easy to grasp. In fact, being derived from Spring DM, many of…

New Cloud Foundry feature: Save deployment blueprints as Templates

Engineering | Chris Richardson | October 07, 2009 | ...

When you launch a Java web application on Cloud Foundry, you can specify many aspects of a deployment blueprint including: •    Single instance vs. Multiple instances topology •    Virtual instance types •    Public facing IP address •    SSL configuration •    JVM options •    Database configuration •    Monitoring and management •    Self-healing and auto-scaling options •    And more…

The wide range of options gives you the ability to configure the optimal deployment blueprint for your application. The bad news was that you had to re-enter those carefully chosen settings each time you…

Spring Framework 3.0 RC1 released

Engineering | Juergen Hoeller | September 29, 2009 | ...

I'm pleased to announce that we recently released the first Spring 3.0 release candidate (download page). This release completes the key Spring 3.0 feature set. You certainly remember the original Spring 3.0 themes REST and EL; in the meantime, we have been expanding the list significantly:

  • Fully Java 5 based: This is the first Spring generation which requires Java 5 or above, with Java 5 syntax used in the entire Spring API as well as in the entire implementation codebase. For example, the BeanFactory API returns generically typed bean instances wherever possible, and ApplicationListeners may declare a specific event type using generics now. For a comparison: In Spring 2.5, the actual Spring core was still JDK 1.4 compatible, while a lot of higher-level functionality was built on Java 5.

  • Spring expression language (SpEL): a core expression parser for use in bean definitions, allowing for references to nested bean structures (e.g. properties of other beans) as well as to environmental data structures (e.g. system property values) through a common #{...} syntax in property values. This also serves as a foundation for various expression-based features across the Spring project portfolio.

Spring Security Kerberos/SPNEGO Extension

Engineering | Mike Wiesner | September 28, 2009 | ...

We're pleased to announce that the first milestone of the Spring Security Kerberos Extension is now available for download. The release is also available through the Maven milestone repository at With the Spring Security Kerberos Extension, your users are authenticated against your web application just by opening the URL. There is no need to enter a username/password and no need to install additional software.

Before going deeper into Kerberos, I would like to introduce Spring Security Extensions, a new Spring Extension project dedicated to provide…

Bundlor Adds Support for the Blueprint Service

Engineering | Ben Hale | September 26, 2009 | ...

I'm pleased to announce that beginning with its newly released 1.0.0.M6 version, Bundlor now supports OSGi Blueprint Service files.

As with the support for Spring-DM contexts, Bundlor scans for Blueprint Service configuration files in both the default location (OSGI-INF/blueprint/*.xml) and in locations specified with the custom Bundle-Blueprint manifest header. When these files are found, they are scanned for class and interface names and the packages for those types are added to the OSGi manifest that Bundlor creates.

For information about Bundlor and to download this latest milestone, please visit the Bundlor project page

Hyperic + SpringSource + VMware = Goodness

Engineering | jsoltero | September 11, 2009 | ...

The last 100 days have been extraordinary for Hyperic. The events over the last three months place Hyperic in the unique position to be part of defining the future of application deployment and management. First, we announced in May that we were joining forces with SpringSource to build the next great full lifecycle enterprise software company. Judging by the response from our community, customers, partners, and the press, our combined "Build – Run ‑ Manage" strategy was the right choice and something the market has been waiting for.  Next, just a few weeks ago in August and barely 90 days…

Configuration Properties Screencast

Engineering | Steve Powell | September 11, 2009 | ...

In Rob's dm Server Roadmap blog entry, last April, we introduced two new artefact types: “plan” and “configuration file”.

Here is a short screencast demonstrating configuration files, in particular we show how to reference them from a plan.

First, a small web application picks up properties from a configuration properties file—deployed separately from the application. Second, the application and the properties are placed in the repository and a plan is constructed and deployed which installs and starts both the web application and its properties in one step.

Configuration Properties (5:59)

Source Code

The repository configuration-properties in the samples project contains all the code shown in the demonstration.

Git - git://…

Get the Spring newsletter

Thank you!

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all