7 Replies Latest reply on Dec 29, 2006 11:42 PM by philipwu

    maxPoolSize and 4.0.5

    thammoud

      Hello,

      We downloaded the source for 4.0.5 and tried to run the server but got the following exception. Looking at the JmsActivationSpec class, it seems to be missing the maxPoolSize (and minPoolSize) properties. What is the proper way of specifying those in 4.0.5? Thank you.

      Exception
      ==================================
      org.jboss.deployment.DeploymentException: Error for ActivationSpec class org.jboss.resource.adapter.jms.inflow.JmsActivationSpec as JavaBean; - nested throwable: (java.beans.IntrospectionException: No property found for: maxPoolSize on JavaBean: org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@54d7ac(ra=null destination=topic/Instrument isTopic=true tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=0))

        • 1. Re: maxPoolSize and 4.0.5
          klaus_erber

          Hello,

          same problem here since 4.0.5.GA.

          We have configured

          @ActivationConfigProperty(propertyName="maxPoolSize",
          propertyValue="1")

          because we need a singleton MDB.

          What is the right way to solve such issues?

          There is no property 'maxPoolSize' in the class JmsActivationSpec in 4.0.5.GA and not either in 4.0.4.GA, where the MDB is working well. So, something has changed, but what?

          Klaus Erber

          • 2. Re: maxPoolSize and 4.0.5
            genman

            Just a thought, does "maxSession" work?

            • 3. Re: maxPoolSize and 4.0.5
              weston.price

              For the JMS/JCA adapter, maxSession controls the number of JMS ServerSessions allocated to a provider in handling messages. This is different than the MDB instance pool used to handle the actual messages.

              • 4. Re: maxPoolSize and 4.0.5
                klaus_erber

                ok, maxSession works fine.

                and

                dlq goes to dLQJNDIName and
                dlqMaxTimesRedelivered goes to dLQMaxResent

                Thanks a lot

                • 5. Re: maxPoolSize and 4.0.5
                  amitguz

                  I still don't understand where MaxPoolSize goes in 4.0.5?
                  as weston said maxSession != maxPoolSize.
                  So How can I make my MDB singleton?
                  I used to do it as:

                  @ActivationConfigProperty(propertyName="maxPoolSize", propertyValue="1")
                  



                  • 6. Re: maxPoolSize and 4.0.5
                    weston.price

                    I mis spoke (my bad). In this case they will be the same being that the maxSession controls the inbound thread allowance. My apologies, I did not read the initial thread closely enough.

                    • 7. Re: maxPoolSize and 4.0.5
                      philipwu

                      I think there should be MaxPoolSize rather than a maxSession property.

                      When I set my MDB to have a maxSession of 1 (to get a singleton), and send multiple messages to the Queue, indeed only one MDB is actually being processed (as confirmed in my logs). However, when I go to the JMX-console and click on the queue to which my MDB is listening, I can see that the property InProcessMessageCount has a value of 2. This would suggest at least 2 MDB's are attempting to process messages rather than a singleton. Why is this? Could this be a bug?

                      What im trying to do is wipe out all messages from the Queue including the one's that are in process. I am able to do this by getting access to the MBean for messages that are "waiting" in the queue and invoking the "removeAllMessages" method. However, I am unable to delete the messages that are "in process", except the one that is actively running.