commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Abin (JIRA)" <>
Subject [jira] [Created] (POOL-288) Objects growing out of bound (beyond max limit)
Date Wed, 18 Feb 2015 10:53:12 GMT
Abin created POOL-288:

             Summary: Objects growing out of bound (beyond max limit)
                 Key: POOL-288
             Project: Commons Pool
          Issue Type: Bug
            Reporter: Abin

My messaging application is a stand-alone spring boot application. I am maintaining an apache
commons pool of smpp sessions to be kept alive and used when needed. But the pool starts to
grow beyond its max limit. I have explained my application design below. Any help/suggestion
would be greatly appreciated.

Current Design
I have an object pool of type ZdSmppSession (Apache Commons Pool), with pool size set to 40
Each ZdSmppSession has the following
    1. A sendMessage method
    2. A private variable of type com.cloudhopper.smpp.SmppSession
    3. A PostConstruct method

The Post Construct method does the following
    1. initiates a handshake and initialize the private variable     com.cloudhopper.smpp.SmppSession
    2. schedules an enquire link to be sent every 60 secs

I have about 120 worker threads which does the following
    1. Read message from rmq
    2. Get a ZdSmppSession object from pool
    3. Calls sendMessage on the object
    4. Release it back to pool
So when a ZdSmppSession object is created in the pool it is ready to send messages
When ZdSmppSession is released back to pool it keeps the connection alive by sending enquire
link every 60 secs. A session object is never destructed. 

The issue I am facing is that the pool grows beyond its maximum limit, even though the max
limit is set to 40.

This message was sent by Atlassian JIRA

View raw message