You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2023/06/28 05:24:00 UTC

[jira] [Resolved] (CAMEL-19512) Simple language not working anymore with InputStreamCache body

     [ https://issues.apache.org/jira/browse/CAMEL-19512?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-19512.
---------------------------------
    Resolution: Not A Bug

Since you use Camel's StreamCache manually in the processor you need to turn on stream caching 

camelContext.setStreamCaching(true);

> 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
>          Components: camel-core
>    Affects Versions: 3.20.3
>         Environment: JDK 11
>            Reporter: Xilai Dai
>            Priority: Minor
>         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)