This Week in Spring
|
|
What a week! Lots of content and so precious little time, so we'll get right into it. First, some programming notes: SpringSource will be at JavaOne. If you're there, then be sure to visit the SpringSource booth in the exhibitors hall and say hi and meet-'n-greet with engineers from SpringSource, yours truly included. Likewise, there is a lot of fine content from the SpringSource team at JavaOne itself, so make sure to add them to your schedule!
Finally, what're you guys doing Thursday morning? Say around 10 AM PST in North America, or 3 PM GMT in Europe? Well, if you're not busy, let's have a social get together! Just you, me, Craig Walls, and several thousand of our closest friends. Craig Walls is putting on a webinar introducing Spring Social.
This webinar will introduce Spring Social essentials such as connecting to service providers and using Spring Social's API bindings. We'll also see how to add provider-based sign in and how to extend Spring Social's service provider support. RSVP ASAP!
- Gunnar Hillert, resident nice guy and integration expert, has put together a blog explaining how to
use the new CloudFoundry Maven plugin to deploy applications as part of the build.
Um.. so what are you still reading this for? That's really cool, go check it out! We'll wait...
- SpringSource Tool Suite 2.8.0.M2 Released! The new release has lots of features, including Spring 3.1 support, c-namespace content-assist, quick-fix and validation, an update to the new m2e plugin (which is the plugin formerly-known-as-Pri...sorry, wrong one, it's the plugin-formerly-known-as-m2eclipse), and much more.
- Spring GemFire 1.1.0.M3 Released The new release features improved support for indicies, as well as improved region creation. Check it out!
- This video provides a live coding introduction to the Spring Data JPA project by Oliver Gierke. Spring JPA aims to significantly improve the implementation of data access layers by reducing the effort to the amount that's actually needed.
- This post explains how to create type-safe queries with MongoDB and QueryDSL.
- Steve Harris explains how to use Ehcache Project's Spring annotations to handle declarative caching with Ehcache. This is a nice post, complete with sample code. NB: these annotations refer to the Ehcache specific annotations, and not to the generic Spring Cache abstraction present in the imminent Spring 3.1 release. Good stuff, but going forward, you might consider using the more generic abstraction in Spring core.
- Using Spring Social? Using Google+? Of course you are. And, so are many others. To fill the gap, the community's put together an initial integration at a Google+ API Spring Social API.
To learn more, check out this post on a project to provide Spring Social integration with Google's APIs, starting with Google+ and Google Contacts.
- Ashish Sarin has written a post on how to create JPA entities with Spring Roo. Nice post! Ashish, as you no doubt know, is the author of Packt publishing's Spring Roo 1.1 Cookbook, which is an interesting read.
- Faithful readers of this roundup will no doubt know the name Gordon Dickens, who has come in this week with not one, but two posts on using Spring in the cloud this week.
The first post introduces using Spring Roo with CloudFoundry. Very cool!
The second post talks about using Spring Roo with CloudBees, an alternative cloud.
Spring (and the projects that build on it like Grails and Spring Roo) has always had a strong portability story, and this just exemplifies that feature. Now, if you want to take your application further, and want portability, then definitely consider CloudFoundry as your PaaS choice. Remember, portability matters!
- Using SpringSource Tool Suite?
One of my favorite features are the template projects, which provide ready-to-use, pre-configured starter projects. To access them, you go to File > New > Spring Template Project, and then choose one. There are lots to choose from - Spring Batch Admin, Spring MVC, etc.
However, one of the most popular is sure to be the Spring MVC template, which comes with a ready-to-use Maven
pom.xml that is, well, perhaps a bit overloaded!
This blog post disects that template's pom.xml, providing guidance for developers who want to know which parts of the pom.xml are optional, and what they do. Good stuff! And, I think some of the feedback can be incorporated into the templates in future iterations of STS ;-)
- This post introduces AOP and AspectJ terminology which can be very useful if you're looking to Spring's AOP support for the first time. Good stuff!
- This post, Getting started with Spring Integration v2 and Enterprise Integration Patterns - A Simple Example using File and Mail Adapters explains... well... how to get started with Spring Integration, version 2.0, using the file and mail adapters. Nice work!
- Ashish is at it again this week, this time with a post on how to setup a simple project using Spring Roo. Good stuff, and always helpful for the stalwart Roo developer...
- Swapping Out Spring Bean Configuration at Runtime
- This admittedly very introductory post explains how to use Netbeans 7, Maven and the Spring Framework.
Welcome back to another installment of "This Week in Spring."
We've got a lot of content this week surrounding Spring Roo, and so, in that spirit, I move that we christen today Rooday, in honor of all the great Roo-related content in this week's roundup.
Things are kicking into over drive at SpringSource as everybody's preparing for SpringOne.
This year's show is an exciting one because it'll be the first year where CloudFoundry will be present,
which means that there will be lots of content around CloudFoundry and Spring, together, working as an unbeatable combination. I can't wait!
-
InfoQ did an interview with Spring Social lead Craig Walls on the just-released Spring Social 1.0. Fascinating read! Once the interview has whetted your appetite, be sure to try the Spring Social quickstart.
Spring Social got some great coverage elsewhere, too, including this post from adtmag.com on the new 1.0 release.
- SpringSource Tool Suite 2.7.2 has been released. The new release features
support for vFabric tc Server 2.6,
support for Spring Roo 1.2.0.M1, and also updates Mylyn to 3.6.2. Great stuff!
-
Spring Roo 1.2.M1 released.
The new release is a really exciting one. There are some exciting backoffice changes, of course, like the switch from GPL to Apache 2, and the migration of the code to Github.com, but those are absolutely the least interesting bits in this new milestone.
The first, and obvious, improvement for any user will be the speed boost: Spring Roo 1.2 is now ten times faster.
If that wasn't enough, there's also service-layer support (e.g, you can generate service objects), choice in which type of repository layer is generated (active-record style or traditional repository objects), much improved, very flexible GWT support, MongoDB support, and multi-schema aware database reverse engineering (DBRE) and shell improvements.
Honestly, this little paragraph doesn't do it justice. Check out the blog for the skinny.
-
Spring Roo's moved to Github.com!
The source code is now available on the SpringSource Github page.
There's a
readme.txt at the root of the directory (or, indeed, presented inline on the Spring Roo Github.com page) that you
can follow to start hacking on Spring Roo. If nothing else, having the Spring Roo source code is helpful to learn how to write your own custom add-ons, so check it out!
-
Stefan Schmidt chimes in to talk about the the application layering and persistence choices for Spring Roo, providing details on some of the features enumerated in the new release.
- Speaking of Spring Roo... and Cloud Foundry.. here's a busy post on both of them. It feels like it should be two or three posts, but good stuff, either way!
- Thymeleaf 1.1's just been released! Thymeleaf is a view template library (like Velocity or FreeMarker) that offers a very clean integration for Spring users. Check it out!
- Jan Machacek at CakeSolutions has written up a post about his extensions to the Specs2 specification testing framework, BeanTables, which lets you inject and work with Spring beans from your specifications.
The blog's helpful, but I would definitely also check the Github.com page itself for a good introduction.
- Singaram Subramanian
has written up a blog on how he was tasked with solving an email integration problem and decided to use Spring Integration. The blog details the code and approach and even talks a bit about the patterns involved. Nice blog, Singaram!
What a week!
And, believe it or not, this week's actually a calm week!
We've got a lot of exciting stuff to cover, so let's get to it.
- Spring Social 1.0 has been released!
This - the first GA release of the Spring Social framework - is very exciting news! Spring Social's core API, which includes a connection framework that frees you from managing the delicate OAuth dance, is stable. This release also sees the release of two of the integration modules for Twitter and FaceBook. Spring Social project lead Craig Walls talks about the new features in a post,
"What a Year Makes."
- Spring Integration 2.1. Milestone 1 is Now Available! This new release is the first milestone on the march to 2.1, and is packed with new features, including support for RabbitMQ, GemFire, Redis and MongoDB. Check it out!
-
There is a lot of exciting news surrounding CloudFoundry!
If you want a pretty good digest, check out this post,
CloudFoundry Inks Distribution and Deployment Deal or the summary that Cloud Foundry makes good progress.
- A few weeks ago, Spring AMQP 1.0 went GA, and this week InfoQ's followed it up with a detailed post. Great stuff!
- Andrei Stefan has reworked the classic Spring PetStore example to use the new vFabric SQLFire driver, which exposes an ANSI SQL 92 layer on top of vFabric GemFire. As if this wasn't cool enough, he's also introduced the Spring Data JDBC extensions into the code base, reusing the
QueryDslJdbcTemplate which is a version of the classic JdbcTemplate included in the core Spring framework that works with QueryDSL. To see some examples of the reworked code, you should check out the SpringDataItemDao example, and the SpringDataAccountDao example.
- Spring Data JPA 1.0.1 and 1.1.0.M1 Released! The new release includes numerous new features, including a variety of bugfixes, and improvements mostly around the mapping subsystem and performance, all listed in the changelog. The first milestone of the 1.1 train contains these bug fixes as well of course, adds
IgnoreCase as keyword for the query parser and allows users to use that version alongside Spring Data MongoDB 1.0.0.M4 as they both refer to the same version of Spring Data Commons.
- This
post
from the Java Code Geeks talks about Spring's declarative transaction management using
@Transactional. @Transactional was the first annotation supported in the Spring framework, and it is still one of the most popular! Good stuff. For a very detailed look at transaction management using Spring, you might also consult this post Configuring Spring and JTA without full Java EE.
- Shaun Abram has a great post on how to setup multiple Tomcat instances. Nice post, Shaun!
-
Were you in Norway last week for the JavaZone conference? Well, you missed a lot of fun. But don't fear, you can still reap the rewards! There are some great Spring talks and they're all recorded live, available for anyone to watch, on the JavaZone Vimeo page.
There are talks on Spring configuration, the Spring 3.1 caching abstraction, Spring Integration with CloudFoundry (bonus: the talk, "Event Driven Architecture with the Spring framework" from last year is also available!), Spring Data, and Polyglot Persistence, all available in English. If you speak Norwegian, then there's ample content for you, as well, including a talk on Spring Java configuration in Scala, and on performance gains with Spring Batch. I think I saw some others, too, but as I don't speak Norwegian, I can't be too sure! Enjoy!
- If you want to use the Micro CloudFoundry instance completely offline, this post has a good walkthrough of the steps required.
Check it out!
Wow! Where's the time gone? September is here already and we have SpringOne 2GX 2011 in our sights! This year's conference will be bigger and better than ever! Besides all the great new content on the latest and greatest technologies (after all, Spring Data was only one of the big announcements to come out of SpringOne 2GX last year, and you wouldn't believe how far that project's come since!) that are sure to be at this year's event, this year's venue is also noteworthy: SpringOne 2GX will be in the heart of downtown Chicago, in the middle of one of the most beautiful and exciting cities in the US.
...Did I mention that there's a $200 discount if you register now?
- InfoQ.com's posted an interview with SpringSource CTO Adrian Colyer on the cloud, what's next and more. Great interview, and for those that haven't already seen it, you're encouraged to check out Adrian's presentation, also on InfoQ.com
- There are not one, not two, not three, but four webinars from world-renowned speakers and technologists this month presented by SpringSource: Spring Data JPA, Tuning Java for Virtual Environments, Modern Data Management and Spring Social. Make sure to mark your calendar!
-
Spring Data MongoDB 1.0.0 M4's been released!
The new release is jam packed with interesting new features, including support for map-reduce operations in
MongoTemplate,
a means to use externalized queries to be executed by repositories,
support for geoNear queries on MongoTemplate and the repositories,
a new DocumentCallbackHandler interface on MongoTemplate,
a DB wide WriteConcern can now be configured on the SimpleDbFactory,
a WriteConcern configurable on MongoFactoryBean,
a QuerydslRepositorySupport base class to ease implementing Querydsl based repositories, and a
configurable TypeMapper interface to control how type information is written and retrieved to and from Mongo documents.
- Spring Data JPA 1.0.1 and 1.1.0.M1 have been released! The 1.0.1 release has the bug fixes of course, but the first milestone of the 1.1 train adds new improvements including compatibility with the above mentions Spring Data MongoDB milestone.
- Spring Roo 1.2, M1's support for choosing between the active-record style or services-style of data access is imminent!
I'm very excited. The new features (as described by Spring Roo engineer Stefan Schmidt on the JIRA) are:
- 'Active Record'-style JPA persistent domain entities (default persistence provider)
- JPA repositories backed by Spring Data JPA (formerly Hades)
- MongoDB repositories backed by Spring Data MongoDB (see ROO-2693)
Stefan continues,
"All three persistence options are integrated through a new layer service offered by Roo. This means that other add-ons will be able to automatically wire themselves to use these repositories once they are detected in the project. At present a new service layer add-on, the Spring MVC add-on, the integration test and data on demand add-ons (test support for mongo repositories is not yet offered) are already integrated with the new layering support. The GWT and (to be released) JSF add-ons will follow soon."
- Apache Tomcat 7.0.21 released!
The new version has bug and security fixes, and it's highly recommended that users update as soon as possible.
-
This post walks through the evolution of dependency injection options
in Spring core from XML to Java configuration and everything in between! Good stuff, and I particularly like the last example, where he demonstrates using Spring and Scala!
- Experiencing an issue using Spring MVC Portlet in conjunction with Liferay ServiceBuilder?
This post explains the problem and provides an easy fix. My favorite part about the Spring framework? It accounts for the problems of today and is built to be flexible to account for the problems of tomorrow.
- This post introduces how to setup a RESTful service using Spring MVC and the marshalling support in Spring OXM from NetBeans. Nice tutorial!
- I know this is a little older post, but it's a neat tutorial on using Gradle and SpringSource Tool Suite to build a web application.
However, I am happy to report that this tutorial is no longer as helpful as it was because the 2.7.0x releases of SpringSource Tool Suite have included native Gradle support. For more on that, readers might also consult this post which explains how to get the Gradle support.
- Spring's AOP support is a fantastic way to add cross-cutting functionality to your application. This post introduces a
very simple example using Spring's AOP support. Check it out!
Welcome to another edition of
"This Week in Spring" There's a lot to get to, so we'll get to it. A quick note: if you're at VMworld 2011 in sunny Las Vegas, come on over to the Cloud Application Platform booth and say hi.
- What a week for CloudFoundry! The week saw the release and availability of Micro Cloud Foundry, the freely downloadable "PaaS-on-a-stick."
Micro Cloud Foundry is a complete, local version of the popular, open source Platform as a Service that lets developers run a full featured cloud on their Mac or PC. Using Micro Cloud Foundry developers can build end-to-end cloud applications locally, without the hassles of configuring middleware while preserving the choice of where to deploy and the ability to scale their applications without changing a line of code.
To learn more about the Micro Cloud Foundry, check out these three blog posts introducing Micro Cloud Foundry to Spring developers and Grails developers, and introducing the support for Micro CloudFoundry in SpringSource Tool Suite.
- Thomas Risberg blogged today about using PostgreSQL on Cloud Foundry. The recently announced PostgreSQL support makes CloudFoundry the natural place to deploy your enterprise applications: between MySQL and PostgreSQL there's very likely few speed or feature that you can't match on CloudFoundry. Try it out today!
- Mark Thomas had an article on Tomcat Expert last week about Tomcat 8 and Java 7, answering the question: will they work together?
- Roy Clarkson, lead of the Spring Android project, recently blogged about the various dependency injection options for Android and how to write cleaner code. Check it out for a look at the modern Android developers toolkit.
- Spring provides many ways to support configuration. Spring 2.5 enhanced the options available with stereotypes, which let you
specify a marker annotation as a way to define an injection site.
This very nice blog post first introduces some of the earlier ways to make maximum use of the type system with
@Autowired, then introduces the stereotype model, cleanly and consistently.
I wholly recommend it for a great look at an easy way to achieve
cleaner code.
-
In addition to the MicroCloud, last week saw the announcement of the availability of PHP and Python support through community CloudFoundry providers.
This is an ideal situation for developers on those platforms and if you've always wanted first-class support for Python and PHP on a cloud, this release is for you! And, of course, if you're a Python developer, you should no doubt be looking at Spring Python, the Pythonic port of the Spring framework.
- Last week, Alan Stewart, lead of the Spring Roo project, announced the availability of the O'REILLY book, Getting Started with Spring Roo, that my co-author Steve Mayzak and I put together. O'REILLY worked closely with us to help make the book concise, and useful. O'REILLY have graciously agreed to make the book available for free download here, as a
.PDF.
Readers who want an alternative e-reader-specific format or want to get a print copy of the book on-demand may of course pursue those options at the O'Reilly page for the book.
The book features an introduction to Spring Roo as well as an introduction to two of the many powerful, new addons being developed for Spring Roo: the Spring Data Neo4j addon, and the Vaadin web framework addon.
-
Virgo 3.0 and Gemini Web 2.0 have been released.
The theme of Virgo 3.0 is better integration with EclipseRT technologies. To that end, we have created a Jetty variant of the Virgo web server and have switched from Felix to Equinox implementations of some OSGi services.
Gemini Web and the Tomcat variant of the Virgo web server have been upgraded to Tomcat 7 and Servlet 3.0.
-
Spring AMQP 1.0 GA has been released!
I don't know about you guys, but I've been waiting for this one for a looong time. RabbitMQ is one of the most powerful messaging options available to enterprise Java developers today in traditional Spring applications as well as in the cloud.
Spring AMQP provides the idiomatic Spring support for RabbitMQ, including support for a
PlatformTransactionManager abstraction,
and a message listener container abstraction similar to the support available for JMS.
The GA release of the Spring AMQP integration clears the way for the inclusion of the Spring Integration AMQP support in the imminent Spring Integration 2.1. Powerful stuff! Developers looking to get started with messaging in Spring might take a look at this GreenBeans post ("Getting Started with Enterprise Messaging with Spring"), which may be a bit out of date but provides a clear, concise introduction to the relevant concepts and options for both AMQP and JMS integration with Spring.
- Spring GemFire 1.1.0.M2 has been released!
This new release includes dedicated support for continuous query (Message Driven POJOs for GemFire), extensive client cache support,
and namespace support for region expiration. Very cool release, and users are highly encouraged to check it out. The continuous query support underlies the new Spring Integration Gemfire adapter that's expected to be in Spring Integration 2.1, as well: very powerful stuff!
- Spring Social 1.0.0.RC3 has just been released.
This release includes fixes for bugs reported since 1.0.0.RC2 and tweaks to the API:
ConnectInterceptor implementations can now add parameters to the authorization URL, Twitter TimelineOperations.updateStatus() can now post a photo, along with the status, returns a Tweet object, and can also be used to post a reply to an existing status.
The set of sample applications has been updated, including two new examples: One to demonstrate a popup-based connection flow and another to demonstrate using Spring Social within a Facebook Canvas application.
-
Adobe Technical Evangelist Christophe Coenraets
has updated the Flex / Spring Mobile Test Drive.
The new code is available on GitHub.com.
-
This post, by Artur Mkrtchyan, does a nice job providing an introduction to writing a MongoDB client using regular Java and then taking it a step further and using the Spring Data project to talk to MongoDB. Good stuff, Artur!
-
Job scheduling support in Spring's always been pretty robust, historically supporting Quartz, and - from Spring 3.0 and later - supporting
the
@Scheduled annotation. However, there is always room for improvement, and this blog
explores this, even linking to code that would allow you to build on core Spring, and get @Scheduled-like ease-of-use
while delegating to Quartz's power.
Even if you're not interested in job scheduling, this post serves as a fine example of how anybody can build on the rich lifecycle hooks and component model to extend Spring's API for your own application using the same hooks as the framework itself uses.
Good stuff!
-
This post on community.jboss.org about using Spring Web Services with JAXB is both concise and useful. It introduces the data modeling approach for
contract-first web services using Spring Web Services and JAXB, the Java API for XML binding.
-
A blogger, Roger Hughes, has written up a string of blogs recently that are really insightful!
The first post introduces Spring 3's
@NumberFormat. The second introduces Spring 3's @DateTimeFormat annotation. The third post introduces Spring MVC's Conventions class, which is at the heart of some of the major convention-over-configuration centric changes seen in recent Spring MVC releases that let you, for example, add any object to the Model that is made available to the view and omit the name used to store that model attribute, deferring to the Conventions class to provide a sane name based on the JavaBeans specification.
In this latest post, he cautions that while using the conventions in some cases can be very helpful (such as with <mvc:annotation-driven/>), using some defaults can cause confusion. This is a fair point, and it's nice to have the choice, either way.
Nice work, Roger!
-
This blog post highlights the fact that Spring.NET supports bi-direction injection, a feature that distinguishes it from Ninject and MS Unity.
-
Want to run multiple Tomcat instances on one machine? This blog post explains the nitty gritty details. Good stuff.
Welcome to another edition of
"This Week in Spring"
Things are moving fast and furious as we near next week's VMworld 2011. I want to invite any attendees to visit your expert technologists at the VMWorld Spring booth. Let me know if you read this weekly roundup.
Lots to talk about this week, so let's get to it!
- The preliminary session schedule has been published for SpringOne 2GX 2011. This year's show is going to be another fantastic mix of deep technical content, cutting edge development and the absolute best place to learn about everything in the Spring universe. Be sure to register now!
- Spring 3.0.6's was just released!
This release addresses over 50 minor issues and includes about a dozen small improvements. Be sure to read the Change Log for all the details and download the bits as soon as possible.
- Spring Data Graph 1.1.0 with Neo4j support has just been released. The new version features improved support for the latest and greatest Neo4j iteration, (1.4.1), as well as improved support for queries. You can now build repositories using Spring Data Graph with much greater ease. Also, the project's been renamed to reflect its core focus, Neo4j, thus, this will be the Spring Data Neo4j project, going forward. This rename is already evident in the packages in the project.
- Eclipse Gemini Blueprint lead Costin Leau chimes in to note that Eclipse Gemini Blueprint 1.0.0.RELEASE has just been released!
The 1.0.0.RELEASE completes the migration of Spring DM to the Eclipse Foundation (see this guide for more information).
Nice job, guys!
-
I like CloudFoundry. Others may not be using CloudFoundry, as it is relatively new. Some might still be using Google App Engine, for example. And that's OK. Spring always has been, and will continue to be, about portability and choice. So it is great to see a post that demonstrates it is easy to get Spring Roo applications running on Google App Engine, too!
- The Spring Integration repository has changed addresses! Formerly, the repository was hosted on git.SpringSource.org, but it is now hosted under the SpringSource Github.com presence.
-
Ken Rimple has another great post, this time on the upcoming Spring Roo 1.2 release, which features support for both the ActiveRecord-style entities that Roo has traditionally generated as well as services, which many will no doubt be familiar with. While it's always been possible to use services in conjunction with Spring Roo, this new release makes it a natural part of the workflow.
-
Agile developer Tarun Sapra, at Xebia India, has written a nice post on the golden rule of when to use to Spring's
singleton concept: only use singletons for beans that don't have to have client-specific state. While he poses the golden rule slightly differently, I think the distinction is important. Spring beans can themselves maintain state, but they must guard that state from mutations by multiple (and often concurrent) clients.
A lot of times, too, Spring lets you work as though you have client-specific state, but are in fact using a singleton. An example of this is in the way Spring supports injection of the JPA EntityManager, which is not thread-safe. Spring intercepts calls to the EntityManager proxy that's injected and then, in a thread-local, creates an EntityManager so that each request effectively has client-specific state, but they can program in terms of single-threaded access.
That said, this post is a very good read.
-
TomcatExpert.com comments on the support for explicit release of JNDI resources in Apache Tomcat.
Apache Tomcat 7 contains a number of new features around database connection pooling, which help administrators keep their application available and serving content, collecting customer information, and supporting their applications. The main one that has garnered a lot of attention is the new JDBC Connection Pool feature introduced by Filip Hanik last year. Another connection pool attribute not yet discussed here on TomcatExpert.com is the new
closeMethod for speeding up the closing of JNDI resources that would otherwise be closed during garbage collection.
- This post by Deepak Vohra on IBM's DeveloperWorks has some great information on using Spring Android's
RestTemplate support to consume RESTful web services (which, in this example, were developed using JAX-RS). Interoperability is king, and Spring's REST support makes it easy.
- This fantastic post covers using FreeMarker (via the
org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver view resolver) for Spring MVC views. I like FreeMarker, and it has a lot to offer compared to straight JSP (and even compared to straight JSPX!) The take away, for me, is that Spring MVC supports lots of options, and provides SPIs that make it very simple to integrate new technology for each of the core pieces of the integration.
Great stuff!
-
...which brings me to this implementation of a Spring MVC view by a Sean Scanlon, supporting Mustache.js templates.
Great stuff, too!
- Blogger Mkyong has posted a tutorial introducing how to use Spring Security 3.
The tutorial covers the basics of setting up Spring Security 3 with Maven 3 for a simple web application login scenario.
-
Apache Tomcat 6.0.33 has been released!
Apache Tomcat 6.0.33 is primarily a security and bug fix release. All users of older versions of the Tomcat 6.0 family should upgrade to 6.0.33.
Note that is version has 4 zip binaries: a generic one and three bundled with Tomcat native binaries for different CPU architectures.
Apache Tomcat 6.0 includes new features over Apache Tomcat 5.5, including support for the new Servlet 2.5 and JSP 2.1 specifications, a refactored clustering implementation, advanced IO features, and improvements in memory usage.
Welcome to another edition of "This Week in Spring." August is well underway and soon, at the end of August, VMworld 2011 will be upon us. Shortly thereafter, SpringOne will be here. It's going to get hot and heavy very quickly, so get ready!
This week's "This Week in Spring" has a lot of interesting content from Gordon Dickens, of Chariot Solutions. Thanks Gordon for all the good reading!
-
Rod Johnson - Spring's founder and thought leader - did a keynote at TheServerSide earlier this year.
This post relays some of the content of that keynote, including his thoughts on
cloud computing, SOA, and more. Check it out.
-
The video of the recent webinar, "What's New in Apache Tomcat 7," is now available on the SpringSourceDev YouTube channel.
- Luke Taylor has some great content on how to configure Spring Security with the Scala DSL he's been developing. Check it out!
-
Spring Data JDBC Extensions with Oracle Database Support 1.0.0.M2 has been released. The new features include QueryDSL SQL module support and a fixed leak in Streams AQ.
- Oliver Gierke has a great post on how to fine tune Spring Data JPA repositories.
- This is a great post on using CloudFoundry, and Eclipse Virgo (formerly the SpringSource dm Server), together. Check it out!
-
Spring Social 1.0.0.RC2, has just been released. Spring Social continues its steady march to GA with this latest release, including lots of new features. Check it out!
- Gordon Dickens has put together a quick walkthrough on using tcServer with Spring Insight in SpringSource Tool Suite. Very cool stuff, check it out!
- Gordon Dickens at it again, with a great look at using Spring Data JPA. He also has a post on using queries in Spring Data JPA. Check it out!
- You just can't stop Gordon Dickens! This time he takes a look at the REST support in Spring 3.0 and 3.1 Very concise, insightful look at the technology. Check it out!
- Speaking of Spring MVC 3.1, I pinged Rossen Stoyanchev and Keith Donald on the Spring web team to see what's cooking. I was really happy to learn that flash map support will be available in Spring MVC 3.1. The flash map support is simple: it allows you to persist a value beyond a single redirect, which then expires. This has historically been useful in implementing the redirect-after-post pattern, to avoid having somebody double submit a POST submission should they try to use the back button. Faithful readers and fellow code spelunkers will know that the GreenHouse project has an implementation of this type of functionality already available. If you can't stand the (short) wait, you might consider using that until the more sophisticated, powerful offering is available, integrated into Spring MVC 3.1, directly.
- Are you looking at Groovy? Want to learn more? There are many great resources, and entirely by accident, I've just stumbled upon another.
Check out Groovy Casts.
- This is a post that's all too common these days: what could possibly compel me to use CDI and JavaEE6? In this post, Do I need to move from Spring to Java EE 6?, the answer, of course, is an ebullient, "No!"
This post explain's one architect's reasoning. Are you fleeing from CDI and JavaEE6, and moving your application to Spring? Or, simply want to reuse code from an existing CDI application, in particular CDI's decorators? Then check out this post for an approach to reuse CDI's decorator's inside of Spring.
This support is limited in scope, of course, but it's one less thing you'd have to work on when moving to Spring. An ideal migration will take advantage of the far more robust AOP support available in Spring itself.
- O'REILLY's just published a small getting started book for Spring, Just Spring.
I haven't had a chance to look at it, but the TOC seems promising -- it looks like a direct, 80%-centric look at using the Spring framework. Check it out.
Welcome back to another installment of This Week in Spring! This week finds @springsource at OSCON (and OSCON Java and OSCON Data) in Portland, OR.
If you're here, come visit our booth in the exhibition hall or check the schedule for any of the numerous Spring-talks!
If you missed us at OSCON, or if you're simply looking for an even better Spring experience,
be sure to register for SpringOne 2GX 2011, the premier event for Spring, Grails and CloudFoundry developers. SpringOne 2GX is a one-of-a-kind conference for application developers, solution architects, web operations and IT teams who develop business applications, create multi-device aware web applications, design cloud architectures, and manage high performance infrastructure. The sessions are specifically tailored for developers using the hugely popular open source Spring technologies, Groovy & Grails, and Tomcat. Whether you're building and running mission-critical business applications or designing the next killer cloud application, SpringOne 2GX will keep you up to date with the latest enterprise technology.
- OSCON's great, but I will be taking an hour to watch the webinar, Getting Started with Spring Data Redis for North America, and
Europe.
You should too: Redis is an open source, advanced key-value store known for its excellent performance, its small footprint and embed-ability. The Spring Data project makes it easier to build Spring-powered applications that use new data access technologies such as non-relational "NOSQL" databases and cloud based data services. Check it out!
-
Spring Data Graph 1.1.0.RC1 with Neo4j support Released
The key changes in the Spring Data Graph 1.1.0.RC1 release candidate include:
-
Added Gremlin support (embedded & REST)
-
QueryEngine.query method now takes a parameter map (for cypher and gremlin)
-
documentation updates
- Spring Android 1.0.0.M4 Released!
Spring Android supports usage of the Spring Framework in a Android environment. The 1.0.0.M4 release focuses on updating support for the latest Spring Social release in native Android applications, as well as providing enhancements to
RestTemplate.
- Support for Spring Social 1.0.0.RC1, and Spring Security 3.1.0.RC2 through the Spring Android Auth module, which includes a SQLite datastore for persisting OAuth API connections.
- Updated RestTemplate (client) support, now at the level of Spring Framework 3.1.0.M2.
- Added gzip compression support in RestTemplate
- Added support for Google's Gson JSON parsing library. The Gson library is smaller than Jackson, however Jackson has faster performance.
- Spring GemFire 1.1.0.M1 Has Been Released .
The new milestone updates include:
- Native support for the upcoming GemFire 6.6
- CacheServer support
- GemFire implementation for Spring 3.1 cache abstraction
- Support for queries with variable parameters
-
Spring Data JPA 1.0 GA's been released! This powerful framework makes it easy to build JPA-driven repository objects.
It's been a long road, but it's great to see this powerful framework reach 1.0 GA.
-
Kal Wahner
has written an overview of the deployment of Spring Roo applications to Google App Engine, another cloud environment that Spring supports readily.
He indicates his intention to write up another post, next week, on CloudFoundry, which I would love to see! Good stuff, too. NB: this isn't very technical; e.g., it's more of a a discussion of the broad strokes than a recipe, but he links to a more technical post that might help, too.
-
-
JSP recompilation is now triggered by any change (backwards as well as forwards) in the last modified time of the JSP or any of its dependencies
-
Support for installing multiple instances with the Windows Installer
- Include
jdbc-pool (an alternative database connection pool)
-
Oleg Zhurakousky's written a very interesting post on using Scala functions as Spring beans, complete with source code! Very cool stuff!
- Your humble editor was asked recently about Spring's
FactoryBean<T>
interface: what's it for? and why? I've written a two part post on the specifics of the interface as well as the often more suitable alternatives in Spring 3.0 and Spring 3.1.
- Continuing with his Scala and Spring integration theme - Oleg Zhurakousky has written up a post on implementing a
FactoryBean with Spring in Scala.
This is absolutely great, as it opens up a powerful part of the Spring framework to Scala development. Check it out!
- Loiane Groner - the ESJUG (Espirito Santo Java Users Group) and CampinasJUG (Campinas Java Users Group) leader and coordinator - has written this fantastic post explaining how to use the ExtJS 4 upload component on the frontend with a Spring MVC 3 backend. Very pragmatic, cool stuff, and complete with lots of code!
- Marco Tedone has written up a wonderful post on using an OutOfMemoryError warning system - as described in issue #92 of Dr. Heinz Kabutz's wonderful newsletter -
with Spring
This is fantastic, and useful!
- Spring MVC is very powerful and easily employed in your application (in Spring 3.0, you need only specify
<mvc:annotation-driven /> to enable it; alternatively in Spring 3.1, you need only specify @EnableWebMvc to enable it). It's also very flexible, and can be configured in many ways. One of the pluggability planes is the view technology: there are common recipes for using JSP, Tiles, Velocity, FreeMarker, XML, JSON, PDFs, Excel spreadsheets and much more for Spring MVCs. If none of these meet your requirements, you can look to the open source community to leverage others, including one called Thymeleaf. Here's a comparison of Thymeleaf to JSP as a Spring MVC view technology. Here's a tutorial on setting up the view technology in Spring MVC. Powerful, and simple!
Check it out! Users of Tapestry's templates as well as JSF's Facelets will see a lot to like in
this view template technology - check it out!
-
TomcatExpert.com has a great post on the Security Lifecycle listener.
Apache Tomcat 7 includes several security updates that further harden the application server that came directly from the Bugzilla queue. One new feature, the Security Lifecycle Listener, helps ensure that Tomcat is started in a reasonably secure way.
Welcome back to another installment of This Week in Spring. Lots of good stuff to get into, so let's get to it.
- The video from Grails Advocate Peter Ledbrook's webinar, "Tuning Your Grails Applications," has been made available here. Lots of great tidbits for web developers in general, as well as Grails developers in specific. Be sure to check out the other great content on the SpringSource YouTube channel.
-
OSCON is right around the corner, and SpringSource is going to be there in full force!
Come see yours truly (Josh Long), Steve Mayzak, Ezra Zygmuntowicz, Derek Collison, Bruce Snyder, David McCrory, James Watters and others talk about Spring, CloudFoundry, and much more at OSCON (as well as OSCON Java, and OSCON Data!). Also, feel free to check out our booth where we'd be happy to answer questions, introduce you to new technologies and meet and greet.
Going to be there? Let us know, send us a message on Twitter to @SpringSource.
- Spring Data Redis 1.0.0.M4 has been released
The new release features several improvements. My favorite? A Spring 3.1
CacheManager implementation that uses Redis! Out of the box, Spring 3.1's cache abstraction supports a CacheManager implementation based on the java.util.Map<K,V> interface, and an Ehcache implementation. The Spring Gemfire project ships with a CacheManager implementation that delegates to GemFire, as well. This new Redis implementation adds to the raft of options available already, and Spring 3.1's not even GA!
-
Speaking of Redis, check out this upcoming webinar, Getting Started with Spring Data Redis.
From the description, "This webinar will introduce Redis, its data structures, the fundamental concepts behind it and the Redis support in Spring Data, and will showcase how easy it is to get started and scale out into a cloud environment such as Cloud Foundry." Be sure to tune in!
- Spring Integration 2.0.5 has just been released.
This release addresses 48 issues of which roughly half were bugs and half were improvements. For details see the Release Notes.
- Dr. David Syer, lead of the Spring Batch project, lead of the Spring Hadoop project, committer on just about everything else, and nice guy, all around, has just posted an amazingly clear, helpful post on navigating the rough waters of a complicated Git pull request. A must-read if - like me - you know that Git could solve all your workflow problems, if you only really understood it!
Remember, the process starts on git.SpringSource.org and on github.com/SpringSource.
Check it ... err... clone it out!
- Ken Rimple's at it again! This time, he's excerpted content from the upcoming book (which is available in Manning's Early Access Program, or MEAP), Spring Roo in Action, on testing entity validations with a mock entity. Good stuff, check it out!
Welcome back to another installment of "This Week in Spring." Today saw a new sunrise, and - more importantly - the release of vSphere 5, the next step in cloud infrastructure!
My head's still buzzing after the excitement that accompanied this morning's launch.
This - and the recent release of vFabric 5 - represent the next stage in cloud innovation, and a huge part of taking your applications to production, and to the cloud, with Spring.
- O'Reilly has published a fantastic roundup on the seven Java projects that changed the world!
The list includes JUnit, Eclipse, Solr, Hudson and Jenkins, Hadoop, Android, and your favorite enterprise Java framework and mine, the Spring Framework.
-
Martin Lippert has announced a new release of SpringSource Tool Suite, version 2.7.1, hot on the heels of the recent 2.7 release.
The update provides:
support for Spring Roo 1.1.5,
ships with Spring Roo 1.1.5, and
customizable Roo Shell colors.
More details on new features and bug fixes can be found in the New and Noteworthy document. Detailed installation instructions are also available.
As always downloads are available from the STS download page.
-
Gordon Dickens has a great look at some of the cool places to start poking around in
SpringSource Tool Suite 2.7.x on your first flight.
Gordon, as you know if you read last week's column, is the author of
the DZone RefCard for SpringSource Tool Suite.
-
The Spring Roo team has announced Spring Roo 1.1.5.
The new release features over 95 improvements and bug fixes since the 1.1.4 release. The next release of Roo will be 1.2.0.RC1 where new features such as application layering support and a new JSF UI option will be introduced.
- Martin Lippert announced that the latest version of the SpringSource Tool Suite and CloudFoundry Integration, version 2.7.0.M3, has been released. This is the latest release of the integration initially announced and explained on this blog.
-
If you were unable to attend the recent S2G Forums in London and Amsterdam, you can catch up on some of the session content because the presentations have now been posted on line. In particular, you can review the slides presented in Rod Johnson's keynote: What can the cloud do for me? Of course there will be more fantastic content at SpringOne 2GX 2011, October 25-28th in Chicago. Be sure to register early.
-
This blog post does a great job illustrating how to embed Apache Tomcat 7. Cool stuff!
- VMware's knowledge base has so much knowledge, so much wisdom, that scarcely the largest, and most scalable Not-Only-SQL solution can contain it. One of the many gems contained in this knowledge base? A recently added post on converting EJB applications to Spring, which references the very successful Hyperic case-study. Check it out if you're looking for insight from the professionals on how to forge from the bloated, boilerplate ridden code of a typical EJB application a clean, scalable Spring solution grounded in best practices.
|
|
|