The Spring Blog

Engineering
Releases
News and Events

SpringSource dm Server 1.0 RC2 Released

I’m happy to announce the availability of RC2 of the SpringSource dm Server, previously known as the SpringSource Application Platform. This release is feature complete and barring any serious issues will become 1.0 GA in two weeks time.

This release fixes a few critical bugs, upgrades to Tomcat 6.0.18 and updates all code, documentation and supporting materials to reflect the new name.

Due to the renaming of the product, PlatformOsgiBundleXmlWebApplicationContext has been renamed to ServerOsgiBundleXmlWebApplicationContext and moved from the com.springsource.platform.web.dm package to the com.springsource.server.web.dm package. Thus, if you are setting the contextClass for Spring MVC’s ContextLoaderListener or DispatcherServlet in web.xml in a Shared Services WAR, be sure to change the fully qualified path to com.springsource.server.web.dm.ServerOsgiBundleXmlWebApplicationContext.

Read more...

Early draft of OSGi Service Platform Release 4.2 specification now available

The OSGi Alliance have posted an early draft of release 4.2 of the Service Platform specification.  SpringSource employees are active members of both the Core Platform Expert Group (CPEG) and the Enterprise Expert Group (EEG) within the Alliance. My personal involvement has been largely with the EEG, and particularly with RFC 124 “A Component Model for OSGi”.

RFC 124 is a standardization of the core ideas behind Spring Dynamic Modules. If you look at the configuration schema, you’ll see that it very closely resembles the “osgi” namespace provided by Spring Dynamic Modules (DM).  RFC 124 takes everything that we have learnt over the last couple of years developing Spring DM and combines this with some key insights from other members of the core and enterprise expert groups to produce a specification that is both based on proven real world experience and also closely integrated with the OSGi Service Platform itself. Many thanks go to the Spring DM development team :- Costin Leau, Hal Hildebrand of Oracle, and Andy Piper of BEA (now Oracle) for all their hard work in helping to develop and test Spring DM, and then to help us take the model forward as the basis for standardization in the OSGi Service Platform.

Read more...

Who is the Chief of the Apache projects?

The answer is the Apache Software Foundation (ASF), a non-profit, meritocracy-based organization made up of individuals (not companies) who contribute code, bug fixes, answers to user questions, their time, and sometimes even their money to ensure that the software they are delivering addresses real-world requirements, along with being robust, secure, and widely adopted.

ZDNet’s Dana Blankenhorn’s response to Dave Rosenberg’s blog regarding companies selling support for technologies they don’t own or contribute to inspired me to set some things straight about Apache projects and companies that “support�? them. SpringSource which, through its acquisition of Covalent, is a significant contributor to a number of Apache projects. I agree with Dave that vendors who are attempting to monetize open source projects by merely selling “support�? around those technologies, while not contributing to the software, are little more than parasites. Not only do these companies not contribute to the projects, but their lack of involvement results in inferior support, which harms users and, ultimately, the reputation and acceptance of the projects.

Read more...

Spring Integration 1.0 Milestone 6 Released

Dear Spring community,
We are pleased to announce that Spring Integration 1.0.0.M6 is now available.
Download | Reference Documentation | JavaDoc

To see a list of features added and issues resolved since Milestone 5, view the changelog. For more information, visit the Spring Integration Home or join the discussion at the Spring Integration Forum. Community feedback is more important than ever as we approach the Release Candidate.

Mark Fisher
Spring Integration Lead

Read more...

Amsterdam Java Meetup - September 12th

Now that the holiday season (at in the Netherlands that is) has almost ended, I thought it would be time for another Amsterdam Java Meetup. So, we reserved the good-old Jaren in the Nieuwe Doelenstraat again, for having a few (paid-for) drinks with fellow Java developers and everybody else that wants to join in.

We’re doing this in the same week as the Core AOP course, held in Amsterdam, which is quite convenient for me, since now I’m sure I will be in town as opposed to some of the other meetups where I couldn’t be present myself.

Read more...

Optimising and Tuning Apache Tomcat

On Wednesday I gave a webinar on Optimising and Tuning Apache Tomcat. A recording of the webinar and a copy of the slides can be obtained from the webinars section of the SpringSource website. The same page has links for all the previous SpringSource webinars, as well as the Covalent webinar archive.

I wasn’t able to get to all of the questions during the Q&A session so, as promised, here are the remaining questions and my answers.


  • What are the best practices for tuning XYZ application running on Apache
    Tomcat?

    There isn’t an ideal configuration setting for any application as the best settings will depend on many factors. As a starting point, use the recommendations provided with the application. After that, follow the process set out in the webinar and don’t be afraid to go against the recommendations provided with the application if that gives you better performance.

  • <li><strong>Do you have any recommendations for open source tools for troubleshooting, performance benchmarking or testing web applications?</strong>
    

    My starting point when troubleshooting is to build a simple test case using Eclipse. I then use the built-in debugger to step through the code to really understand what is happening. If you need a profiler then NetBeans includes one although I have never used it. I use a commercial profiler (YourKit) as they provide free licences to open source developers. For performance benchmarking I use Apache JMeter and for testing I use a combination of JUnit and Apache JMeter.

    <li><strong>What tool do you recommend for monitoring memory, cpu, etc.?</strong>
    

    For a Tomcat specific tool, I like LambdaProbe. For a more general tool you might want to take a look at the SpringSource Application Management Suite.

  • Is it recommended to use JMeter, LambdaProbe or a Profiler in a production environment?

    It depends on the environment. I have used all three of those tools in production environments in the past but equally there have been times when I have deliberately not used those tools. You have to balance the risk of the tool causing a problem (performance, functionality, security, etc.) against the potential benefit of using the tool. That balance has to be assessed on a case by case basis.


  • Is it a good idea to have a hardware load balancer and an Apache httpd load balancer?

    This also depends on circumstances. A hardware load balancer brings some benefits but also costs. Generally, I would expect to see hardware load balancers in environments that had very high availability requirements.


  • Can Tomcat be clustered and load balanced using iPlanet?

    Yes, a version of mod_jk is available for iPlanet. You can download both source and binary versions from the Apache Tomcat download pages. You should be aware that there are relatively few users of mod_jk for iPlanet so you may run into a few more bugs that if you use one of the more popular web servers as a front end.


Read more...

SpringSource Enterprise Commercially Available

Yesterday, SpringSource announced the GA release of SpringSource Enterprise. As our first commercial product release, this is an important milestone for us. The engineering team did an amazing job putting this release together. The package includes enterprise versions of Spring, the SpringSource Tool Suite, SpringSource Application Management Suite and SpringSource Advanced Pack for Oracle Database, all designed to make it easier to develop, deploy, and manage enterprise-class applications.

You can test drive SpringSource Enterprise yourself: http://www.springsource.com/products/enterprise.

Read more...

Developing Rich Web Applications with Spring

I am pleased to announce that Developing Rich Web Applications with Spring, a three-day bootcamp lead by SpringSource engineers on web application development, is now available.  This intense, hands-on workshop teaches how to apply the latest versions of Spring Web MVC, Spring Web Flow, Spring JavaScript, and Spring Faces to create rich web applications.  It compliments our flagship “Core Spring” course by focusing squarely on using Spring to solve problems facing Java web application developers.

Read more...

Spring Batch 1.1.0 Released

Dear Spring community,
We are pleased to announce that Spring Batch 1.1.0.RELEASE has been released!

Downloads | Web Site | Changelog | Announcement

The main change from 1.0 is the addition of shared persistent state between steps in a job (the JobExecution has its own ExecutionContext). This means there is a schema change in the meta-data tables, so any existing 1.0 jobs running in parallel with the new version will have to use a different database schema. There is an upgrade script for users who want to migrate all there 1.0 data and processes to 1.1.

Read more...

Using EclipseLink on the SpringSource Application Platform

<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01//EN”>






This week the EclipseLink team announced the release of EclipseLink 1.0. I’ve been using EclipseLink on S2AP for a while now; in fact, I used EclipseLink when developing our JPA load-time-weaving support.



We’ve yet to upgrade our internal usage to 1.0 - our beta9 was tagged just before the announcement - but I wanted to demonstrate how effectively the pairing works in an OSGi environment.




In the 1.2.0 version of the S2AP Petclinic sample, we released the EclipseLink implementation of the Clinic back-end. The back-end is a drop-in replacement for the JDBC back-end that was previously the only option.

Read more...