Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-11575

cacheSize=-1 option for toD endpoint does not completely disabling it

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • fuse-6.3-R14-GA
    • jboss-fuse-6.3
    • Camel
    • None

      Even "cacheSize=1" is set to disable caching, still Endpoint object is cached.
      Actually, by using org.apache.camel.impl.ProducerCache.pool member variable, Endpoint object will be cached into org.apache.camel.spi.ServicePool.

      This is the stacktrace when Endpoint object is cached.

      EmptyProducerCache(ProducerCache).doGetProducer(Endpoint, boolean) line: 450	
      EmptyProducerCache(ProducerCache).doInAsyncProducer(Endpoint, Exchange, ExchangePattern, AsyncCallback, AsyncProducerCallback) line: 311	
      SendDynamicProcessor.process(Exchange, AsyncCallback) line: 119
      

      EmptyProducerCache class does not override ProducerCache.doInAsyncProducer() method, so doGetProducer(endpoint, true) is invoked. "true" leads to enable the cache option.

      Please consider to override ProducerCache.doInAsyncProducer() method, and invode doGetProdcuer() method with (endpoint, false).

              johnpoth John Poth
              rhn-support-hfuruich Hisao Furuichi
              Jan Bouska Jan Bouska
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: