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)