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 2011/04/13 17:35:57 UTC

svn commit: r1091820 - in /geronimo/server/trunk/plugins/openejb: geronimo-openejb/src/main/java/org/apache/geronimo/openejb/ openejb/ openejb/src/main/plan/

Author: genspring
Date: Wed Apr 13 15:35:56 2011
New Revision: 1091820

URL: http://svn.apache.org/viewvc?rev=1091820&view=rev
Log:
adding accessTimeout setting for stateful container, change accessTimeout of stateless ejb container from 0 to -1.

Modified:
    geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/StatefulContainerGBean.java
    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/StatefulContainerGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/StatefulContainerGBean.java?rev=1091820&r1=1091819&r2=1091820&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/StatefulContainerGBean.java (original)
+++ geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/StatefulContainerGBean.java Wed Apr 13 15:35:56 2011
@@ -23,8 +23,10 @@ import org.apache.geronimo.gbean.annotat
 import org.apache.geronimo.gbean.annotation.SpecialAttributeType;
 import org.apache.geronimo.gbean.AbstractName;
 import org.apache.openejb.assembler.classic.StatefulSessionContainerInfo;
+import org.apache.openejb.util.Duration;
 
 import java.util.Properties;
+import java.util.concurrent.TimeUnit;
 
 /**
  * @version $Rev$ $Date$
@@ -33,6 +35,15 @@ import java.util.Properties;
 public class StatefulContainerGBean extends EjbContainer {
 
     /**
+     * Specifies the maximum time an invocation could wait for the stateful bean instance to become available before
+     * giving up.
+     * 
+     * After the timeout is reached a javax.ejb.ConcurrentAccessTimeoutException will be thrown.
+     */
+    private final int accessTimeout;   
+    
+    
+    /**
      * Maximum number of values that should be in the LRU
      */
     private final int capacity;
@@ -55,14 +66,18 @@ public class StatefulContainerGBean exte
             @ParamReference(name = "OpenEjbSystem") OpenEjbSystem openEjbSystem,
             @ParamAttribute(name = "provider") String provider,
             @ParamAttribute(name = "bulkPassivate") int bulkPassivate,
+            @ParamAttribute(name = "accessTimeout") int accessTimeout,
             @ParamAttribute(name = "capacity") int capacity,
             @ParamAttribute(name = "timeout") long timeout,
             @ParamAttribute(name = "properties") Properties properties) {
         super(abstractName, StatefulSessionContainerInfo.class, openEjbSystem, provider, "STATEFUL", properties);
         set("BulkPassivate", Integer.toString(bulkPassivate));
+        Duration accessTimeoutDuration = new Duration(accessTimeout, TimeUnit.SECONDS);
+        set("AccessTimeout", accessTimeoutDuration.toString());
         set("Capacity", Integer.toString(capacity));
         set("TimeOut", Long.toString(timeout));
         this.bulkPassivate = bulkPassivate;
+        this.accessTimeout = accessTimeout;
         this.capacity = capacity;
         this.timeout = timeout;
     }

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=1091820&r1=1091819&r2=1091820&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 Wed Apr 13 15:35:56 2011
@@ -23,8 +23,10 @@ import org.apache.geronimo.gbean.annotat
 import org.apache.geronimo.gbean.annotation.SpecialAttributeType;
 import org.apache.geronimo.gbean.AbstractName;
 import org.apache.openejb.assembler.classic.StatelessSessionContainerInfo;
+import org.apache.openejb.util.Duration;
 
 import java.util.Properties;
+import java.util.concurrent.TimeUnit;
 
 /**
  * @version $Rev$ $Date$
@@ -33,10 +35,10 @@ import java.util.Properties;
 public class StatelessContainerGBean extends EjbContainer {
 
     /**
-     * Specifies the time to wait between invocations. This
-     * value is measured in milliseconds. A value of 5 would
-     * result in a time-out of 5 milliseconds between invocations.
-     * A value of zero would mean no timeout.
+     * Specifies the time an invokation should wait for an instance of the pool to become available.
+     * 
+     * After the timeout is reached, if an instance in the pool cannot be obtained, the method invocation will fail.
+     * 
      */
     private final int accessTimeout;
     
@@ -100,9 +102,12 @@ public class StatelessContainerGBean ext
         set("MaxSize", Integer.toString(maxSize));
         set("MinSize", Integer.toString(minSize));        
         set("StrictPooling", Boolean.toString(strictPooling));
-        set("AccessTimeout", Integer.toString(accessTimeout));
-        set("CloseTimeout", Integer.toString(closeTimeout));
-        set("IdleTimeout", Integer.toString(idleTimeout));
+        Duration accessTimeoutDuration = new Duration(accessTimeout, TimeUnit.SECONDS);
+        set("AccessTimeout", accessTimeoutDuration.toString());
+        Duration closeTimeoutDuration = new Duration(closeTimeout, TimeUnit.MINUTES);
+        set("CloseTimeout", closeTimeoutDuration.toString());
+        Duration idleTimeoutDuration = new Duration(idleTimeout, TimeUnit.MINUTES);
+        set("IdleTimeout", idleTimeoutDuration.toString());
         this.maxSize = maxSize;
         this.minSize= minSize;
         this.strictPooling = strictPooling;

Modified: geronimo/server/trunk/plugins/openejb/openejb/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openejb/openejb/pom.xml?rev=1091820&r1=1091819&r2=1091820&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openejb/openejb/pom.xml (original)
+++ geronimo/server/trunk/plugins/openejb/openejb/pom.xml Wed Apr 13 15:35:56 2011
@@ -169,6 +169,7 @@
                                     <attribute name="clusterName">${ClusterName}</attribute>
                                 </gbean>
                                 <gbean name="DefaultStatefulContainer">
+                                    <attribute name="accessTimeout">${StatefulAccessTimeout}</attribute>
                                     <attribute name="timeout">${StatefulTimeout}</attribute>
                                     <attribute name="capacity">${StatefulCapacity}</attribute>
                                     <attribute name="bulkPassivate">${StatefulBulkPassivate}</attribute>
@@ -189,13 +190,14 @@
                                 </gbean>
                             </config-xml-content>
                             <config-substitution key="OpenEJBPort">4201</config-substitution>
+                            <config-substitution key="StatefulAccessTimeout">-1</config-substitution>
                             <config-substitution key="StatefulTimeout">20</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="StatelessAccessTimeout">0</config-substitution>
-                            <config-substitution key="StatelessCloseTimeout">300000</config-substitution>                            
+                            <config-substitution key="StatelessAccessTimeout">-1</config-substitution>
+                            <config-substitution key="StatelessCloseTimeout">5</config-substitution>                            
                             <config-substitution key="StatelessPoolSize">10</config-substitution> 
                             <config-substitution key="StatelessMinPoolSize">0</config-substitution>                             
                             <config-substitution key="StatelessStrictPooling">true</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=1091820&r1=1091819&r2=1091820&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 Wed Apr 13 15:35:56 2011
@@ -42,8 +42,8 @@
     </gbean>
 
     <gbean name="DefaultStatelessContainer" class="org.apache.geronimo.openejb.StatelessContainerGBean">
-        <attribute name="accessTimeout">0</attribute>
-        <attribute name="closeTimeout">300000</attribute>          
+        <attribute name="accessTimeout">-1</attribute>
+        <attribute name="closeTimeout">5</attribute>          
         <attribute name="maxSize">10</attribute>
         <attribute name="minSize">0</attribute>
         <attribute name="strictPooling">true</attribute>
@@ -53,6 +53,7 @@
         </reference>
     </gbean>
     <gbean name="DefaultStatefulContainer" class="org.apache.geronimo.openejb.StatefulContainerGBean">
+        <attribute name="accessTimeout">-1</attribute>
         <attribute name="timeout">20</attribute>
         <attribute name="capacity">1000</attribute>
         <attribute name="bulkPassivate">100</attribute>
@@ -61,7 +62,7 @@
         </reference>
     </gbean>
     <gbean name="DefaultSingletonContainer" class="org.apache.geronimo.openejb.SingletonContainerGBean">
-        <attribute name="accessTimeout">30</attribute>
+        <attribute name="accessTimeout">-1</attribute>
         <reference name="OpenEjbSystem">
             <name>OpenEjbSystem</name>
         </reference>