You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2010/06/02 09:01:42 UTC
svn commit: r950391 - in
/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb:
core/stateless/StatelessInstanceManager.java util/Pool.java
Author: dblevins
Date: Wed Jun 2 07:01:41 2010
New Revision: 950391
URL: http://svn.apache.org/viewvc?rev=950391&view=rev
Log:
Set the default units for all Duration pooling options
OPENEJB-1235
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java?rev=950391&r1=950390&r2=950391&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java Wed Jun 2 07:01:41 2010
@@ -392,18 +392,18 @@ public class StatelessInstanceManager {
final Pool.Builder builder = new Pool.Builder(poolBuilder);
- String timeString = options.get("Timeout", this.accessTimeout.toString());
- timeString = options.get("AccessTimeout", timeString);
- Duration accessTimeout = new Duration(timeString);
- if (accessTimeout.getUnit() == null) accessTimeout.setUnit(TimeUnit.MILLISECONDS);
-
- String s = options.get("CloseTimeout", this.closeTimeout.toString());
- Duration closeTimeout = new Duration(s);
- if (closeTimeout.getUnit() == null) closeTimeout.setUnit(TimeUnit.MILLISECONDS);
+ Duration accessTimeout = getDuration(options, "Timeout", this.accessTimeout, TimeUnit.MILLISECONDS);
+ accessTimeout = getDuration(options, "AccessTimeout", accessTimeout, TimeUnit.MILLISECONDS);
+
+ Duration closeTimeout = getDuration(options, "CloseTimeout", this.closeTimeout, TimeUnit.MINUTES);
final ObjectRecipe recipe = PassthroughFactory.recipe(builder);
recipe.setAllProperties(deploymentInfo.getProperties());
+ setDefault(builder.getMaxAge(), TimeUnit.HOURS);
+ setDefault(builder.getIdleTimeout(), TimeUnit.MINUTES);
+ setDefault(builder.getInterval(), TimeUnit.MINUTES);
+
builder.setSupplier(new StatelessSupplier(deploymentInfo));
builder.setExecutor(executor);
@@ -460,6 +460,17 @@ public class StatelessInstanceManager {
data.getPool().start();
}
+ private void setDefault(Duration duration, TimeUnit unit) {
+ if (duration.getUnit() == null) duration.setUnit(unit);
+ }
+
+ private Duration getDuration(Options options, String property, Duration defaultValue, TimeUnit defaultUnit) {
+ String s = options.get(property, defaultValue.toString());
+ Duration duration = new Duration(s);
+ if (duration.getUnit() == null) duration.setUnit(defaultUnit);
+ return duration;
+ }
+
private Instance createInstance(CoreDeploymentInfo deploymentInfo) {
ThreadContext ctx = new ThreadContext(deploymentInfo, null);
ThreadContext oldCallContext = ThreadContext.enter(ctx);
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java?rev=950391&r1=950390&r2=950391&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java Wed Jun 2 07:01:41 2010
@@ -943,6 +943,22 @@ public class Pool<T> {
return maxAge;
}
+ public boolean isStrict() {
+ return strict;
+ }
+
+ public Duration getIdleTimeout() {
+ return idleTimeout;
+ }
+
+ public Duration getInterval() {
+ return interval;
+ }
+
+ public boolean isReplaceAged() {
+ return replaceAged;
+ }
+
public void setMaxAgeOffset(double maxAgeOffset) {
this.maxAgeOffset = maxAgeOffset;
}