activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <james.strac...@gmail.com>
Subject Re: [HeadsUp] Camel library for POJO based routing...
Date Tue, 20 Mar 2007 11:03:50 GMT
BTW a quick request for some naming feedback :). Naming is definitely
the hardest bit of programming.

I went ahead and added a basic API in Exchange for headers and added
getters for the request, response, fault. In JBI they are called in,
out, fault. Any views on which folks prefer? request/response is kinda
servlety & maybe a little easier for folks to understand. Though maybe
in/out/fault is a bit more WSDLy? :)

I was thinking we should expose the payloads as an Object as well for
in/out/fault - I do also like CXF's idea of you ask for a payload and
specify a type you want to see it as to deal with conversions (e.g in
JBI this would work nicely to turn the XML into DOM / JAXB / SAX or
whatnot).

I guess the cleaner API is if we define our own minimal Message
interface to hold methods like accessing the payload but then also
allow endpoints to expose the real interfaces of those messages if
folks need them?


On 3/20/07, James Strachan <james.strachan@gmail.com> wrote:
> On 3/20/07, Guillaume Nodet <gnodet@gmail.com> wrote:
> > Sounds good.
> > I will try to see how it fits with ServiceMix ...
> > There are a few problems that may need some changes.
> > For example, support for different MEPs: JBI defines strict
> > meps (InOnly, InOut, etc...) that need to be known when the
> > exchange is created, so I guess we will need an additional
> > parameter when creating the exchange to specify if we expect
> > a response or not ....
>
> Yeah, we might need to have a few different createExchange() methods
> on some endpoints (like JBI or CXF). One of the things I hoped was
> that we can have typesafe exchange and endpoints to totally expose the
> full features of the underlying bus. e.g. JbiExchange and JbiEndpoint
> should expose all of the JBI APIs; ditto for Http, CXF, JMS etc. For
> JBI in particular but also for CXF too; there's the added complexity
> of fitting in with the component/endpoint container & lifecycle model
> though am sure we can get that working given time
>
> Though I'm pretty confident though we'll find some gremlins along the
> way as we try use Camel in ServiceMix, CXF or Servlets :). The one
> thing in our favour though is the Exchange and Endpoint types are
> pretty vague and pluggable, so I'm sure we can come up with, say, a
> JBI specific exchange API which works great with JBI - then once we've
> got a few endpoints that support InOut/InOnly we can see if we can
> pull a bit more stuff back into the Camel core.
>
>
> > More feedback will follow ...
> >
> > On 3/19/07, James Strachan <james.strachan@gmail.com> wrote:
> > >
> > > While hungover and stuck on a train I hacked up a little POJO library
> > > I've wanted for a while - an easy way to route stuff around JMS using
> > > a simple Java DSL and ultimately for easily creating Enterprise
> > > Integration Patterns in pure Java...
> > >
> > > http://cwiki.apache.org/CAMEL/routes.html
> > > http://cwiki.apache.org/CAMEL/eip.html
> > >
> > > its still very much work in progress though!  The basic idea is to use
> > > Java rather than XML (shock horror!) for creating routing rules and to
> > > use generics to make it easy to work with JMS messages directly or to
> > > work with other kinds of message like HTTP, JBI or JAX-WS etc
> > >
> > > I'm still tinkering with it to get the JMS stuff working nicely.  I've
> > > kept the JMS stuff separate (in camel-jms) so that the camel-core.jar
> > > has minimal dependencies so hopefully we might be able to reuse this
> > > library on other projects like ServiceMix and CXF
> > >
> > > Ultimately I'd like to make it easy to drop JMS routes on the
> > > classpath which could be automatically embedded in the broker, or
> > > enabled in any Spring XML file to simplify the JMS processing for end
> > > users.
> > >
> > > I'll post more details as things start to settle down...
> > >
> > > As usual, feedback greatly appreciated!
> > > --
> > >
> > > James
> > > -------
> > > http://radio.weblogs.com/0112098/
> > >
> >
> >
> >
> > --
> > Cheers,
> > Guillaume Nodet
> > ------------------------
> > Architect, LogicBlaze (http://www.logicblaze.com/)
> > Blog: http://gnodet.blogspot.com/
> >
>
>
> --
>
> James
> -------
> http://radio.weblogs.com/0112098/
>


-- 

James
-------
http://radio.weblogs.com/0112098/

Mime
View raw message