tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From puneetjain <puneet.ja...@wipro.com>
Subject Re: Query Regarding Stateless Session Bean Instance Pool Configuration
Date Sat, 29 Mar 2008 08:13:33 GMT

Hi David,

Thanks for your support. I am sending you the test I have performed to
verify the pool size:

Steps Performed:
============
1. I have written a with the session bean given below:
2. Pool Size configuration in var/config/config.xml
   <gbean name="DefaultStatelessContainer">
            <attribute name="properties">TimeOut 120000
 				PoolSize 100
 				StrictPooling true</attribute>
        </gbean>

4. Deployed the application on Geronimo Server.
3. I made 300 concurrent request with 2 loops using Jmeter.

What I observed that around 150 instance of the session bean were created.
There were 150 PostConstruct’s SOP statements printed on the console, but a
single PreDestroy's SOP.

SOP log is attached below.

Session Bean:
==========
@Stateless
public class MySessionBean implements SessionBeanRemote {
	private static int _instanceCount = 0;
	private int serialNo;
	public MySessionBean(){
		_instanceCount += 1;
		serialNo = _instanceCount;
		System.out.println("Instance No: >>> " + _instanceCount);
	}	
	
    private String doSomething(String reverseWord) {
	System.out.println("serialNo >> " + serialNo);
   		.....
		.....
		 Some code which will take some time to be processed.
		.....
		.....
    }

  protected void finalize() throws Throwable {
      System.out.println("Finalize method of Serial No " + serialNo);
  }

   @PostConstruct
   public void postConstructCallback()
   {
      System.out.println("PostConstruct - Serial No: " + serialNo);
   }

   @PreDestroy
   public void preDestroyCallback()
   {
      System.out.println("PreDestory - Serial No: " + serialNo);
   }
}

Console Log:
=========
I am attaching the console output log file: 
http://www.nabble.com/file/p16367333/geronimo.out geronimo.out 

As per the log file the number of bean created is 150. But the size of the
pool is 100 only and StrictPooling is true. That mean the number of bean
created is more than the pool size which should not be done.

Please help to resolve this problem.

Thanks,
Puneet





David Blevins wrote:
> 
> Hi Puneet,
> 
> Setting PoolSize to 100 and StrictPooling to true should do exactly  
> what you want (i.e. block requests in a wait state till one of the 100  
> instances are returned to the pool).  If this isn't working it's  
> definitely a bug.
> 
> What technique are you using to determine more than 100 instances are  
> created?  If you can attach a test that reproduces the issue it will  
> help us verify and fix the problem.  I've opened Jira issue at:
> 
>   http://issues.apache.org/jira/browse/OPENEJB-786
> 
> 
> -David
> 
> 
> On Mar 28, 2008, at 8:06 AM, puneetjain wrote:
>>
>> Hi,
>>
>> I have written a Stateless Session Bean and trying to deploy on  
>> Geronimo
>> Server, which interns uses OpenEJB. I am trying to configure the the
>> Stateless Session Bean Instance Pool. Regarding This I have following
>> issues:
>>
>> Question1:
>> =======
>>
>> How to configure the Stateless Session Bean Instance Pool size with  
>> "x" no
>> of bean to at the startup of the server?
>>
>> Question2:
>> ========
>> I have tried below configuration:
>>
>> <module name="org.apache.geronimo.configs/openejb/2.0.2/car">
>>        <gbean name="EJBNetworkService">
>>            <attribute name="port">${OpenEJBPort + PortOffset}</ 
>> attribute>
>>            <attribute name="host">${ServerHostname}</attribute>
>>        </gbean>
>>        <gbean name="DefaultStatelessContainer">
>>            <attribute name="properties">TimeOut 120000
>> 				PoolSize 100
>> 				StrictPooling true</attribute>
>>        </gbean>
>>    </module>
>>
>> I want to restrict the pool size to 100 i.e. if there are more than  
>> 100
>> requests come, only 100 requests will be served. Rest of the  
>> requests would
>> be waiting until a bean gets free. No more than 100 beans should be
>> instantiated to serve the requests.
>>
>> With the above configuration the number of instantiate beans is more  
>> than
>> the pool size.
>>
>> Environment:
>> =========
>> OS: Redhat Enterprise Linux 4
>> Application Server: Geronimo 2.0.2 with tomcat distribution
>> EJB 3.0
>> OpenEJB 2.0.2 (As per mention in the configuration
>> "org.apache.geronimo.configs/openejb/2.0.2/car")
>>
>> Please help me to resolve the problem. Any reply will be appreciated.
>>
>> Thanks,
>> Puneet
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/Query-Regarding-Stateless-Session-Bean-Instance-Pool-Configuration-tp16350835p16350835.html
>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>
>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Query-Regarding-Stateless-Session-Bean-Instance-Pool-Configuration-tp16350835p16367333.html
Sent from the OpenEJB User mailing list archive at Nabble.com.


Mime
View raw message