dm Server project moves to Eclipse.org

Engineering | Adrian Colyer | January 12, 2010 | ...

Today we will be releasing version 2.0 of the dm server. This represents a major milestone for the project, and for enterprise application development with OSGi in general. I’m delighted to now be able to reveal the next step in the dm Server journey: we have submitted a proposal at Eclipse.org to continue development of the dm Server as part of the Eclipse RT top-level project. The Eclipse nickname for the project is Virgo.

Quick links:

What does this mean for users of dm Server?

The move to Eclipse.org has a number of practical implications for users of dm Server:
  • Project hosting, home pages, forums, and downloads will all be moved to Eclipse.org infrastructure
  • The license will change from the current (largely) GPL license, to the Eclipse Public License (EPL)
  • It will be much easier for other organizations and community members to get involved in the ongoing development of Virgo
The combination of the license change and community hosting at Eclipse.org opens the codebase to a much broader set of users and developers.

The follow-on release of dm Server will be developed and released from Eclipse.org.

Why is SpringSource making this change?

The dm Server represents a significant amount of intellectual property (IP) and has been in full-time development for over 2 years. Why would SpringSource move this project to Eclipse.org?

We set out with a vision to make modular application development a…

dm Server 2.0.0 released

Engineering | Andy Wilkinson | January 12, 2010 | ...

As Adrian mentioned, today is the day for dm Server 2.0 and I'm delighted to announce that dm Server 2.0 is now available. Thank you for all of the feedback that we've had during the development of 2.0, it's helped to shape it into what we believe is a big step forward for enterprise OSGi. We're now looking forward to the next steps on the journey at Eclipse.org.

There's a lot of great stuff in the 2.0 release. Here's a brief overview:

  • dm Shell - we've added a brand new shell in 2.0, that's available both in-process and remotely over ssh. It provides extensive support for managing a dm Server instance and its deployed artifacts.
  • Admin console - the admin console has been extensively overhauled in 2.0. It provides, among other things, support for managing and deploying artifacts, examining diagnostic dumps, and examining the bundle wiring both in the live system, and at the time of a resolution failure.
  • Plans - dm Server 2.0 introduces support for plans which are powerful alternative to 1.0's PARs for deploying modular applications. A plan can be used to reference all of the artifacts that comprise your application, optionally making the application atomic to tie the child artifact lifecycles together, and scoped to isolate the application from other applications deployed in the same dm Server instance.
  • Provisioning - dm Server's always had excellent provisioning support and in 2.0 it's got even better. In addition to the automatic provisioning of bundles based on the needs of the installed applications that was available in 1.0, dm Server 2.0 provides support for provisioning plans, PARs, and configuration from both local and remote repositories.
  • Web support - dm Server 2.0 builds upon 1.0's Web support and embeds the Tomcat-based reference implementation for the OSGi Web Container specification, allowing users to deploy vanilla WAR files with all their dependencies in WEB-INF/lib, and Web Application Bundles that import their dependencies via OSGi manifest metadata. The web container is configurable using the standard Tomcat server.xml.
  • User region - dm Server 2.0 introduces a user region which isolates the dm Kernel from user-installed applications. Among other things, this simplifies administration as it allows users to focus on user application artifacts and their dependencies without having to deal with those of the kernel as well.
  • Spring 3.0 - like many others, we've been tracking the Spring 3.0 milestones and release candidates, and dm Server 2.0 now packages Spring 3.0 final. If you'd prefer to use dm Server 2.0 with a different version of Spring, it can easily be configured to do so.
  • Hot deployment - in addition to support for deployment via the admin console, artifacts can also be deployed to dm Server by copying them into the pickup directory, either in archive or exploded form.
  • Running as a service - dm Server can now be run as a Windows service or as a Unix background process.
  • Logging - as in 1.0, dm Server's logging support is available via SLF4J. In 2.0, the backend has been replaced with LogBack, making it extensively configurable by modifying dm Server's config/serviceability.xml file with a rich set of appenders available out of the box.
  • Equinox 3.5 - dm Server 2.0 embeds Equinox 3.5, the reference implementation of OSGi 4.2.

Task Scheduling Simplifications in Spring 3.0

Engineering | Mark Fisher | January 05, 2010 | ...

Continuing the Spring 3.0 "simplification series" started by Keith and Chris, I would like to provide a quick overview of simplifications in scheduling and task execution enabled by Spring 3.0.

I will be walking through a basic sample application that you can checkout from the spring-samples Subversion repository. It has been designed to be as simple as possible while showcasing both annotation-driven and XML-based approaches to scheduling tasks in Spring 3.0.

Let's begin with the annotation-driven approach. You can run it directly via the main() method in AnnotationDemo. If you take a look…

Spring Roo 1.0.0 Released

Engineering | Ben Alex | December 31, 2009 | ...

We're delighted to announce the general availability (GA) of Spring Roo 1.0.0.

Spring Roo is a next-generation rapid application development tool for Java developers. With Roo you can easily build full Java applications in minutes. It differs from other tools by focusing on:

  • Higher Java productivity: Try the ten minute test and see for yourself.
  • Stock-standard Java: Roo uses the Java APIs and standards you already know and trust.
  • Usable and learnable: Roo features an extremely high level of usability and an advanced shell.
  • No engineering trade-offs: Roo has no runtime portion and does not impose any CPU, RAM or disk storage cost.
  • Easy Roo removal: Roo can be easily removed from a user project in under five minutes.

This release follows some eight community releases (A1, A2, M1, M2, RC1, RC2, RC3, RC4) and extensive feedback. Before reaching Roo 1.0.0 we already had over 1,000 forum posts and some 500 Jira issues logged. There's already been dozens of conference and JUG presentations on Roo, several third-party add-ons and there's…

Bundlor 1.0.0.RC1 Available

Engineering | Ben Hale | December 23, 2009 | ...

I'm very excited to announce that Bundlor 1.0.0.RC1 is now available. There have been numerous changes to Bundlor since the M6 release including additions to detection and warning criteria as well as improvements to the ANT and Maven configurations.

This milestone marks feature-complete status for the 1.0.0 release. Baring any major issues, this candidate will be released as 1.0.0.RELEASE shortly.

Detection and Warning Criteria

Bundlor now detects Java types in the following locations:

Bundlor also scans the its generated manifest for the following issues and generates warnings based on them:

Standardized and Simplified Configuration

One of the most glaringly bad parts of Bundlor up until the RC1 release was the inconsistency of features and configuration across the various front ends (command-line, ANT, Maven). RC1 has unfortunately had to change the configuration parameters of all of these but the end result is consistency and in many cases simplification of Bundlor's configuration.

Please see the Bundlor documentation for the configuration options for your…

Grails 1.2 Released

Engineering | Graeme Rocher | December 23, 2009 | ...

Continuing the release train, today we are excited to announce the general availability of Grails 1.2 final. Representing the most stable and performant Grails release yet, Grails 1.2 is a significant new release of the premier dynamic language framework for the JVM.

As well as featuring all of the goodness of Spring 3, this release has a number of significant new features for Grails users:

  • Dependency Resolution DSL: Based on Ivy, Grails users now have full control over JAR dependencies including those inherited from the framework and any installed plugins.
  • Better Spring Integration: As well as supporting component scanning, Grails now allows you to implement controllers as regular MVC @Controller instances.
  • Named Query Support: It is now possible to define named, reusable criteria queries in GORM that can be combined with regular dynamic finders making querying a lot more DRY
  • Improved Performance & Memory Consumption: The performance of Grails' view layer (GSP) has been significantly improved resulting in up to 2-3 times throughput. We've also improved Grails' memory consumption and the need for additional PermGen by implementing precompilation of GSP views.
  • Named URL Mappings: It is now possible to name an individual URL mapping which allows you to create more explicit and expressive links inside GSPs
  • Refactored Testing Infrastructure: Grails' testing infrastructure is now completely pluggable to new providers. The default JUnit provider is still present, but new testing providers can be implemented that can be run in specific phases (such as 'unit', 'integration' and 'functional' phases). There is already a Spock plugin that takes advantage of this new infrastructure, allowing BDD style testing.
  • Pluggable Web Containers: Grails now allows different development time containers to be installed and plugins for both Tomcat and Jetty are available.
In addition to these headliners there are literally hundreds of bug fixes and small improvements some of which are described in much more detail in the release notes. Grails 1.2 can be downloaded from the Grails site at the usual place.

As well as the continued, significant contributions to the release from the community, one of the most enjoyable aspect about this release has been the active collaboration amongst the Spring, Tomcat…

Groovy 1.7 released

Engineering | Guillaume Laforge | December 22, 2009 | ...

The Groovy development team and SpringSource are very pleased to announce the final release of Groovy 1.7, the most popular and successful dynamic language for the JVM! After two betas and two release candidates, we're are happy to deliver this new and very important milestone to our ever-growing user base.

Over the years, the Groovy project has managed to grow a community, but not only that, a very rich and active ecosystem of Groovy-related projects: the Grails web stack, the Griffon swing application framework, the Gant and Gradle build solutions, the Gaelyk lightweight toolkit for Google App Engine, the Gpars parallel system, the Spock testing frameworks and the GMock mocking library, the CodeNarc and GMetrics quality tools, and many more! With all…

Configuration Simplifications in Spring 3.0

Engineering | Chris Beams | December 22, 2009 | ...

Second in a series of posts on "Spring 3 Simplifications" started yesterday by Keith, I'd like to provide a very brief and hands-on introduction to Spring's new @Configuration annotation and related support.

As those that followed the Spring JavaConfig project will know, a @Configuration-annotated class serves much the same role as a Spring XML file. It provides a code-centric way of declaring Spring bean definitions using nothing more than methods and annotations. You might call it Plain Old Configuration* :) This means that for simple situations, no XML will be required!

Let's get started. To demonstrate @Configuration functionality, I've created a very simple project in the new spring-samples SVN repository. You may want to sync up and…

MVC Simplifications in Spring 3.0

Engineering | Keith Donald | December 21, 2009 | ...

As Juergen and Arjen have mentioned, Java developers everywhere have a smooth upgrade with Spring 3.0. Now that Spring 3 is out, I'd like to take you through some of the new MVC features you may not know about. I hope you find these features useful and can start putting them to work in your web applications immediately.

This is also the start of a series on "Spring 3 Simplifications", so expect more posts like these in the coming days and weeks.

Configuration Simplification

Spring 3 introduces a mvc namespace that greatly simplifies Spring MVC setup. Along with other enhancements, it has never been easier to get Spring web applications up and running. This can be illustrated by the mvc-basic

dm Server 2.0 RC1 released

Engineering | Andy Wilkinson | December 18, 2009 | ...

Hot on the heels of Spring 3.0 and Spring DM 1.2.1, I'm delighted to announce that dm Server 2.0 RC1 is now available. RC1 is feature complete and, barring any major problems being found, will be the final 2.0 release early in the new year. So, please download the RC and give us your feedback: it's your last chance to shape the 2.0 release!

If you're interested in what's changed since M6, please take a look at the release notes.

Thank you for all of the feedback that we've had during the development of 2.0. Please keep it coming as we move towards the final release.

Feature overview

There's a lot of great…

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

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

Learn more

Get support

Tanzu Spring 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