Hello!
I use Camel 1.6 in the scheme: "From file to jms and from jms to file".
I have pdf file that being serialized and writed to queue.
Every pdf file size is 1mb.
If total count of files is 10-15 files, then all works fine.If files count
bigger than 20 files than i get error:
[nent.file.filecompon...@9319d9] FileConsumer ERROR
java.util.concurrent.RejectedExecutionException
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:145)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
at
org.apache.camel.component.file.FileConsumer.pollFile(FileConsumer.java:154)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:90)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:100)
at
org.apache.camel.component.file.FileConsumer.poll(FileConsumer.java:66)
at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:66)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
[ VMTransport] Service ERROR Async
error occurred: javax.jms.JMSException: Transaction
'TX:ID:denisa-4932-1235128722453-2:0:38' has not been started.
javax.jms.JMSException: Transaction 'TX:ID:denisa-4932-1235128722453-2:0:38'
has not been started.
at
org.apache.activemq.broker.TransactionBroker.getTransaction(TransactionBroker.java:270)
at
org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:190)
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
at
org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85)
at
org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:456)
at org.apache.activemq.command.MessageAck.visit(MessageAck.java:205)
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
at
org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
[nent.file.filecompon...@9319d9] FileConsumer ERROR
java.util.concurrent.RejectedExecutionException
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:145)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
at
org.apache.camel.component.file.FileConsumer.pollFile(FileConsumer.java:154)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:90)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:100)
at
org.apache.camel.component.file.FileConsumer.poll(FileConsumer.java:66)
at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:66)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
[nent.file.filecompon...@9319d9] FileConsumer ERROR
java.util.concurrent.RejectedExecutionException
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:145)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
at
org.apache.camel.component.file.FileConsumer.pollFile(FileConsumer.java:154)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:90)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:100)
at
org.apache.camel.component.file.FileConsumer.poll(FileConsumer.java:66)
at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:66)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
[nent.file.filecompon...@9319d9] FileConsumer ERROR
java.util.concurrent.RejectedExecutionException
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:145)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
at
org.apache.camel.component.file.FileConsumer.pollFile(FileConsumer.java:154)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:90)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:100)
at
org.apache.camel.component.file.FileConsumer.poll(FileConsumer.java:66)
at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:66)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
[nent.file.filecompon...@9319d9] FileConsumer ERROR
java.util.concurrent.RejectedExecutionException
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:145)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
at
org.apache.camel.component.file.FileConsumer.pollFile(FileConsumer.java:154)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:90)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:100)
at
org.apache.camel.component.file.FileConsumer.poll(FileConsumer.java:66)
at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:66)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
[nent.file.filecompon...@9319d9] FileConsumer ERROR
java.util.concurrent.RejectedExecutionException
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:145)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
at
org.apache.camel.component.file.FileConsumer.pollFile(FileConsumer.java:154)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:90)
at
org.apache.camel.component.file.FileConsumer.pollFileOrDirectory(FileConsumer.java:100)
at
org.apache.camel.component.file.FileConsumer.poll(FileConsumer.java:66)
at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:66)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
My spring config:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://activemq.apache.org/camel/schema/spring
http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
<camelContext id="camel"
xmlns="http://activemq.apache.org/camel/schema/spring">
<package>org.apache.camel.example.spring</package>
<jmxAgent id="agent" createConnector="true"/>
</camelContext>
<bean id="jms" class="org.apache.activemq.pool.PooledConnectionFactory"
destroy-method="stop">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL"
value="vm://localhost?broker.persistent=false&broker.useJmx=true"/>
<property name="redeliveryPolicy">
<bean class="org.apache.activemq.RedeliveryPolicy">
<property name="maximumRedeliveries" value="0"/>
</bean>
</property>
</bean>
</property>
</bean>
<bean id="jmsConfig"
class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="jms"/>
<property name="transactionManager" ref="jmsTransactionManager"/>
<property name="transacted" value="true"/>
<property name="transactedInOut" value="true"/>
<property name="concurrentConsumers" value="10"/>
</bean>
<bean id="jmsTransactionManager"
class="org.springframework.jms.connection.JmsTransactionManager">
<property name="connectionFactory" ref="jms"/>
</bean>
<bean id="mqseries" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory" ref="jms" />
<property name="transacted" value="true"/>
</bean>
<bean id="PROPAGATION_REQUIRED"
class="org.springframework.transaction.support.TransactionTemplate">
<property name="transactionManager" ref="jmsTransactionManager"/>
</bean>
<bean id="PROPAGATION_NOT_SUPPORTED"
class="org.springframework.transaction.support.TransactionTemplate">
<property name="transactionManager" ref="jmsTransactionManager"/>
<property name="propagationBehaviorName"
value="PROPAGATION_NOT_SUPPORTED"/>
</bean>
<bean id="PROPAGATION_REQUIRES_NEW"
class="org.springframework.transaction.support.TransactionTemplate">
<property name="transactionManager" ref="jmsTransactionManager"/>
<property name="propagationBehaviorName"
value="PROPAGATION_REQUIRES_NEW"/>
</bean>
</beans>
Route:
public void configure() {
Policy requried = new
SpringTransactionPolicy(bean(TransactionTemplate.class,
"PROPAGATION_REQUIRED"));
from("file:src/data").policy(requried).
unmarshal().serialization().to("jms:test.MyQueue");
from("jms:test.MyQueue").marshal().serialization().to("file://target/test");
errorHandler(transactionErrorHandler((SpringTransactionPolicy)requried).
// notice that the builder has builder methods for chained
configuration
delay(1));
}
I'm newbe in the Camel..
How to fix this problem?
--
View this message in context:
http://www.nabble.com/FileConsumer-ERROR%2CRejectedExecutionException-%28from-file-to-jms%29-tp22119097s22882p22119097.html
Sent from the Camel - Users mailing list archive at Nabble.com.