The camel version is 2.15.2
I'm doing now a simple test to see if camel replaces de variables
public class Item{
private String description;
public Item(){}
public String getDescription(){return this.description;}
public void setDescription(String description){this.description =
description;}
}
In emailgeneratorbean
Item item = new Item()
item.setDescription("this is a description");
exchange.getIn().setHeader("item", item);
The velocity template
The item description is ${headers.item.getDescription()}
But ${item.getDescription()} is not been replaced
So i adding Velocity Context.
In emailgeneratorbean
Item item = new Item()
item.setDescription("this is a description");
VelocityContext context = new VelocityContext();
context.put("item", item);
exchange.getIn().setHeader("CamelVelocityContext", context);
The velocity template
The item description is ${item.getDescription()}
But still is not working
I guess the problem is that if i pass any object (pojo, jpa entitiy) in the
header of the exchange, camel is not replacing it correctly with velocity.
In the las test when i pass the VelocityContext camel is ignoring it.
I read velocity documentation about using objects as variables and the
expresion ${item.getDescription()} is correct as also are correct
$item.description or ${item.description}.
The fact is that camel is not recognosing and object in the header or is not
passing it correctly to velocity, but if i put something like
exchange.getIn().setHeader("name", "Copernico");
An in template
Hola ${headers.name}
y gets
Hola Copernico
--
View this message in context:
http://camel.465427.n5.nabble.com/Camel-Velocity-pass-ArrayList-tp5771027p5771059.html
Sent from the Camel - Users mailing list archive at Nabble.com.