You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Ramarajan R (Jira)" <ji...@apache.org> on 2022/09/11 03:54:00 UTC

[jira] [Comment Edited] (CAMEL-18476) when artemis streaming enabled then Camel-jms component is not closing inputstream for Bytes message, blocking deletion of file after its archived in windows

    [ https://issues.apache.org/jira/browse/CAMEL-18476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17602814#comment-17602814 ] 

Ramarajan R edited comment on CAMEL-18476 at 9/11/22 3:53 AM:
--------------------------------------------------------------

Hi [~davsclaus],

Adding Close stream causes another problem, artemis client library wants the Input stream to be open. we are getting java.io.IOException: Stream closed.

is = context.getTypeConverter().mandatoryConvertTo(InputStream.class, exchange, body);
message.setObjectProperty("JMS_AMQ_InputStream", is);            

finally

{             IOHelper.close(is);           }

 

w%20folder] o.a.c.c.f.GenericFileConsumer            : About to process file: GenericFile[C:\Softwares\New folder\test.txt] using exchange: Exchange[]
2022-09-11 08:17:09,677  INFO 3956 — [%5CNew%20folder] route1                                   : Sending file test.txt to Artemis
2022-09-11 08:17:09,680 DEBUG 3956 — [%5CNew%20folder] o.a.c.c.f.GenericFileConverter           : Read file C:\Softwares\New folder\test.txt (no charset)
2022-09-11 08:17:09,687 ERROR 3956 — [%5CNew%20folder] o.a.c.p.e.DefaultErrorHandler            : Failed delivery for (MessageId: A1D4FB4352A0804-0000000000000007 on ExchangeId: A1D4FB4352A0804-0000000000000007). Exhausted after delivery attempt: 1 caught: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is javax.jms.JMSException: AMQ219026: Error reading the LargeMessageBody

Message History (complete message history is disabled)
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                                                                        Elapsed (ms)
[route1            ] [route1            ] [from[file://C:%5CSoftwares%5CNew%20folder?readLockCheckInterval=1&readLockTime|file:///C:/%5CSoftwares%5CNew%20folder?readLockCheckInterval=1&readLockTime] [        28]
    ...
[route1            ] [to1               ] [jms:queue:data                                                                ] [         0]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------

org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is javax.jms.JMSException: AMQ219026: Error reading the LargeMessageBody
    at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:311) ~[spring-jms-5.3.19.jar:5.3.19]
    at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:185) ~[spring-jms-5.3.19.jar:5.3.19]
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:507) ~[spring-jms-5.3.19.jar:5.3.19]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:565) ~[classes/:?]
    at org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:425) ~[classes/:?]
    at org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:392) ~[classes/:?]
    at org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:159) ~[classes/:?]
    at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:172) ~[camel-core-processor-3.14.3.jar:3.14.3]
    at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:471) ~[camel-core-processor-3.14.3.jar:3.14.3]
    at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:193) ~[camel-base-engine-3.14.3.jar:3.14.3]
    at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:64) ~[camel-base-engine-3.14.3.jar:3.14.3]
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:184) ~[camel-core-processor-3.14.3.jar:3.14.3]
    at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:398) ~[camel-base-engine-3.14.3.jar:3.14.3]
    at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:492) ~[camel-file-3.14.3.jar:3.14.3]
    at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:245) ~[camel-file-3.14.3.jar:3.14.3]
    at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:206) ~[camel-file-3.14.3.jar:3.14.3]
    at org.apache.camel.support.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:202) ~[camel-support-3.14.3.jar:3.14.3]
    at org.apache.camel.support.ScheduledPollConsumer.run(ScheduledPollConsumer.java:116) ~[camel-support-3.14.3.jar:3.14.3]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
    at java.lang.Thread.run(Thread.java:834) ~[?:?]
Caused by: javax.jms.JMSException: AMQ219026: Error reading the LargeMessageBody
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSendStreamed(ClientProducerImpl.java:451) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSend(ClientProducerImpl.java:329) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:261) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:140) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:122) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.doSendx(ActiveMQMessageProducer.java:481) ~[artemis-jms-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:219) ~[artemis-jms-client-2.22.0.jar:2.22.0]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.sendMessage(JmsPoolMessageProducer.java:194) ~[pooled-jms-2.0.4.jar:?]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.send(JmsPoolMessageProducer.java:88) ~[pooled-jms-2.0.4.jar:?]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.send(JmsPoolMessageProducer.java:77) ~[pooled-jms-2.0.4.jar:?]
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:634) ~[spring-jms-5.3.19.jar:5.3.19]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSend(JmsConfiguration.java:670) ~[classes/:?]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:610) ~[classes/:?]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.lambda$send$0(JmsConfiguration.java:567) ~[classes/:?]
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:504) ~[spring-jms-5.3.19.jar:5.3.19]
    ... 21 more
Caused by: org.apache.activemq.artemis.api.core.ActiveMQLargeMessageException: AMQ219026: Error reading the LargeMessageBody
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSendStreamed(ClientProducerImpl.java:451) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSend(ClientProducerImpl.java:329) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:261) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:140) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:122) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.doSendx(ActiveMQMessageProducer.java:481) ~[artemis-jms-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:219) ~[artemis-jms-client-2.22.0.jar:2.22.0]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.sendMessage(JmsPoolMessageProducer.java:194) ~[pooled-jms-2.0.4.jar:?]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.send(JmsPoolMessageProducer.java:88) ~[pooled-jms-2.0.4.jar:?]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.send(JmsPoolMessageProducer.java:77) ~[pooled-jms-2.0.4.jar:?]
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:634) ~[spring-jms-5.3.19.jar:5.3.19]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSend(JmsConfiguration.java:670) ~[classes/:?]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:610) ~[classes/:?]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.lambda$send$0(JmsConfiguration.java:567) ~[classes/:?]
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:504) ~[spring-jms-5.3.19.jar:5.3.19]
    ... 21 more
Caused by: java.io.IOException: Stream closed
    at java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:176) ~[?:?]
    at java.io.BufferedInputStream.read(BufferedInputStream.java:342) ~[?:?]
    at java.io.FilterInputStream.read(FilterInputStream.java:107) ~[?:?]
    at org.apache.activemq.artemis.utils.DeflaterReader.read(DeflaterReader.java:86) ~[artemis-core-client-2.22.0.jar:?]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSendStreamed(ClientProducerImpl.java:449) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSend(ClientProducerImpl.java:329) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:261) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:140) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:122) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.doSendx(ActiveMQMessageProducer.java:481) ~[artemis-jms-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:219) ~[artemis-jms-client-2.22.0.jar:2.22.0]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.sendMessage(JmsPoolMessageProducer.java:194) ~[pooled-jms-2.0.4.jar:?]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.send(JmsPoolMessageProducer.java:88) ~[pooled-jms-2.0.4.jar:?]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.send(JmsPoolMessageProducer.java:77) ~[pooled-jms-2.0.4.jar:?]
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:634) ~[spring-jms-5.3.19.jar:5.3.19]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSend(JmsConfiguration.java:670) ~[classes/:?]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:610) ~[classes/:?]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.lambda$send$0(JmsConfiguration.java:567) ~[classes/:?]
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:504) ~[spring-jms-5.3.19.jar:5.3.19]
    ... 21 more

2022-09-11 08:17:09,688 DEBUG 3956 — [%5CNew%20folder] o.a.c.c.f.GenericFileOnCompletion        : Done processing file: GenericFile[C:\Softwares\New folder\test.txt] using exchange: Exchange[A1D4FB4352A0804-0000000000000007]
2022-09-11 08:17:09,688  WARN 3956 — [%5CNew%20folder] o.a.c.c.f.GenericFileOnCompletion        : Rollback file strategy: org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@d8d092e for file: GenericFile[C:\Softwares\New folder\test.txt]

 


was (Author: ramarajan):
Hi [~davsclaus],

Adding Close stream causes another problem, artemis client library wants the Input stream to be open.

is = context.getTypeConverter().mandatoryConvertTo(InputStream.class, exchange, body);
message.setObjectProperty("JMS_AMQ_InputStream", is);            

finally {
            IOHelper.close(is);
          }

 

w%20folder] o.a.c.c.f.GenericFileConsumer            : About to process file: GenericFile[C:\Softwares\New folder\test.txt] using exchange: Exchange[]
2022-09-11 08:17:09,677  INFO 3956 --- [%5CNew%20folder] route1                                   : Sending file test.txt to Artemis
2022-09-11 08:17:09,680 DEBUG 3956 --- [%5CNew%20folder] o.a.c.c.f.GenericFileConverter           : Read file C:\Softwares\New folder\test.txt (no charset)
2022-09-11 08:17:09,687 ERROR 3956 --- [%5CNew%20folder] o.a.c.p.e.DefaultErrorHandler            : Failed delivery for (MessageId: A1D4FB4352A0804-0000000000000007 on ExchangeId: A1D4FB4352A0804-0000000000000007). Exhausted after delivery attempt: 1 caught: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is javax.jms.JMSException: AMQ219026: Error reading the LargeMessageBody

Message History (complete message history is disabled)
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                                                                        Elapsed (ms)
[route1            ] [route1            ] [from[file://C:%5CSoftwares%5CNew%20folder?readLockCheckInterval=1&readLockTime] [        28]
    ...
[route1            ] [to1               ] [jms:queue:data                                                                ] [         0]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------


org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is javax.jms.JMSException: AMQ219026: Error reading the LargeMessageBody
    at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:311) ~[spring-jms-5.3.19.jar:5.3.19]
    at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:185) ~[spring-jms-5.3.19.jar:5.3.19]
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:507) ~[spring-jms-5.3.19.jar:5.3.19]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:565) ~[classes/:?]
    at org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:425) ~[classes/:?]
    at org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:392) ~[classes/:?]
    at org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:159) ~[classes/:?]
    at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:172) ~[camel-core-processor-3.14.3.jar:3.14.3]
    at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:471) ~[camel-core-processor-3.14.3.jar:3.14.3]
    at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:193) ~[camel-base-engine-3.14.3.jar:3.14.3]
    at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:64) ~[camel-base-engine-3.14.3.jar:3.14.3]
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:184) ~[camel-core-processor-3.14.3.jar:3.14.3]
    at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:398) ~[camel-base-engine-3.14.3.jar:3.14.3]
    at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:492) ~[camel-file-3.14.3.jar:3.14.3]
    at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:245) ~[camel-file-3.14.3.jar:3.14.3]
    at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:206) ~[camel-file-3.14.3.jar:3.14.3]
    at org.apache.camel.support.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:202) ~[camel-support-3.14.3.jar:3.14.3]
    at org.apache.camel.support.ScheduledPollConsumer.run(ScheduledPollConsumer.java:116) ~[camel-support-3.14.3.jar:3.14.3]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
    at java.lang.Thread.run(Thread.java:834) ~[?:?]
Caused by: javax.jms.JMSException: AMQ219026: Error reading the LargeMessageBody
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSendStreamed(ClientProducerImpl.java:451) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSend(ClientProducerImpl.java:329) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:261) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:140) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:122) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.doSendx(ActiveMQMessageProducer.java:481) ~[artemis-jms-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:219) ~[artemis-jms-client-2.22.0.jar:2.22.0]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.sendMessage(JmsPoolMessageProducer.java:194) ~[pooled-jms-2.0.4.jar:?]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.send(JmsPoolMessageProducer.java:88) ~[pooled-jms-2.0.4.jar:?]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.send(JmsPoolMessageProducer.java:77) ~[pooled-jms-2.0.4.jar:?]
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:634) ~[spring-jms-5.3.19.jar:5.3.19]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSend(JmsConfiguration.java:670) ~[classes/:?]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:610) ~[classes/:?]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.lambda$send$0(JmsConfiguration.java:567) ~[classes/:?]
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:504) ~[spring-jms-5.3.19.jar:5.3.19]
    ... 21 more
Caused by: org.apache.activemq.artemis.api.core.ActiveMQLargeMessageException: AMQ219026: Error reading the LargeMessageBody
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSendStreamed(ClientProducerImpl.java:451) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSend(ClientProducerImpl.java:329) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:261) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:140) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:122) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.doSendx(ActiveMQMessageProducer.java:481) ~[artemis-jms-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:219) ~[artemis-jms-client-2.22.0.jar:2.22.0]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.sendMessage(JmsPoolMessageProducer.java:194) ~[pooled-jms-2.0.4.jar:?]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.send(JmsPoolMessageProducer.java:88) ~[pooled-jms-2.0.4.jar:?]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.send(JmsPoolMessageProducer.java:77) ~[pooled-jms-2.0.4.jar:?]
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:634) ~[spring-jms-5.3.19.jar:5.3.19]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSend(JmsConfiguration.java:670) ~[classes/:?]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:610) ~[classes/:?]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.lambda$send$0(JmsConfiguration.java:567) ~[classes/:?]
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:504) ~[spring-jms-5.3.19.jar:5.3.19]
    ... 21 more
Caused by: java.io.IOException: Stream closed
    at java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:176) ~[?:?]
    at java.io.BufferedInputStream.read(BufferedInputStream.java:342) ~[?:?]
    at java.io.FilterInputStream.read(FilterInputStream.java:107) ~[?:?]
    at org.apache.activemq.artemis.utils.DeflaterReader.read(DeflaterReader.java:86) ~[artemis-core-client-2.22.0.jar:?]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSendStreamed(ClientProducerImpl.java:449) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.largeMessageSend(ClientProducerImpl.java:329) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.doSend(ClientProducerImpl.java:261) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:140) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.core.client.impl.ClientProducerImpl.send(ClientProducerImpl.java:122) ~[artemis-core-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.doSendx(ActiveMQMessageProducer.java:481) ~[artemis-jms-client-2.22.0.jar:2.22.0]
    at org.apache.activemq.artemis.jms.client.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:219) ~[artemis-jms-client-2.22.0.jar:2.22.0]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.sendMessage(JmsPoolMessageProducer.java:194) ~[pooled-jms-2.0.4.jar:?]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.send(JmsPoolMessageProducer.java:88) ~[pooled-jms-2.0.4.jar:?]
    at org.messaginghub.pooled.jms.JmsPoolMessageProducer.send(JmsPoolMessageProducer.java:77) ~[pooled-jms-2.0.4.jar:?]
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:634) ~[spring-jms-5.3.19.jar:5.3.19]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSend(JmsConfiguration.java:670) ~[classes/:?]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:610) ~[classes/:?]
    at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.lambda$send$0(JmsConfiguration.java:567) ~[classes/:?]
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:504) ~[spring-jms-5.3.19.jar:5.3.19]
    ... 21 more

2022-09-11 08:17:09,688 DEBUG 3956 --- [%5CNew%20folder] o.a.c.c.f.GenericFileOnCompletion        : Done processing file: GenericFile[C:\Softwares\New folder\test.txt] using exchange: Exchange[A1D4FB4352A0804-0000000000000007]
2022-09-11 08:17:09,688  WARN 3956 --- [%5CNew%20folder] o.a.c.c.f.GenericFileOnCompletion        : Rollback file strategy: org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@d8d092e for file: GenericFile[C:\Softwares\New folder\test.txt]

 

> when artemis streaming enabled then Camel-jms component is not closing inputstream for Bytes message, blocking deletion of file after its archived in windows
> -------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-18476
>                 URL: https://issues.apache.org/jira/browse/CAMEL-18476
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-jms
>    Affects Versions: 3.14.3, 3.18.1
>            Reporter: Ramarajan R
>            Priority: Minor
>             Fix For: 3.18.3, 3.19.0
>
>         Attachments: artemis-large-messages-final.zip, artemis-large-messages.zip
>
>
> I have used [https://github.com/apache/camel-examples/tree/main/examples/artemis-large-messages] using AMQ 7.8.0 Broker 
> Messages are getting processed but after processing the file is unable to delete from source location, tested in more than 1 windows systems facing the same
> I am using Camel 3.14.3 and Spring boot 2.6.6 using JAVA DSL,
> tested with Camel 3.18.1 and Spring boot 2.7.3 also
> when running with Camel XML routes are fine but we want to use Java DSL , Kindly help.
> Raising the concern in Zulip chat earlier.
> {{[https://camel.zulipchat.com/#narrow/stream/257298-camel/topic/camel-file.20artemis.20large.20message.20example.20failing.20in.20windows] }}{{{}tion-poc/inbox0] o.a.c.c.file.GenericFileOnCompletion : Error during commit. Exchange[7D4CFE29E3F7515-0000000000000003]. Caused by: [org.apache.camel.component.file.GenericFileOperationFailedException - Error renaming file from C:\opt\file-transfer-solution-poc\inbox0\test.xlsx to C:\opt\file-transfer-solution-poc\inbox0\.camel\test.xlsx]{}}}{{{}org.apache.camel.component.file.GenericFileOperationFailedException: Error renaming file from C:\opt\file-transfer-solution-poc\inbox0\test.xlsx to C:\opt\file-transfer-solution-poc\inbox0\.camel\test.xlsx{}}}
> {{at org.apache.camel.component.file.FileOperations.renameFile(FileOperations.java:93) ~[camel-file-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.component.file.strategy.GenericFileProcessStrategySupport.renameFile(GenericFileProcessStrategySupport.java:145) ~[camel-file-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy.commit(GenericFileRenameProcessStrategy.java:121) ~[camel-file-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.component.file.GenericFileOnCompletion.processStrategyCommit(GenericFileOnCompletion.java:134) ~[camel-file-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.component.file.GenericFileOnCompletion.onCompletion(GenericFileOnCompletion.java:86) ~[camel-file-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.component.file.GenericFileOnCompletion.onComplete(GenericFileOnCompletion.java:60) ~[camel-file-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.support.UnitOfWorkHelper.doneSynchronization(UnitOfWorkHelper.java:104) ~[camel-support-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.support.UnitOfWorkHelper.doneSynchronizations(UnitOfWorkHelper.java:93) ~[camel-support-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.impl.engine.DefaultUnitOfWork.done(DefaultUnitOfWork.java:238) ~[camel-base-engine-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.support.UnitOfWorkHelper.doneUow(UnitOfWorkHelper.java:61) ~[camel-support-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.impl.engine.CamelInternalProcessor$UnitOfWorkProcessorAdvice.after(CamelInternalProcessor.java:777) ~[camel-base-engine-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.impl.engine.CamelInternalProcessor$UnitOfWorkProcessorAdvice.after(CamelInternalProcessor.java:712) ~[camel-base-engine-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.impl.engine.CamelInternalProcessor$AsyncAfterTask.done(CamelInternalProcessor.java:263) ~[camel-base-engine-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.AsyncCallback.run(AsyncCallback.java:44) ~[camel-api-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:193) ~[camel-base-engine-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:64) ~[camel-base-engine-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.processor.Pipeline.process(Pipeline.java:184) ~[camel-core-processor-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:398) ~[camel-base-engine-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:492) ~[camel-file-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:245) ~[camel-file-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:206) ~[camel-file-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.support.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:202) ~[camel-support-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.support.ScheduledPollConsumer.run(ScheduledPollConsumer.java:116) ~[camel-support-3.14.3.jar:3.14.3]}}
> {{at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[na:na]}}
> {{at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[na:na]}}
> {{at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[na:na]}}
> {{at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]}}
> {{at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]}}
> {{at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]}}
> {{Caused by: java.io.IOException: Renaming file from 'C:\opt\file-transfer-solution-poc\inbox0\test.xlsx' to 'C:\opt\file-transfer-solution-poc\inbox0\.camel\test.xlsx'}}
> {{failed: Cannot delete file 'C:\opt\file-transfer-solution-poc\inbox0\test.xlsx' after copy succeeded}}
> {{at org.apache.camel.util.FileUtil.renameFileUsingCopy(FileUtil.java:464) ~[camel-util-3.14.3.jar:3.14.3]}}
> {{at org.apache.camel.component.file.FileOperations.renameFile(FileOperations.java:88) ~[camel-file-3.14.3.jar:3.14.3]}}
> {{{}... 28 common frames omitted{}}}{{{}</code>{}}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)