Skip to end of metadata
Go to start of metadata

Lingo is a lightweight POJO based remoting and messaging library based on Spring's Remoting which extends it to support JMS. Lingo can support a wide range of message exchange patterns including both synchronous and asynchronous message exchange.

Lingo is an ideal technology to cluster your POJO services to achieve load balancing across many servers and automatic failover. Lingo is high performance and works great in server centric environments as it can work with JCA to cleanly integrate with thread, connection and session pooling as well as handing of transactions, retry and exception handling.

Lingo now has SCA Support for working with the SCA annotations.

Current supported message exchange patterns include

  • synchronous request-response (like RMI)
  • one way messaging (asynchronous invocation - like a JMS publish)
  • asynchronous consumption (like a JMS subscribe)
  • asynchronous request-reply (allowing the server side to asynchronously send one or more replies as the data becomes available).

You can think of Lingo as being conceptually similar to both Microsoft Indigo and JSR 181 in that it allows asynchrnous method execution, remoting and asynchronous messaging to be bound to existing POJOs (classes or interfaces) though it has no particular dependency on Web Services infrastructure.

Lingo supports pluggable messaging bindings; the first binding is an efficient JMS implementation. Over time we'll be adding other bindings to web services frameworks and other transports.

For more details of how Lingo works and what features it offers, see the Overview or try out the Example


There's a great article by Sanjiv Jivan on Asynchronous calls and callbacks with Lingo and ActiveMQ

We've moved the Lingo source repository over to Subversion now so you can access the repository easily using HTTP or HTTPS for committers. For more details see how to access the Source

Using Lingo with Acegi

Sanjiv has a great post showing how to use Lingo with Acegi to achieve nice POJO based remoting with Acegi remoting on top of JMS. Nice work!

Lingo now has SCA Support for working with the SCA annotations to define methods as being asynchronous etc. Grab the latest code from CVS if you want to play some more.

We're pleased to announce the Lingo 1.0 Release

New and noteworthy

  • support for JMSType, JMSPriority, JMSExpiration to be specified on the request messages
  • allow custom JMS headers to be specified on the request message
  • provide a message selector to the JmsServiceExporter
  • various bug fixes


More News

  • No labels

1 Comment

  1. Can you write a more detailed example?
    I want an example just like server and client,but not like current example in the same file.
    When I tried it in a distributed context,I don't know how to config server file and client file,can u tell me?