Spring Integration: Whats going on in there? Part 1 Esper wire tap
February 24th, 2010
Earlier this week Russ Miles announced the release of the OpenCredo Esper extension project (read it here). This project is something we created primarily to make using Esper, the open source Complex Event Processing framework, in conjunction with Spring Integration really easy. At OpenCredo we have been using Esper to help solve the problem of comprehending and monitoring the state of messaging applications for a while now. Understanding the state of an application is one of the issues we repeatedly see with clients looking to adopt an Event Driven Architecture based on Spring Integration. Esper allows us to create views of the data as it passes through our asynchronous event based application which helps to eliminate some of the complexity created by breaking our application into a series of loosely coupled components.
In the first post on this topic I will be walking you through a simple example that takes an existing Spring Integration application and shows how to use the Esper wire tap to send messages passing over a Spring Integration channel into Esper.
Read the rest of this entry »
Filed under: Code Sample, Spring Integration | No Comments »
Quiet but not forgotten
October 25th, 2009

Little time to blog lately but hopefully I will be getting some more time as of mid November. Having started OpenCredo in conjunction with Russ Miles and Gary Levy earlier in the year we have seen fantastic growth in our first six months. Thankfully things are now starting to settle down after the initial crazy days. Over the next few months we are expecting to find time to deliver some interesting open source projects which combine some of our main company interests of integration, messaging and cloud computing. Watch this space.
In addition I have been working on the upcoming Spring Integration in Action with the other Spring Integration committers. A first view of the book is now available through the Manning early access program here. Feedback through the Manning forum would be much appreciated.
Filed under: Spring Integration | 1 Comment »
Working with Maven and SpringSource dm Server
March 8th, 2009
Since I am a big Maven fan one of the things that pained me when starting to work with the dm Server was that the tooling for managing project dependencies was all based around Eclipse. The STS 2.0 RC discussed by Christian Dupuis here now has support for a separate test classpath using a proprietary TEST.MF. To me this still poses a problem when you start thinking about Continous Integration testing. Currently there is going to be duplication and you will need to keep the classpath understood by your build system and your IDE in synch manually. It is however surprisingly easy to setup Maven and dm Server to play nice, so before posting the code for my recent Spring Integration with dm Server demo from the UK Spring User Group I thought I would walk through setting up dm Server with Maven.
The first thing you need to decide is where you are going to have your shared repository which will be populated by Maven and used by dm Server to resolve dependencies. You can configure dm Server to use the default Maven repository under your home directory, however for reasons of clarity I prefer to maintain a separate repository. So, assuming you have downloaded dm Server and unzipped it, the first thing you will need to do is modify the provisioning configuration in DM_SERVER/config/server.config. By default there is no section for provisioning here with convention being used, so after the osgiConsole section define a section as below.
"enabled": true,
"port": 2401
},
"provisioning" : {
"searchPaths": [
"repository/bundles/subsystems/{name}/{bundle}.jar",
"repository/bundles/ext/{bundle}",
"${user.home}/servers/dm-server-maven-repo/**/{bundle}.jar",
"repository/libraries/ext/{library}",
"repository/libraries/usr/{library}"
]
}
}
To test this we will create a simple project which uses Apache Commons lang StrSubstitor class to print the simple message given as an example in the Javadoc for commons lang “You are running with java.version = ${java.version} and os.name = ${os.name}.”)
To create the sample Maven project we can use the Maven archetype plugin so go to the command prompt in the directory where you want to create the test project.
- At the command prompt “mvn archetype:generate”
- Then select the number relating to maven-archetype-quickstart , 15 by default but may vary according to your setup
- Enter a groupId “org.jpartner” in my case
- Enter an artifactId “mavenDmHello”
- Hit enter to accept the default version “1.0-SNAPSHOT”
- For package I used the same value as groupId so “org.jpartner” in my case
Ok, so now we need to open up the pom.xml that has been created for use by the archetype plugin, so change directory to mavenDmHello and open pom.xml in your preferred text editor. After the URL element and before the dependency element add in the below xml fragment to allow Maven to resolve dependencies from the SpringSource Enterprise Bundle Repository, which you can browse here http://www.springsource.com/repository.
Filed under: Maven, Spring | No Comments »
Demo One from my UK Spring User Group talk: The simplicity of Spring Integration
February 22nd, 2009
I was asked to make the code available for the demos that were part of my talk for the UK Spring User Group at Skills Matter. The video of which is here. Today I am posting the code for the first demo which demonstrates just how easy it is to get up and running with Spring Integration. The demo shows a simple application which takes requests from JMS, routes according to business logic and calls through to a Java service to process the message. The projects used in this demo can be downloaded here febSugDemo1.zip. The zip contains three Eclipse projects along with Maven poms so Eclipse is not a must.
- Application Generator: This project is there for testing and when run will create random LoanApplication instances and send them for processing over JMS. This can be started using LoanApplicationGenerator in src/main/java
- Demo 1 Quotes: Contains the Spring Integration configuration and simple service implementations used to process applications. Can be started from LoanQuoteStarter under src/test/java
- Loan Quote Domain: The LoanApplication and Quote types used by both previous proejcts
The example is that of a simple message flow which first receives a LoanApplication from a JMS queue. The loan application is then routed based on simple business rules to either a quote generating service or to a rejection queue for processing later. I will start off with a detailed walk through of the example application so if you just want to get the code up and running you can skip through to the getting it running section towards the bottom.
Loan application message flow
Filed under: Code Sample, Spring Integration | 8 Comments »
Welcome to my new online home
February 21st, 2009
Welcome to my new online home. I am currently in the process of establishing a new company with a number of like minded individuals but until we have the new site up and running I have decided to resurrect www.jonaspartner.com. The new company will be offering consultancy and development services primarily around Open Source whilst at the same time expending a lot of our time contributing to Open Source projects which we think are exciting. We will be looking to pioneer some new ways of collaborating with clients to drastically reduce the risks, both technical and financial, associated with many IT projects. We see this as the key to persuading people that technology projects can be a good investment in the current times. More on that soon.
Over the next few months I will also be putting out a number of blogs on topics I have been meaning to write something on for some time. Most of these will probably relate to Spring Integration since that is definitely what I am most excited about right now although the ability of Grails to make web development with Java exciting and fast paced is also up there for me.
Certainly the first few blogs will be follow-ups to the well received London Spring User Group talk on Spring Integration I delivered on the 12th of February at Skills Matter. The video of that talk can be found on the Skills Matter website here. Thanks to Skills Matter for hosting yet another great community event and to Cake Solutions for providing the organisation and the generous post-talk beer for everyone at the Crown. In the next few days I will be putting up the code from the samples in that talk along with a walk through of the unsuccessful Spring Integration with OSGi demo running on the SpringSource dm Server.
Filed under: Uncategorized | No Comments »
