As usually, I go my own way :)
I got nice xml using xstream but now I'm trying to extract an element
from it with xpath or xquery.
Should I use process or transform and what is the difference between them?
from("timer://kickoff?period=10000&delay=1").
process(new Processor() {
public void process(Exchange exchange) throws Exception
{
ArrayList<HashMap<String, Object>> ds = new
ArrayList<HashMap<String, Object>>();
HashMap<String, Object> h = new HashMap<String,
Object>();
h.put("column1", "log body");
ds.add(h);
exchange.getOut().setBody(ds);
}
}).marshal().
xstream().
process(xquery("/list")).
//to("xmpp://[EMAIL PROTECTED]/?password=fotokot&[EMAIL PROTECTED]");
to("xmpp://...........");
Vadim.
Claus Ibsen wrote:
Hi
As always with Camel there are several/many solutions. Some more elegant.
1)
Yes your own processor would do fine. List<Map<String, Object>> is what you get
from JDBC. It's a list of rows, where each row is a Map object with the JDBC column name as
the string key, and the value is the Object.
I would use my own processor to do my transformation to the string that XMPP
expects.
2)
BTW: There is also the DataFormat solution where you can define your own data
format and serialize/deserialize to/from this format.
http://activemq.apache.org/camel/data-format.html
3)
Or the type converter, then Camel will automatically pick it up and convert it.
@Converter
public class MyConverter
@Converter
public static String convertToString(List<Map<String, Object>> jdbcResult) {
...
return string
}
Then you need a special marker file in the META-INF folder. Its all documented
in the wiki. You can check out camel-core.jar to see this marker file.
But I am not 100% sure the type converter solution will work as the type is a
generic.
http://activemq.apache.org/camel/type-converter.html
Feedback on the documentation is highly appreciated. And if the generic type
converter works also.
Med venlig hilsen
Claus Ibsen
......................................
Silverbullet
Skovsgårdsvænget 21
8362 Hørning
Tlf. +45 2962 7576
Web: www.silverbullet.dk
-----Original Message-----
From: Vadim Chekan [mailto:[EMAIL PROTECTED]
Sent: 11. juli 2008 04:18
To: [email protected]
Subject: Deserializing mesage
Hi all,
I'm trying to send message from jdbc to xmpp amd I'm getting
deserialization error. Jdbc creates a message of type
"ArrayList<HashMap<String, Object>>" but xmpp expects a String.
Should I add my own Processor or there exist more elegant way to
transform an object into text or even better into xml?
Vadim.