Chapter 3. What is new?

While a relatively young project, each version of Spring Dynamic Modules (even minor ones) offers new functionality. This chapter is a guide to the new and improved feature and intended as a high-level, short summary. Please follow the appropriate links for more in-depth information.

3.1. 1.1.x

3.1.1. Web Support

The biggest feature in Spring Dynamic Modules 1.1.x is the transparent support for web applications on OSGi platforms. By integrating directly with web containers (such as Apache Tomcat and Jetty), Spring-DM allows WARs using Servlet, JSP and taglib technologies to be used with little or no effort at all. Please see Chapter 8, Web Support for details.

3.1.1.1. Spring-MVC Integration

Additionally, with 1.1.x it is possible to run Spring-MVC applications inside OSGi environments. See Section 8.7, “Spring-MVC Integration” for more information.

3.1.2. Classpath Resource Abstraction

1.1.x adds support for classpath: and classpath*: prefixes to the OSGi Resource abstraction. This allows the discovery of classpath resources (such as Spring's component scanning) to work out-of-the-box across multiple bundles on the supported OSGi platforms. See Section 4.4, “The Resource abstraction” for more information.

3.1.3. Pluggable Extender Configuration

1.1.x makes it easy to change the default configuration for the various extenders used by Spring-DM. By using fragments, users can customize the way application contexts are started, the web container used for web deployment or the thread-pool for running Spring applications. Additionally, it is possible to receive events regarding the OSGi Spring application contexts lifecycle. Section 4.1, “The Spring Dynamic Modules Extender bundle” lists the available options and explains them in detail.

3.1.4. Improved class loading

In 1.1.x, the proxy creation has been improved, leading to better package wiring for the managed bundles. See the FAQ for more information.