Announcement Announcement Module
No announcement yet.
Consumers Total count keep on growing in Weblogic Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Consumers Total count keep on growing in Weblogic

    I have the following code which receives a JMS message

    <int:channel id="setPriorityChannel" />
      <int:router id="assignPriorityRouter" input-channel="setPriorityChannel" default-output-channel="lowestPriorityChannel" ref="priorityRouter"/>
      <int:channel id="lowestPriorityChannel" />
      <int-jms:outbound-channel-adapter id="singleCMLowestProducerAdapter" channel="lowestPriorityChannel" destination="ProcessCorrespondenceQueue" explicit-qos-enabled="true"  priority="0" />
      <int:channel id="highestPriorityChannel" />
      <int-jms:outbound-channel-adapter id="singleCMHighestProducerAdapter" channel="highestPriorityChannel" destination="ProcessCorrespondenceQueue" explicit-qos-enabled="true"  priority="9" />
     <int:channel id="singleCMRecordConsumer" />
    <int-jms:message-driven-channel-adapter id="singleCMConsumerAdapter"
                                              transaction-manager="transactionManager" />
    <jee:jndi-lookup id="ProcessCorrespondenceQueue" jndi-name="jms/processCorrespondenceQueue"/>
    singleCMRecordConsumer channel received the message and rest of the process done accordingly.

    When I see in the weblogic the Consumers Current and Consumers High is 1 but Consumers Total count increases for each second.

    I am wondering this Consumers Total increases because of JMS resources are not cleanup.

    Did I miss any property? any idea?


  • #2
    When assigning an external transaction manager to an MDA, the default is to NOT cache connections. This means a new connection is used for each attempt to receive a message.

    Try setting cache-level="3" (caches at the consumer level).


    • #3
      Thanks for reply.

      I'm using Spring Integration 2.0.0.RC1 version. after I added cache-level="3" this is the exception.

      <Jan 29, 2012 6:14:31 PM CST> <Error> <Console> <BEA-240003> <Console encountered the following error weblogic.application.ModuleException: :org.xml.s
      ax.SAXParseException:cvc-complex-type.3.2.2: Attribute 'cache-level' is not allowed to appear in element 'int-jms:message-driven-channel-adapter'.
      at erWrapper.createSAXParseException(ErrorHandlerWrap

      Do I need to upgrade my SI to specific version.



      • #4
        This might actually be related to this post: where you may want to set cache-consumers property on the ConnectionFactory
        <property name="cacheConsumers" value="false"/>


        • #5
          I'm using Spring Integration 2.0.0.RC1
          Why are you using a "release candidate" for a release that was actually released over a year ago?

          The current release for 2.0 is 2.0.5, but 2.1.0 is also available.

          Either one supports cache-level.


          • #6
            Upgraded SI to latest version.
            Issue resolved after adding property cache-level="3".

            Thanks a lot.


            • #7
              I tried to use the cache-level="3" to the backed channel but it is not supported .We are using SI version 2.0.5 . Can you please let me know if there is a way to get around this?

              I have the same issue as the Consumer total count keep climbing 1 by every sec.

              My Code :
              <int-jms:channel id="singleXXXRecordProducer" queue="ProcessYYYYYQueue" message-driven="true" transaction-manager="jtaTransactionManager" receive-timeout="1000"/>

              Thanks in advance .


              • #8
                Did you see the above reply about upgrading?
                The latest version of SI is 2.1.2.RELEASE