InfoQ has interviewed Mark Pollack, founder of Spring.NET, about release 1.2.0, made available late last year, and their plans for the near future. The major new features are: WCF, MSMQ, ActiveMQ, and Quartz.NET integration support. The roadmap contains two bug fixing releases and support for Microsoft’s test framework. Spring.NET 2 will feature ASP.NET MVC support.
The major new features are related to distributed computing, WCF, MSMQ and ActiveMQ:
In this release we support the configuration of WCF services via dependency injection. For MSMQ and ActiveMQ we provide infrastructure classes to simplify the incidental API complexity of these technologies for sending and receiving messages, in particular for creating multithreaded message consumer applications. Another new feature is providing integration classes to help configure Quartz.NET, a very powerful job scheduler.
MSMQ integration was well received by the community, according to Mark, because it relieves the developer from the complexity of writing a multithreaded messaging server. “Spring provides a foundation where you declaratively configure that core infrastructure for a multithreaded MSMQ server, keeping the MSMQ layer very thin, and then delegating message processing to your POCO based application services.”
Spring.NET will continue to follow on Spring’s tracks by incorporating its new features. Nonetheless, “our integration points are around configuration and transaction management, not the core feature set. As such, we are more interested in adding support for developments such as Fluent NHibernate”, said Mark. Also, the Spring.NET team is determined to support .NET specific features not existing in the original Spring framework like LINQ and its associated language features.
Mark commented on the roadmap:
We will have 2 point releases planned for Spring 1.2 focusing on bug fixes but will also add support for integration testing based on Microsoft’s test framework. This provides DI for your test case as well as automatic rollback of transactions after a test method executes.
Spring for .NET 2.0 will introduce a code based approach to configure the Spring container in C#. This is modeled after the approach taken by JavaConfig. Other features are integration with ASP.NET MVC and extend Spring’s declarative transaction management features to work with LINQ to SQL and the Entity Framework. We also plan to introduce some project templates to help developers get up and running quickly when creating a new Spring based applications.