Using Cloud Foundry Services with Spring: Part 2 - Auto-reconfiguration

Engineering | Ramnivas Laddad | November 04, 2011 | ...

If you watched the video for the Cloud Foundry launch event, you saw that we deployed the Spring Travel application downloaded from Spring Web Flow samples, bound a MySQL service to it, and dragged and dropped the application to the Cloud Foundry server in STS, without making a single line of change in the application itself. How’s that possible since the application is configured to use a local database? That’s when auto-reconfiguration comes into play.

Cloud Foundry strives to keep your initial investment low. Beyond dollars and cents, a real investment comes from the time that a developer…

This Week in Spring: November 1st, 2011

Engineering | Adam Fitzgerald | November 01, 2011 | ...

Wow! Last week's SpringOne 2GX event was sensational. It was an amazing time, and it was - as usual - great to see the Spring community going so strong. I can't wait until the videos from the event start to appear on InfoQ.com.

We've got a lot to cover this week, though, so let's get into it!
 </P> 
    <Li> 
    

    Don't tell anyone, but even if you missed SpringOne 2GX, the decks for all the talks should be on SpringOne2GX.com, and the videos for all the talks will be on InfoQ.com soon.

    To tide you over in the short term, the deck from SpringSource CTO Adrian Colyer's keynote - "Spring yesterday, today, and tomorrow" - is available online. Thanks Adrian!

     <LI>
     One of the many big announcements that came from the SpringOne2GX event was	 that of <a href= "http://neo4j.org/spring/">Neo4j 2.0</a>. 
            If you're…

This Week in Spring, October 18th, 2011

Engineering | Josh Long | October 19, 2011 | ...

What a week! If you're an enterprise Java developer, then you've no doubt heard the news - Spring 3.1 RC1 has just been released! Read on for more details and be sure to sound off on the forums if you have questions or feedback!

And, of course, if you're at SpringOne2GX 2011 next week, you can look forward to hearing a lot more on Spring 3.1 as well as the latest and greatest from all the Spring technologies. We look forward to seeing you all there!

 </P>  

  
  1. Spring 3.1.0.RC1 was released last week! And so begins the march to Spring 3.1 GA. Chris Beams kicked things off with this announcement. Then, Juergen Hoeller, Spring project lead, followed up with this blog post detailing the new features. The first release candidate of Spring 3.1 is now available from the Spring milestone repository or for direct download via community download page. This release includes new features such as:
    Support for Hibernate 4.0 (up to date with 4.0 CR4), 
    Complete <CODE>TestContext</CODE> framework support for <CODE>@Configuration</CODE> classes,
    Flash scope for Spring MVC, 
    Support for Quartz 2.0,  
    77 bug fixes, 16 new features, and 66 improvements. Wow! To learn more about what's new in Spring 3.1, be sure to <a href="http://static.springsource.org/spring/docs/3.1.0.RC1/spring-framework-reference/html/new-in-3.1.html">check out this document.</a>
     </LI> 
      <LI> 
      Martin Lippert today announced the <a  href="http://www.springsource.org/node/3287">release of SpringSource…

Upgrading Maven integration for SpringSource Tool Suite 2.8.0

Engineering | Andrew Eisenberg | October 18, 2011 | ...

UPDATE, Nov 23: We have released STS 2.8.1, that fixes many of the install/uninstall of m2eclipse issues that people were having. Read the release announcement. Now, it is possible to upgrade/downgrade m2eclipse easily. STS 2.8.1 fully supports both versions of m2eclipse.

Today, we released version 2.8.0 of the SpringSource Tool Suite. Along with an update to Eclipse Indigo SR1 (which brings you full IDE support for Java7), we also updated the Maven integration from the old and unmaintained m2eclipse versions 0.12.x to the latest version m2e 1.0 – which is now shipping as part of the…

Using Cloud Foundry Services with Spring: Part 1 - The Basics

Engineering | Ramnivas Laddad | October 13, 2011 | ...

Services offered in Cloud Foundry make writing efficient and effective applications possible. Developers can now choose just the right kind of services without worrying about operating those services. For example, a portion of an application can choose Postgres for the parts where transactional access is crucial, MongoDB where interacting with data as a collection of documents makes sense, Redis where key-value is the right abstraction, and RabbitMQ where messaging helps create effective architecture. In this four-part blog series, we will explore how Spring applications can use Cloud Foundry…

Spring Framework 3.1 RC1 released

Engineering | Juergen Hoeller | October 12, 2011 | ...

It is my pleasure to announce that the first Spring Framework 3.1 release candidate has - finally - been released this week! We have been working on this release for several months, completing our milestone work and recently adding support for Java SE 7 and for Hibernate 4.0 to the feature list.

Spring Framework 3.1 RC1 completes the 3.1 feature set:

  • The environment abstraction and the environment profile mechanism for bean definitions.

  • Comprehensive Java-based application configuration based on @Enable* annotations on @Configuration classes.

  • An overhaul of the TestContext framework with first-class support for @Configuration classes and for environment profiles.

  • Our new "c:" namespace for conveniently specifying constructor arguments by name in a concise inline style.

  • The cache abstraction with our declarative caching solution (@Cacheable etc) on top.

  • The Servlet 3.0 based WebApplicationInitializer mechanism for bootstrapping a Spring web application without web.xml!

Rapid Cloud Foundry Deployments with Maven

Engineering | Gunnar Hillert | September 22, 2011 | ...

Apache Maven is a very popular choice in the Java community for building and deploying applications.  The Cloud Foundry team has released the Cloud Foundry Maven Plugin to integrate with applications’ development lifecycle, including deployment to the cloud.  The same Maven plugin can be used to manage application pushes and updates to any Cloud Foundry instance.

One of Cloud Foundry’s main promises is to make your life as a developer a whole lot easier without limiting available choices. Cloud Foundry not only supports a plethora of languages (Java, Groovy, Scala, Ruby etc.) and frameworks (Spring, Grails, Rails, Sinatra, Lift etc.) but it also allows you to deploy your applications to different environments. This includes public clouds, such as Cloudfoundry.com and AppFog.compartner-provided cloud offerings, single VM Micro Cloud Foundry

This Week in Spring, September 20th, 2011

Engineering | Josh Long | September 20, 2011 | ...

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!

  1. 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.

  2.  <LI> <a href = "http://www.springsource.org/node/3235">SpringSource Tool Suite 2.7.2 has been released.</a>  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!
    	
     </li>
    
    <LI>
    	<a href = "http://blog.springsource.com/2011/09/14/spring-roo-1-2-0-m1-released/">Spring Roo 1.2.M1 released. 	</a>
    	The new release is a <EM>really</EM> exciting one.  There are some exciting <em>backoffice</em…

New application layering and persistence choices in Spring Roo 1.2

Engineering | Stefan Schmidt | September 14, 2011 | ...

Java enterprise applications can take many shapes and forms. Depending on their requirements, developers need to decide which specific architectural layers their application needs. Up until now, Spring Roo has taken a pragmatic approach to reduce the often unnecessary complexity introduced by service facade, repository or DAO layers. The newly-released Spring Roo 1.2.0.M1 (see announcement) includes frequently requested support for architectural layers which can be tailored to the needs of the application. This article provides an overview of Roo's new service and repository layer features.

Spring Roo Application Layering Support

Spring Roo 1.2.0.M1 released

Engineering | Alan Stewart | September 14, 2011 | ...

The Spring Roo team is delighted to announce the availability of our first 1.2.0 milestone. The Roo 1.2.0.M1 release continues the Roo vision of making it fast and easy to build Spring-based enterprise Java applications. We’ve listened to the community and included in this release some of the most highly-requested features:

  • Ten times faster (!). We know many people are using Roo for very large projects, so we’ve continued our attention to Roo internals to ensure it operates smoothly and quickly despite this. Through attention to profiling, file monitoring, disk I/O, XML models and round-tripping, we’ve increased Roo’s performance for large benchmark projects by a factor of 10.
  • Now Apache licensed. With Roo 1.0/1.1, we used the GPL license to encourage any improvements made in Roo to be shared with the community. In response to feedback, we’ve shifted to the Apache Software License 2 (ROO-2253) so you have complete flexibility on how you use Roo in commercial and non-commercial projects. This also makes Roo consistent with most of the other Spring projects.
  • Moved to GitHub. Social coding is on the rise, and GitHub has become the de facto site for open source source code management. We’re pleased to have moved Roo’s code base to GitHub so that you can easily fork it, make changes, and submit pull requests. This will greatly simplify the receipt of new contributions from the community. Take a look at ROO-2708 or visit https://github.com/SpringSource/spring-roo for more info.
  • Repository layer flexibility. It’s now possible to define your own repository layer approach, with full awareness of your choices in the Roo-managed web tiers, integration tests and data-on-demand mechanisms. This is a significant step forward for those preferring a more traditional layering approach than the Roo 1.0/1.1 “Active Record”-like model. Of course the philosophy that favoured the earlier approach remains, so Roo still fully supports embedding convenient Active Record-style methods in entities. You can learn more about this new feature in the Pizza-Shop sample (see the /samples directory of the distribution) and ROO-301.
  • Services layers. We also decided to tackle another highly-requested community feature: services layer support. You can now easily add a services layer (via a Roo "service" command) and have this used by the Roo-managed web tiers, integration tests and data-on-demand features. The custom services layers can also be used at the same time as custom repositories, giving you complete flexibility to build whichever application layering you prefer. You can read more in ROO-340 and Stefan Schmidt is publishing a blog shortly giving more details.
  • Flexible GWT support.  Now you can skip the UI and just let Roo manage syncing your RequestFactory classes (EntityProxy, RequestContext, and Locator) with your domain model and service layers. Previously the GWT UI scaffolding was mandatory, but with 1.2.0.M1 you can be more selective on how Roo integrates with your project.
  • MongoDB support. Whether you’re a Cloud Foundry user, or just a Mongo fan, we’ve now added support for storing your entities in MongoDB. Mongo is a fast, shard-aware, schema-less document database that supports map-reduce and is a good fit for those wanting to use noSQL with Roo. Learn more in ROO-2693.
  • Database Reverse Engineering (DBRE) Multi-Schema Support. One of the most popular features in Roo is DBRE support, which allows you to not only scaffold an entity model from your relational schema, but also automatically maintain that entity layer as the schema changes. This takes a schema-first approach to development and we know of users employing DBRE in projects with many hundreds of tables. As part of ROO-1408 we’ve added support for DBRE sourcing its structure from multiple schemas at the same time, and indeed you can even have different schemas manage entities in different Java packages.
  • Shell improvements. Lots of people enjoy Roo's usability and indeed the shell has found its way to many other VMware products. We’re pleased that a number of minor fixes have made its way into JLine 1.0 (ROO-2608) and in turn the Roo shell (such as backspace to a previous line will finally work!). You can also run operating system commands directly from the Roo shell via the “!” operator (ROO-2457) and shell on start up now displays the latest community tweets  (ROO-2677).

As you can see, we’ve made a lot of enhancements to Roo 1.2 and look forward to your feedback. We’ve got many exciting new features still coming in the next Roo 1.2 milestone, including JSF/PrimeFaces (ROO-516) support and multi-module Maven (ROO-120) project support. These two are also highly-requested community features.

Please remember this is a milestone release, so you should keep using Roo 1.1.5 for production projects. However, you might like exploring these new features in Roo 1.2.0.M1 by experimenting with the included sample projects.

We hope you enjoy this new release. Please share your experiences via the community forum, follow @SpringRoo for the latest news, or use #springroo in your tweets

Alan Stewart, Project Lead - Spring Roo

Get the Spring newsletter

Thank you for your interest. Someone will get back to you shortly.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all