Mixing RabbitMQ with Spring Python

Engineering | Greg L. Turnquist | September 20, 2010 | ...

RabbitMQ is a powerful messaging broker based on the Advanced Message Queueing Protocol (AMQP). In an earlier post, we looked into building a Python stock ticker program. We compared using RabbitMQ's pika with py-amqplib, and how it was easy to transition from one to the other with minimal changes.

In this article, we'll show how pika can easily be used by Spring Python. Spring Python is an implementation of the concepts of Spring with the language of Python. It includes many features such as dependency injection. If we choose to build a Spring-like application in Python, it is easy to utilize…

SpringSource dm Server 2.0.3 Released

Engineering | Glyn Normington | September 09, 2010 | ...

SpringSource dm Server 2.0.3 is available for download. This purpose of this release is to fix a severe problem on Windows when the root logging level is configured to "debug". This bug was reported and fixed in Virgo and then backported for existing customers since Virgo has not yet shipped its baseline release (planned for 4Q10).

Announcing GORM for Redis

Engineering | Graeme Rocher | September 07, 2010 | ...

One of the major movements inspired by the rise of the cloud platform is the growing interest in alternative storage techniques to traditional relational databases. One such storage mechanism is Redis, a high performance key/value store that is playing an important part in future cloud infrastructure.

There has been a lot of interest in Redis within the Grails community and hot on the heels of the Redis 2.0.0 release we are pleased to announce the availability of GORM for Redis Milestone 1.

What is GORM for Redis? Quite simply it allows Grails developers used to the convenience of features such as dynamic finders, criteria and named queries to take advantage of Redis…

Virgo milestone 4 ships

Engineering | Glyn Normington | September 03, 2010 | ...

Virgo milestone 2.1.0.M04-incubation is available for download.

Changes:

  • Bug 323609 fixed: severe logging performance issue under Windows in certain scenarios
  • OSGi extensions change in preparation for Equinox 3.6 upgrade contributed by Hristo Illiev
  • New testcases and test coverage improvements contributed by Olivier Girardot
  • Support new framework property org.eclipse.virgo.suppress.heap.dumps and document it in User Guide
  • Unused EquinoxConsoleManager deleted
  • Various build and test improvements

See the bug list for more details.

VMware vFabric Powers Cloud Application Platform Vision

Engineering | Rod Johnson | August 31, 2010 | ...

At this year’s VMworld, VMware is unveiling our vision for enabling IT as a Service. Today’s announcement outlines the three major layers of the IT stack that we feel are critical to delivering IT as a service—cloud infrastructure and management, cloud application platform, and end user computing—and lays out our roadmap for addressing it. Spring developer technologies and SpringSource middleware play a key role in our vision, and we believe we are opening exciting new opportunities to our community.

As part of this strategy, we are announcing our cloud application platform, under the new VMware vFabric brand. This platform delivers on the promise of VMware’s acquisition of SpringSource, pulling together our assets into a single, next-generation infrastructure. While the respective components will remain available separately, we believe this integrated offering will provide a simpler, more efficient, option.

The VMware vFabric platform combines the Spring development framework and tools with VMware vFabric platform services that enable fast delivery of next-generation applications that are instantly scalable and cloud-portable.

Today’s announcement is a natural continuation of our work over the last 5 years. We started out by transforming enterprise Java productivity with the Spring Framework and the innovation of POJO programming; extended the Spring programming model to address security, batch, integration and other important requirements; continued to simplify enterprise Java deployment with tc Server and Hyperic; further helped productivity with SpringSource Tool Suite, Grails and Spring Roo; added cloud-ready messaging and data grid capabilities with our acquisitions of Rabbit Technologies and GemStone Systems; and integrated with the industry’s leading virtualization solution. Out of these best of breed parts, we are today announcing a unified platform.

VMware vFabric

Why is a New Application Platform Needed?

The rise of virtualization and cloud computing combined with the popularity of consumer and software-as-a-service applications such as Facebook and Salesforce.com are driving significant shifts in application architectures – across infrastructure, applications, data access, and how end users interact with applications.

Modern applications need to be easy to use, data rich, and provide access anywhere, anytime. Developers need the frameworks, tools and platform services that enable them to build great applications and immediately deploy those applications onto an intelligent platform that provisions itself on demand and scales the application based on policy.

IT needs a platform for this new generation of applications that is free of the complexity, bloat and limitations of prior-generation architectures.

The Unique Value We Provide

The VMware vFabric cloud application platform combines the Spring projects and tools used by millions of Java developers with the VMware vFabric platform services required for powering next-generation applications. The shift toward cloud computing tends to mix developer and operational concerns; we believe that understanding and addressing modern developer requirements is essential.

The path to cloud begins with developer tools and features that make it easy to create new applications that provide a rich, modern user experience and integrate with other applications using proven EAI patterns. Spring applications can be deployed across any Java platform, including WebSphere, WebLogic, JBoss, our own tc Server, as well as public cloud platforms. The best way to get started is to download the SpringSource Tool Suite, which provides a rich development environment and runtime platform that makes creating Spring and Grails applications quick and easy.

VMware vFabric delivers the lightweight footprint and transparent visibility necessary for applications to make the best use of the underlying virtual infrastructure platform with technologies such as tc Server and Hyperic. The platform addresses the technical challenges of cloud computing head on, supporting new approaches to data management that enable applications to scale across elastic, geographically distributed cloud architectures with our GemFire and RabbitMQ technologies.

Where Are We Headed?

At VMworld, we have 6 demo pods where we will be showing the VMware vFabric cloud application platform in action. I encourage you to drop by and check it out.

Our Spring and vFabric engineers continue the blistering pace and will be highlighting even more innovation at the SpringOne 2GX conference in Chicago from October 19 – 22, 2010. In support of our partnerships with Salesforce.com and Google , we have been hard at work extending the Spring programming model and vFabric platform services to enable developers to deploy applications across cloud platforms such as VMforce and Google AppEngine. We encourage you to come see the new advances for yourself.

We feel we have a unique ability to provide the millions of enterprise Java developers with a clear and innovative path to cloud computing architectures, powered by a modern programming model paired with next-generation platform services. A path that is not overgrown with the cruft and complexity of prior-generation architectures. The journey will be fun, and I look forward to taking it together.

The future of functional web testing?

Engineering | Peter Ledbrook | August 28, 2010 | ...

The Groovy community is a productive bunch, which means there are a plethora of frameworks, libraries, and tools to make your life easier. The area of testing seems to be particularly fertile ground and I've recently been looking into a couple of tools that, when combined, promise a step change in your productivity when writing functional web tests.

Although my usual focus is Grails, you don't have to use Grails to reap the benefits of these tools: they will work with any web application and will integrate well with any Java-based project/build. As it happens they both have associated plugins…

Reuse your Hibernate/JPA domain model with Grails

Engineering | Peter Ledbrook | August 26, 2010 | ...

It's a common story. You have an existing database and now you want to add a web application for it with the minimum of fuss. Is Grails up to the task? Of course it is! Even better, if you already have a domain model based on JPA or Hibernate configuration files, you can reuse it and still benefit from the great GORM features you're used to.

The first step in reusing an existing domain model is to get the class files on the application's classpath. You can do this either by packaging them up in a JAR file and including it in the application (typically by dropping it in the 'lib' directory), or…

Spring Roo 1.1.0.M3 Released

Engineering | Ben Alex | August 25, 2010 | ...

Update: SpringSource Tool Suite 3.5.0.M3 is now available for download. It includes the latest Spring Roo 1.1.0.M3 and GWT 2.1.0.M3 support.

Many members of the community have been eagerly awaiting Spring Roo 1.1.0.M3, and I'm pleased to announce it is now available (download here). This release incorporates more than 150 new features, enhancements and other improvements since Milestone 2, bringing the cumulative total in the 1.1.0 milestone series to some 500 issues. Many of the improvements in Spring Roo 1.1.0.M3 reflect our continued close collaboration with the Spring Framework, Google Web Toolkit, AspectJ and SpringSource Tool Suite teams, and you can see the results in some of the major new features:
  • Incremental database reverse engineering (or DBRE as it's affectionately known around the office): This has been the most highly-voted for Jira ticket in the history of the Spring Roo project, representing around 130 separate votes. This new feature makes it possible to introspect an existing relational database and emit a series of JPA entities. However, unlike traditional database reverse engineering tools, DBRE can be re-run repeatedly on the same project without undesired side-effects (thus the term "incremental" in the feature name). All of the members that result from the introspection are stored in AspectJ ITDs, which is consistent with the rest of Roo. This keeps your .java files clutter-free and intention-revealing (just like they should be). While introspection is now working well (even for complex situations like composite primary keys and all cardinality types) and allows you to programmatically use the resulting entities in normal Java style, in Roo 1.1.0.M4 we'll be adding web tier support for introspected databases.
  • Latest Google Web Toolkit 2.1.0.M3 features: Our collaboration with GWT enables Roo to produce applications that use the newest features in GWT 2.1.0.M3 (which was also released today). One of the most highly-anticipated new features is relationship support under the RequestFactory infrastructure. You can try this out by using the "script expenses.roo" command, then "mvn gwt:run" and creating related employee objects via the GWT UI. You can read more about the new GWT 2.1.0.M3 features in the GWT blog entry.
  • Automatic JSON support, including in Spring MVC applications: All domain objects produced by Spring Roo will now include automatic JSON-related methods. These allow you to bidirectionally convert between a JSON representation and an object. We introduce these new JSON-related methods via ITDs in the normal Roo style. Roo-managed Spring MVC controllers now also automatically use these methods as well. To see this in action, use "script clinic.roo", then "mvn tomcat:run", create a new Owner via the web user interface, and then try a curl command such as curl -v -H 'Accept: application/json' -X GET http://localhost:8080/petclinic/owners/.
  • 16 social media embedding features: It's now possible to add content from 16 social media web sites to your Spring MVC-based front end with a single Roo command! This includes YouTube, Google Video, Vimeo, Viddler, Screenr, UStream, LiveStream, Flikr, Picasa, Google Presentations, Scribd, SlideShare, Google Maps, Google Wave, Twitter and Wikinvest. It's all available from the new "web mvc embed" command.
  • Library upgrades: We've updated the libraries which Roo automatically uses in projects. Some of the notable updates include shifting to Spring Framework 3.0.4 (with enhanced resource serving by the elimination of the URL rewrite filter) and Spring Web Flow 2.1.1.
  • Automatic Roo annotation JAR upgrades: Now when you upgrade to a new version of Roo, there's no need to edit your project's pom.xml to change the Roo annotation library version. Roo will take care of this automatically for you.
  • Usability enhancements: We've now added a number of new features to improve usability. One item you may notice is the new "flash message" area at the top of the screen. This displays the progress of long-running operations (you can try the "flash test" command for a quick demo). We do recommend you use Linux, Windows or iTerm (for OSX users) for the best flash message experience. Some other less visible improvements include better logging, suppport for "#" comments, tab assist for the "hint" command, a comment at the top of AspectJ ITDs to remind you not to edit them, and many others.

As always, the Spring Roo Reference Guide includes upgrade instructions for those already using Roo, as well as background reading and introductory tutorials for those interested in learning more. The reference guide can be viewed online, plus it's also included in the download ZIP. You can also learn more about Spring Roo by attending SpringOne, JavaOne, Devoxx, Google Developer Days or YOW!2010 over the next few months.

The next release of Spring Roo will be 1.1.0.M4. This will be the final milestone in the series and we expect to reach 1.1.0.RELEASE in mid-0ctober 2010. We maintain our full roadmap dates in Jira for…

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

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

Learn more

Get support

Tanzu Spring 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