You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ge...@apache.org on 2010/10/18 04:28:28 UTC
svn commit: r1023630 - in /geronimo/server/trunk/plugins/openejb:
geronimo-openejb/src/main/java/org/apache/geronimo/openejb/StatelessContainerGBean.java
openejb/pom.xml openejb/src/main/plan/plan.xml
Author: genspring
Date: Mon Oct 18 02:28:27 2010
New Revision: 1023630
URL: http://svn.apache.org/viewvc?rev=1023630&view=rev
Log:
GERONIMO-5353 To support idleTimeout configuration for stateless ejb conainter.
Modified:
geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/StatelessContainerGBean.java
geronimo/server/trunk/plugins/openejb/openejb/pom.xml
geronimo/server/trunk/plugins/openejb/openejb/src/main/plan/plan.xml
Modified: geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/StatelessContainerGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/StatelessContainerGBean.java?rev=1023630&r1=1023629&r2=1023630&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/StatelessContainerGBean.java (original)
+++ geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/StatelessContainerGBean.java Mon Oct 18 02:28:27 2010
@@ -38,14 +38,36 @@ public class StatelessContainerGBean ext
* result in a time-out of 5 milliseconds between invocations.
* A value of zero would mean no timeout.
*/
- private final int timeout;
+ private final int accessTimeout;
+
+ /**
+ * PostConstruct methods are invoked on all instances in the pool
+ * when the bean is undeployed and its pool is closed. The
+ * CloseTimeout specifies the maximum time to wait for the pool to
+ * close and PostConstruct methods to be invoked.
+ */
+ private int closeTimeout;
/**
* Specifies the size of the bean pools for this
* stateless SessionBean container.
*/
- private final int poolSize;
+ private final int maxSize;
+
+
+ /** Specifies the minimum number of bean instances that should be
+ * in this stateless SessionBean container
+ */
+ private int minSize;
+
+
+ /**
+ * Specifies the maximum time that an instance should be allowed to sit idly
+ * in the pool without use before it should be retired and removed.
+ */
+ private int idleTimeout;
+
/**
* StrictPooling tells the container what to do when the pool
@@ -67,28 +89,49 @@ public class StatelessContainerGBean ext
@ParamSpecial(type = SpecialAttributeType.abstractName) AbstractName abstractName,
@ParamReference(name = "OpenEjbSystem") OpenEjbSystem openEjbSystem,
@ParamAttribute(name = "provider") String provider,
- @ParamAttribute(name = "poolSize") int poolSize,
+ @ParamAttribute(name = "maxSize") int maxSize,
+ @ParamAttribute(name = "minSize") int minSize,
@ParamAttribute(name = "strictPooling") boolean strictPooling,
- @ParamAttribute(name = "timeout") int timeout,
+ @ParamAttribute(name = "accessTimeout") int accessTimeout,
+ @ParamAttribute(name = "closeTimeout") int closeTimeout,
+ @ParamAttribute(name = "idleTimeout") int idleTimeout,
@ParamAttribute(name = "properties") Properties properties) {
super(abstractName, StatelessSessionContainerInfo.class, openEjbSystem, provider, "STATELESS", properties);
- set("PoolSize", Integer.toString(poolSize));
+ set("MaxSize", Integer.toString(maxSize));
+ set("MinSize", Integer.toString(minSize));
set("StrictPooling", Boolean.toString(strictPooling));
- set("TimeOut", Integer.toString(timeout));
- this.poolSize = poolSize;
+ set("AccessTimeout", Integer.toString(accessTimeout));
+ set("CloseTimeout", Integer.toString(closeTimeout));
+ set("IdleTimeout", Integer.toString(idleTimeout));
+ this.maxSize = maxSize;
+ this.minSize= minSize;
this.strictPooling = strictPooling;
- this.timeout = timeout;
+ this.accessTimeout = accessTimeout;
+ this.closeTimeout=closeTimeout;
+ this.idleTimeout=idleTimeout;
}
public int getPoolSize() {
- return poolSize;
+ return maxSize;
}
public boolean isStrictPooling() {
return strictPooling;
}
- public int getTimeout() {
- return timeout;
+ public int getAccessTimeout() {
+ return accessTimeout;
+ }
+
+ public int getCloseTimeout() {
+ return closeTimeout;
+ }
+
+ public int getIdleTimeout() {
+ return idleTimeout;
+ }
+
+ public int getPoolMin() {
+ return minSize;
}
}
Modified: geronimo/server/trunk/plugins/openejb/openejb/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openejb/openejb/pom.xml?rev=1023630&r1=1023629&r2=1023630&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openejb/openejb/pom.xml (original)
+++ geronimo/server/trunk/plugins/openejb/openejb/pom.xml Mon Oct 18 02:28:27 2010
@@ -163,11 +163,11 @@
</gbean>
<gbean name="DefaultStatefulContainer">
<attribute name="timeout">${StatefulTimeout}</attribute>
- <attribute name="capacity">${Capacity}</attribute>
- <attribute name="bulkPassivate">${BulkPassivate}</attribute>
+ <attribute name="capacity">${StatefulCapacity}</attribute>
+ <attribute name="bulkPassivate">${StatefulBulkPassivate}</attribute>
</gbean>
<gbean name="DefaultSingletonContainer">
- <attribute name="accessTimeout">${AccessTimeout}</attribute>
+ <attribute name="accessTimeout">${SingletonAccessTimeout}</attribute>
</gbean>
<gbean name="DefaultBMPContainer">
<attribute name="poolSize">${BMPPoolSize}</attribute>
@@ -175,18 +175,20 @@
<gbean name="DefaultStatelessContainer">
<attribute name="timeout">${StatelessTimeout}</attribute>
<attribute name="poolSize">${StatelessPoolSize}</attribute>
- <attribute name="strictPooling">${StrictPooling}</attribute>
+ <attribute name="strictPooling">${StatelessStrictPooling}</attribute>
+ <attribute name="idleTimeout">${StatelessIdleTimeout}</attribute>
</gbean>
</config-xml-content>
<config-substitution key="OpenEJBPort">4201</config-substitution>
<config-substitution key="StatefulTimeout">20</config-substitution>
- <config-substitution key="Capacity">1000</config-substitution>
- <config-substitution key="BulkPassivate">100</config-substitution>
- <config-substitution key="AccessTimeout">30</config-substitution>
+ <config-substitution key="StatefulCapacity">1000</config-substitution>
+ <config-substitution key="StatefulBulkPassivate">100</config-substitution>
+ <config-substitution key="SingletonAccessTimeout">30</config-substitution>
<config-substitution key="BMPPoolSize">10</config-substitution>
<config-substitution key="StatelessTimeout">0</config-substitution>
<config-substitution key="StatelessPoolSize">10</config-substitution>
- <config-substitution key="StrictPooling">true</config-substitution>
+ <config-substitution key="StatelessStrictPooling">true</config-substitution>
+ <config-substitution key="StatelessIdleTimeout">0</config-substitution>
<config-substitution key="MulticastDiscoveryAddress">239.255.3.2</config-substitution>
<config-substitution key="MulticastDiscoveryPort">6142</config-substitution>
<config-substitution key="ClusterName">cluster1</config-substitution>
Modified: geronimo/server/trunk/plugins/openejb/openejb/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openejb/openejb/src/main/plan/plan.xml?rev=1023630&r1=1023629&r2=1023630&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openejb/openejb/src/main/plan/plan.xml (original)
+++ geronimo/server/trunk/plugins/openejb/openejb/src/main/plan/plan.xml Mon Oct 18 02:28:27 2010
@@ -42,9 +42,12 @@
</gbean>
<gbean name="DefaultStatelessContainer" class="org.apache.geronimo.openejb.StatelessContainerGBean">
- <attribute name="timeout">0</attribute>
- <attribute name="poolSize">10</attribute>
+ <attribute name="accessTimeout">0</attribute>
+ <attribute name="closeTimeout">300000</attribute>
+ <attribute name="maxSize">10</attribute>
+ <attribute name="minSize">0</attribute>
<attribute name="strictPooling">true</attribute>
+ <attribute name="idleTimeout">0</attribute>
<reference name="OpenEjbSystem">
<name>OpenEjbSystem</name>
</reference>