Hi Apache Camel doesn't use XML as payload, so the Account is an java object.
So if you want to filter you can either a) marshal to XML and do the filter and unmarshal from XML to Object (eg using xstream) b) using something else than xpath for the filter test (predicate) Ad a) See the xstream DataFormat http://activemq.apache.org/camel/data-format.html Ad b) Instead of xpath you can use - Scripting languages such as OGNL, EL, Groovy, JavaScript http://activemq.apache.org/camel/languages.html - Invoking a bean http://activemq.apache.org/camel/bean-language.html from("foo:start").filter().bean(MyFilterOnlyJamesBean.class).to(ibatis:InsertAccount); public class MyFilterOnlyJamesBean { public boolean isOnlyJames(Account account) { return account.getFirstName().equals("James"); } } /Claus Ibsen Apache Camel Committer Blog: http://davsclaus.blogspot.com/ On Wed, Nov 19, 2008 at 10:55 PM, Drone42 <[EMAIL PROTECTED]> wrote: > > I'm trying to create a Camel route with an iBATIS SU for storage of data, > i.e. > > MyApp -> MessageFilter SU -> iBATIS SU > > I dont understand how the POJO created in MyApp is mapped to message header > fields in a message transfered through a Camel route and finally to > identifiers in the SQL query definition of iBATIS. This is likely a general > problem due to my missing understanding of Camel. > > I have gone through the Camel iBATIS test program. It creates an Account, > configures it and send it to the iBATIS endpoint. That I understand. But > what when I have another Camel SU in between? How can I filter on the > 'Account' instance created by MyApp in the MessageFilter? Which fields are > available in the message header? All? Will each attribute in the POJO be > mapped to a separate message header field, i.e. if the Account class is > defined as > > public class Account { > private int id; > private String firstName; > private String lastName; > private String emailAddress; > ... > > Will each of these fields then be available in the message header so that I > can configure the filter route as > > from("foo:start").filter().xpath("/[EMAIL > PROTECTED]'James']").to(ibatis:InsertAccount); > -- > View this message in context: > http://www.nabble.com/Camel-route-and-message-header-field-mapping-tp20590082s22882p20590082.html > Sent from the Camel - Users mailing list archive at Nabble.com. > >
