Abin created POOL-288:
-------------------------

             Summary: Objects growing out of bound (beyond max limit)
                 Key: POOL-288
                 URL: https://issues.apache.org/jira/browse/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. 

Issue
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
(v6.3.4#6332)

Reply via email to