Author Archive for Josh Long

Spring at China Scale: Alibaba Group (Alipay, TaoBao, and TMall)

So What Does It Take to Operate at China Scale? The challenges inherent to building enterprise applications that meet China-scale demand are unparalleled. One exemplary Chinese organization using Spring heavily to solve very unique challenges is the Alibaba group. Alibaba is itself an online auction site, like eBay in the west. The Alibaba group in Read more…

Using Cloud Foundry Workers with Spring

You've no doubt read Jennifer Hickey's amazing blog posts introducing Cloud Foundry workers, their application in setting up Ruby Resque background jobs, and today's post introducing the Spring support. Key Takeaways for Spring Developers You need to update your version of vmc with gem update vmc. Cloud Foundry workers let you run public static void Read more…

Micro Cloud Foundry for Spring Developers

Today VMware team released Micro Cloud Foundry, 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 Read more…

Configuring Spring and JTA without full Java EE

Spring has rich support for transaction management through its PlatformTransactionManager interface and the hierarchy of implementations. Spring's transaction support provides a consistent interface for the transactional semantics of numerous APIs. Broadly, transactions can be split into two categories: local transactions and global transactions. Local transactions are those that affect only one transaction resource. Most often, Read more…

Beyond the FactoryBean

I looked at what a basic FactoryBean is in my previous post. While FactoryBeans are important – and knowing what they do can help you navigate the framework more effectively – they're by and large no longer the recommended approach to the task as of Spring 3.0 and the imminent Spring 3.1. The whole point Read more…

What's a FactoryBean?

In this post, I'll look at Spring's org.springframework.beans.factory.FactoryBean<T> interface. The definition of this interface is: A FactoryBean is a pattern to encapsulate interesting object construction logic in a class. It might be used, for example, to encode the construction of a complex object graph in a reusable way. Often this is used to construct complex Read more…

Green Beans: Getting Started with Spring Integration

Applications don't exist in a vacuum. They need to communicate with their customers and with other applications. Application Integration is all about enabling this communication. Integration lets applications share services and data with each other, and, just as often, integration helps applications connect with their users. Spring Integration provides a framework to build integration solutions, Read more…

Green Beans: Getting Started with Enterprise Messaging and Spring

In this post, we will introduce the core concepts of messaging, as well as the rich support for various types of messaging that the Spring framework and its sister projects provide. What is Messaging? To best explain this, I'll paraphrase the example offered by the groundbreaking Enterprise Integration Patterns book by Gregor Hohpe and Bobby Read more…

Green Beans: Getting Started with Maven and Spring

Apache Maven is a popular open source tool that offers a convention-over-configuration approach to project build management. Indeed the Eclipse Community Surveys show Maven increased its adoption from 8% in 2009 to 28% in 2010, underscoring its usefulness in a wide range of project settings. Even though you can use Spring without using Maven, there Read more…

Green Beans: Getting Started with Spring in your Service Tier

All applications stem from a domain model. The term "domain model" describes the nouns, or data, in a system that is important to the problem you're trying to solve. The service tier – where business logic lives – manipulates the application data and must ultimately persist it (typically, in a database). The explanation is simple, Read more…