You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Xilai Dai (Jira)" <ji...@apache.org> on 2023/06/28 02:10:00 UTC
[jira] [Created] (CAMEL-19512) Simple language not working anymore with InputStreamCache body
Xilai Dai created CAMEL-19512:
---------------------------------
Summary: Simple language not working anymore with InputStreamCache body
Key: CAMEL-19512
URL: https://issues.apache.org/jira/browse/CAMEL-19512
Project: Camel
Issue Type: Bug
Affects Versions: 3.20.3
Environment: JDK 11
Reporter: Xilai Dai
Attachments: test-setheader.zip
It seems there is a regression from Camel 3.20.3 which is the Simple language not working anymore with InputStreamCache body.
Given that a simple route:
{code}
from("timer:cTimer_1" + "?period=" + 1 + "&repeatCount=" + 1 + "&delay=" + 1)
.process(new org.apache.camel.Processor() {
public void process(org.apache.camel.Exchange exchange) throws Exception {
ByteBuffer buffer = ByteBuffer.allocate(8);
buffer.putLong(15);
InputStreamCache iscache = new InputStreamCache(buffer.array());
exchange.getIn().setBody(iscache);
}
}).process(new org.apache.camel.Processor() {
public void process(org.apache.camel.Exchange exchange) throws Exception {
System.out.println("abc: " + exchange.getIn().getBody().getClass().getName());
}
}).setHeader("newCustomer").simple("${body}")
.log(org.apache.camel.LoggingLevel.WARN, "MyRoute.cLog_4",
"header newCustomer value is: ${header.newCustomer}");
{code}
the value of header.newCustomer is always null, whereas in Camel 3.20.2 or earlier version, it worked well.
Attached a sample project for easily reproduce the issue.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)