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: