Newest Post

VMware vFabric Powers Cloud Application Platform Vision

Read more

RabbitMQ 2.0 is Now Available

Great news for everyone interested in advanced, scalable, enterprise and cloud messaging! The RabbitMQ team has just released a brand new version, RabbitMQ 2.0, of their popular messaging server. The release includes an all new scalable storage engine, native support for multi-protocol messaging, improvements to plugin distribution and much more.

Download | Documentation | Release Notes | Blog

Spring Community members can use the new Spring AMQP project for both Java and .NET connectivity to RabbitMQ. RabbitMQ and Spring AMQP will be among the incredible technical content featured at SpringOne 2GX 2010 in Chicago, October 19th-21st. Be sure to register now to lock in an early registration discount.

Read more

The future of functional web testing?

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 that make using them from Grails pretty straightforward.

Read more

Reuse your Hibernate/JPA domain model with Grails

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 by putting the source files in the ‘src/java’ directory. The JAR file is the better approach when sharing a model between applications, but you then need a multi-project build system to ensure that the JAR is always up to date for all projects. It’s probably worth the extra effort and both Gradle and Maven have plugins for building Grails projects. Alternatively, if your Grails application is the only project using the model going forward, you should keep the source in ‘src/java’ instead.

Read more

Spring Roo 1.1.0.M3 Released

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:

Read more

RabbitMQ Plugin for Grails - Early Access

RabbitMQ is a lightweight, reliable, scalable and portable message broker based on the Advanced Message Queueing Protocol (AMQP). It’s ideal for heterogeneous systems and cloud platforms, but it can be used for pretty much any messaging requirements, big or small. You don’t (typically) access it via the JMS API, and in fact the JMS plugin won’t help, but a new plugin is now available that’s dedicated to making it easy to use RabbitMQ from Grails applications.

The current version of the plugin (0.2) is relatively limited, but you can already send and receive messages. I encourage you to try it out and provide feedback - you have the opportunity to influence its development!

Read more

(Secure) File Transfer, the Only Way to Fly…err Copy

There are many ways to skin a cat. Many applications today rely on messaging (AMQP, JMS) to bridge the gap between disparate systems and data. Others rely on RPC (typically web-services, or REST). For a great many applications, however, file transfer is very much a way of life! There are several common ways of supporting it, but three of the most common are using a shared mount or folder, using a FTP server, and - for more secure exchanges - using SSH (or SFTP). While it’s common knowledge that Spring has always provided first-class support for messaging (JMS, AMQP) and RPC (there are far too many remoting options to list!), many might be surprised at the many robust options for file transfer that the Spring Integration project has. In this post, I’ll be building against some of the exciting support found in the upcoming Spring Integration 2.0 framework that lets you hook into events when new files arrive and also to send files to remote endpoints like an FTP or SFTP server, or a shared mount.

Read more

Spring 3.0.4 is Now Available

Arjen Poutsma has just announced that Spring 3.0.4 is now available. This release addresses over 80 minor issues and updates Spring’s support for some recent third-party releases including Hibernate Core 3.6, Hibernate Validator 4.1, EclipseLink 2.1, and EHCache 2.2.

Download | Documentation | Javadoc API | Change Log | JIRA

All the latest features for Spring as well as advanced technical sessions and roadmap discussion will be happening at SpringOne 2GX 2010 in Chicago, October 19th-21st. Be sure to register now to lock in an early registration discount.

Read more

Building RabbitMQ apps using Python

RabbitMQ is a powerful messaging broker based on the Advanced Message Queueing Protocol (AMQP). Thanks to the neutral nature of the AMQP spec, it is easy to connect to it from many platforms, including Python. In this blog entry, we will:

  • Create a simple stock ticker Python application

  • Create a brokerage Python application that decides when to buy and sell.

  • Compare pika, an AMQP library created by the RabbitMQ team, with py-amqplib. instructions for your platform
Read more