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&amp;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.

Reply via email to