In this SpringOne 2GX 2012 session Juergen Hoeller will talk about the 3.2 generation of Spring Framework. 3.2 focuses on core features for asynchronous processing and message-oriented architectures, as well as enhancements to its caching support and its multi-language support. If you are looking ahead to see how Spring Framework 3.2 can evolve your application design then this is the session to be at during SpringOne 2GX.
Welcome to another installment of This Week in Spring!
This week I'm back in India (in Bangalore and in Pune) along with other Cloud Foundry ninjas on the Cloud Foundry Open Tour India! I am looking forward to talking to people about building Spring applications for Cloud Foundry. Also don't miss the Spring, Groovy and Grails event of the year in Washington, DC: SpringOne2GX. If you haven't already registered for these two events, now's the time!
One neat little gem inside the Spring framework is the @Required annotation, which checks that all bean properties
that have the annotation are configured with a value at runtime.
Srinivas Rao has a nice post on using the @Required annotation to defensively check bean configuration at runtime, and how to turn on the processing of the annotation.
Welcome back to another installment of This Week in Spring,
VMWorld edition! We're at the VMWorld event, talking to developers about Spring and Cloud Foundry.
There's been a lot of exciting news coming out of this event, including some interesting updates around vFabric and updates regarding the timelines for Cloud Foundry itself: CloudFoundry.com, the hosted PaaS from VMware, will be GA by end-of-year, and next year will see the availability of a private on-premise Cloud Foundry. Both vFabric and Cloud Foundry are ideal environments for your Spring applications, and it's nice to see these platforms evolve.
Oliver Gierke has announced that the Spring Data Release Train has reached the station! This release is an umbrella release of several projects that provides uniformity across the various modules.
This release includes Spring Data Commons 1.4.0.RC1, Spring Data JPA 1.2.0.RC1,
Spring Data MongoDB 1.1.0.RC1, Spring Data Neo4j 2.1.0.RC3 and Spring Data Gemfire 1.2.0.RC1.
There are some amazing webinars coming up!
The first one, on September 6th,
Development with Spring Tool Suite will look at how to develop applications for Spring and Cloud Foundry using the Spring Tool Suite. The second webinar, on September 20th, will introduce
on Spring Security Fundamentals, which is sure to be of interest for anyone who wants to learn how to use this critical technology.
Dear Spring community, I am pleased to announce the next Spring Data release train stop, including Spring Data JPA, MongoDB, Neo4j, Gemfire as well as its foundation Spring Data Commons. The release is the final one before bringing all the modules into GA state of their next major version. Here are the highlights:
All modules
- Depend on Spring 3.1.2 by default. The modules are still fully compatible with Spring 3.0.7 but users have to manually declare Spring dependencies in they Maven pom.xml files if they'd like to use the older version. Note that some of the features included in this release (e.g. the usage of @EnableRepositories) require Spring 3.1.0 at least.
Spring Data Book
We're currently working on a Spring Data book with O'Reilly, which is available free for public review. If you would like to help shaping the book or maybe point people to a general introduction into Spring Data, feel free to spread the link.
Spring Data MongoDB - 1.1.0.RC1
- Improved query mapping regarding @DBRef mapped properties
- AbstractMongoConfiguration.getMappingBasePackage() defaults to config class' package Maven artifacts - JavaDocs - Reference documentation - Changelog
Spring Data Neo4j - 2.1.0.RC3
- Updates to stable versions of Neo4j 1.8.M07, transaction manager compatibility (1.7 - 1.8)
- Added support for @EnableNeo4jRepositories Maven artifacts - JavaDocs - Reference documentation - Changelog
Spring Data Gemfire - 1.2.0.RC1
- Project renamed to Spring Data Gemfire to align with other Spring Data projects.
- Spring namespace support on par with cache.xml
- Support for @EnableGemfireRepositories Maven artifacts - JavaDocs - Reference documentation - Changelog
The Spring data team is currently working on a book with O'Reilly. It is due to be released in autumn and can currently be reviewed at OFPS. So if you'd like to get a general introduction to the project or even help shaping the book, give it a spin.
Along side the release candidates we released bugfix releases for Spring Data JPA (1.1.2.RELEASE) as well as MongoDB (1.0.4.RELEASE). Looking forward to your feedback in the forums or the bug tracker.
Spring Integration 2.2.0.M4 - the fourth and final milestone release of the 2.2 stream, including a number of important features and improvements, is now available.
Welcome to another installment of This Week in Spring!
This roundup is put together by aggregating lots of great content from all around the web. If you have content suggestions, or if you simply want a direct line to some of the content that we post, check us out on Twitter, and Google+.
As usual, we've got a lot to go over, so let's dive into it.
Stephen Chin, the Oracle JavaFX evangelist, has posted an initial blog and a slide deck on the work he's done to integrate Spring and Java FX based on a talk he's done at the Dallas Spring User Group. Nice work, Stephen! I'm looking forward to the subsequent blog posts he's promised us!
The Java Code Geeks blog is at it again, this time with a post on how to measure the execution time of a method call using the Spring StopWatch class.
Note that this sort of code is ideal for delivery as a AOP Aspect.
This blog looks at how to use the HibernateTemplate to work
with Hibernate's lazy initialization feature. It's a nice post, but it's worth mentioning that the HibernateTemplate's no longer the preferred way of working with Hibernate. Instead, simply create a HibernateTransactionManager instance, and build a SessionFactory using the LocalSessionFactoryBean (available for both Hibernate 3 and Hibernate 4) and then you're done. For a good example,
check out this sample application
which demonstrates Hibernate 4. You can use the Hibernate thread-local session API (which has been available since later iterations of Hibernate 3.x). To specifically handle lazy initialization, look at Hibernate.initialize(Object).
Spring's configuration support is very rich, and
handily supports declaring many convenience objects. This blog introduces
how to configure lists and maps using the Spring XML namespace support. Convenient!
Blogger zws1987211 has an interesting post on how to use Spring with ActiveMQ. A lot of the confusion comes from reading the ActiveMQ documentation and articles. Using Spring with JMS (and ActiveMQ in particular) is quite straight forward. JmsTemplate makes it quite simple to send and receive messages using JMS. If you want to asynchronously receive messages, then you should consider the MessageListenerContainer implementations. If you're going to use JmsTemplate to receive messages outside of a Java EE application server (which typically provide connection factory pooling), consider using the CachingConnectionFactory implementations to wrap the raw JMS connection factories. By default the JmsTemplate handles all the tedious resource acquisition and destruction logic involved in working with the JMS API. This includes shutting down connection factories and sessions, which can be expensive if the resources are actually closed, and not simply returned to a pool where they're subsequently reused.
You know what I love the most about this post, though? Not only does the post articulate the correct strategies for working with Spring, but the blogger even went to the Apache Wiki's and corrected them where appropriate! Nice job, great post, and even greater initiative!
SpringSource/vFabric Education has launched several new Hot Seat promotions for professional Spring training classes in Belgium, Ireland and UK. If you register now, you can SAVE 30% on the following professional Spring classes:
Most of you probably know Spring Roo as the Java-based rapid application development tool that uses AspectJ and a command-line shell to build Spring applications. But underneath those slick commands that set up your application components lurks an even more powerful and extensible platform, one that you can use to build anything you want.
In this presentation, SpringSource's Josh Long and Spring Roo in Action authors Ken Rimple and Srini Penchikala introduce Spring Roo 1.2, and then go further, exposing Roo's powerful addon-based underbelly. They introduce Roo's OSGi bundle support, and introduce how add-ons can be used to generate code, install templates, respond to addition / removal of annotations, and expose both open-source and internal-company libraries for use by your developers. Finally, they wrap up by discussing the recently developed Tailor add-on, and will show how it can be used to completely customize your developers' shell environment.
Presenters: Ken Rimple, Srini Penchikala, and Josh Long