Author: jlmonteiro
Date: Tue Jul 13 09:59:26 2010
New Revision: 963653
URL: http://svn.apache.org/viewvc?rev=963653&view=rev
Log:
Remove TimeUnit usage because we are in Java 5 in this branch and because
MINUTES does not exist.
TimeUnit appeared again with revision 962740
Modified:
openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java
Modified:
openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java
URL:
http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java?rev=963653&r1=963652&r2=963653&view=diff
==============================================================================
---
openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java
(original)
+++
openejb/branches/openejb-3.1.x/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java
Tue Jul 13 09:59:26 2010
@@ -305,9 +305,9 @@ public class StatelessInstanceManager {
public void deploy(CoreDeploymentInfo deploymentInfo) throws
OpenEJBException {
Options options = new Options(deploymentInfo.getProperties());
- 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);
+ Duration accessTimeout = getDuration(options, "Timeout",
this.accessTimeout, Duration.Unit.milliseconds);
+ accessTimeout = getDuration(options, "AccessTimeout", accessTimeout,
Duration.Unit.milliseconds);
+ Duration closeTimeout = getDuration(options, "CloseTimeout",
this.closeTimeout, Duration.Unit.minutes);
final ObjectRecipe recipe = PassthroughFactory.recipe(new
Pool.Builder(poolBuilder));
recipe.allow(Option.CASE_INSENSITIVE_FACTORY);
@@ -316,9 +316,9 @@ public class StatelessInstanceManager {
recipe.setAllProperties(deploymentInfo.getProperties());
final Pool.Builder builder = (Pool.Builder) recipe.create();
- setDefault(builder.getMaxAge(), TimeUnit.HOURS);
- setDefault(builder.getIdleTimeout(), TimeUnit.MINUTES);
- setDefault(builder.getInterval(), TimeUnit.MINUTES);
+ setDefault(builder.getMaxAge(), Duration.Unit.hours);
+ setDefault(builder.getIdleTimeout(), Duration.Unit.minutes);
+ setDefault(builder.getInterval(), Duration.Unit.minutes);
builder.setSupplier(new StatelessSupplier(deploymentInfo));
builder.setExecutor(executor);
@@ -385,17 +385,27 @@ public class StatelessInstanceManager {
data.getPool().start();
}
- private void setDefault(Duration duration, TimeUnit unit) {
- if (duration.getUnit() == null) duration.setUnit(unit);
+ private void setDefault(Duration duration, Duration.Unit unit) {
+ if (duration.getUnit() == null) convert(duration, unit);
}
- private Duration getDuration(Options options, String property, Duration
defaultValue, TimeUnit defaultUnit) {
+ private Duration getDuration(Options options, String property, Duration
defaultValue, Duration.Unit defaultUnit) {
String s = options.get(property, defaultValue.toString());
Duration duration = new Duration(s);
- if (duration.getUnit() == null) duration.setUnit(defaultUnit);
+ if (duration.getUnit() == null) convert(duration, defaultUnit);
return duration;
}
+ /**
+ * Always assumes the duration.getUnit() is null implying that
+ * the duration.getTime() should be treated as the specified unit.
+ */
+ private void convert(Duration duration, Duration.Unit unit) {
+ Duration converted = new Duration(duration.getTime() + " " + unit);
+ duration.setTime(converted.getTime());
+ duration.setUnit(converted.getUnit());
+ }
+
private Instance createInstance(CoreDeploymentInfo deploymentInfo) {
ThreadContext ctx = new ThreadContext(deploymentInfo, null);
ThreadContext oldCallContext = ThreadContext.enter(ctx);