From commits-return-9464-apmail-openejb-commits-archive=openejb.apache.org@openejb.apache.org Mon Mar 01 08:18:04 2010 Return-Path: Delivered-To: apmail-openejb-commits-archive@www.apache.org Received: (qmail 58427 invoked from network); 1 Mar 2010 08:18:04 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 1 Mar 2010 08:18:04 -0000 Received: (qmail 25600 invoked by uid 500); 1 Mar 2010 01:11:24 -0000 Delivered-To: apmail-openejb-commits-archive@openejb.apache.org Received: (qmail 25570 invoked by uid 500); 1 Mar 2010 01:11:24 -0000 Mailing-List: contact commits-help@openejb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openejb.apache.org Delivered-To: mailing list commits@openejb.apache.org Received: (qmail 25563 invoked by uid 99); 1 Mar 2010 01:11:24 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Mar 2010 01:11:24 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Mar 2010 01:11:24 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id E16AB238899B; Mon, 1 Mar 2010 01:11:03 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r917339 - /openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java Date: Mon, 01 Mar 2010 01:11:03 -0000 To: commits@openejb.apache.org From: dblevins@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100301011103.E16AB238899B@eris.apache.org> Author: dblevins Date: Mon Mar 1 01:11:03 2010 New Revision: 917339 URL: http://svn.apache.org/viewvc?rev=917339&view=rev Log: Set Timeout (aka. AccessTimeout) on a per bean level Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.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=917339&r1=917338&r2=917339&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 Mon Mar 1 01:11:03 2010 @@ -102,11 +102,9 @@ CoreDeploymentInfo deploymentInfo = callContext.getDeploymentInfo(); Data data = (Data) deploymentInfo.getContainerData(); - final Pool pool = data.getPool(); - Instance instance = null; try { - final Pool.Entry entry = pool.pop(timeout.getTime(), timeout.getUnit()); + final Pool.Entry entry = data.poolPop(); if (entry != null){ instance = entry.get(); @@ -349,7 +347,11 @@ boolean strict = options.get("StrictPooling", this.strictPooling); int min = options.get("PoolMin", poolMin); - Data data = new Data(max, strict, min); + String timeString = options.get("Timeout", this.timeout.toString()); + timeString = options.get("AccessTimeout", timeString); + Duration accessTimeout = new Duration(timeString); + + Data data = new Data(max, strict, min, accessTimeout); deploymentInfo.setContainerData(data); } @@ -363,11 +365,21 @@ private static final class Data { private final Pool pool; + private Duration accessTimeout; - public Data(int poolLimit, boolean strictPooling, int min) { + public Data(int poolLimit, boolean strictPooling, int min, Duration accessTimeout) { + this.accessTimeout = accessTimeout; pool = new Pool(poolLimit, min, strictPooling); } + public Duration getAccessTimeout() { + return accessTimeout; + } + + public Pool.Entry poolPop() throws InterruptedException, TimeoutException { + return pool.pop(accessTimeout.getTime(), accessTimeout.getUnit()); + } + public Pool getPool() { return pool; }