You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by tv...@apache.org on 2018/01/18 15:46:42 UTC

[47/50] tomee git commit: fix conflicts backport from tomee 7.0.x

fix conflicts backport from tomee 7.0.x


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/437bbac8
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/437bbac8
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/437bbac8

Branch: refs/heads/tomee-1.7.x
Commit: 437bbac8cf36e22f5d0d3922308a845b47019a8b
Parents: e5ffc0c
Author: Thiago Veronezi <th...@veronezi.org>
Authored: Wed Jan 17 22:42:21 2018 -0500
Committer: Thiago Veronezi <th...@veronezi.org>
Committed: Wed Jan 17 22:42:21 2018 -0500

----------------------------------------------------------------------
 .../core/instance/InstanceCreatorRunnable.java  | 41 -------------
 .../core/stateless/StatelessContainer.java      |  3 +-
 .../stateless/StatelessInstanceManager.java     | 60 ++++----------------
 .../openejb/core/mdb/EndpointHandlerTest.java   |  2 +-
 .../mdb/MaxSizePoolEndpointHandlerTest.java     |  2 +-
 5 files changed, 15 insertions(+), 93 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/437bbac8/container/openejb-core/src/main/java/org/apache/openejb/core/instance/InstanceCreatorRunnable.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/instance/InstanceCreatorRunnable.java b/container/openejb-core/src/main/java/org/apache/openejb/core/instance/InstanceCreatorRunnable.java
deleted file mode 100644
index d87c330..0000000
--- a/container/openejb-core/src/main/java/org/apache/openejb/core/instance/InstanceCreatorRunnable.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.openejb.core.instance;
-
-import org.apache.openejb.core.mdb.Instance;
-
-public final class InstanceCreatorRunnable implements Runnable {
-
-    private final InstanceManagerData data;
-    private final InstanceManager.InstanceSupplier supplier;
-    private final long offset;
-
-    public InstanceCreatorRunnable(final long maxAge, final long iteration, final long min, final double maxAgeOffset,
-                                   final InstanceManagerData data, final InstanceManager.InstanceSupplier supplier) {
-        this.data = data;
-        this.supplier = supplier;
-        this.offset = maxAge > 0 ? (long) (maxAge / maxAgeOffset * min * iteration) % maxAge : 0l;
-    }
-
-    @Override
-    public void run() {
-        final Instance obj = supplier.create();
-        if (obj != null) {
-            data.getPool().add(obj, offset);
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee/blob/437bbac8/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java b/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java
index 5b4ee4a..7613c51 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java
@@ -29,7 +29,6 @@ import org.apache.openejb.core.Operation;
 import org.apache.openejb.core.ThreadContext;
 import org.apache.openejb.core.interceptor.InterceptorData;
 import org.apache.openejb.core.interceptor.InterceptorStack;
-import org.apache.openejb.core.security.AbstractSecurityService;
 import org.apache.openejb.core.timer.EjbTimerService;
 import org.apache.openejb.core.transaction.TransactionPolicy;
 import org.apache.openejb.core.webservices.AddressingSupport;
@@ -212,7 +211,7 @@ public class StatelessContainer implements org.apache.openejb.RpcContainer {
 
     @SuppressWarnings("ThrowFromFinallyBlock")
     private Object _invoke(final Method callMethod, final Method runMethod, final Object[] args, final Instance instance, final ThreadContext callContext, final InterfaceType type)
-        throws OpenEJBException {
+            throws OpenEJBException {
         final BeanContext beanContext = callContext.getBeanContext();
         final TransactionPolicy txPolicy = createTransactionPolicy(beanContext.getTransactionType(callMethod, type), callContext);
 

http://git-wip-us.apache.org/repos/asf/tomee/blob/437bbac8/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java b/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java
index 9d1ee5c..8d0b341 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java
@@ -63,15 +63,10 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.RejectedExecutionHandler;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
-import java.util.logging.Level;
-
-import static java.util.concurrent.TimeUnit.MILLISECONDS;
 
 public class StatelessInstanceManager {
     private static final Logger logger = Logger.getInstance(LogCategory.OPENEJB, "org.apache.openejb.util.resources");
@@ -92,20 +87,12 @@ public class StatelessInstanceManager {
     private final SecurityService securityService;
     private final Pool.Builder poolBuilder;
     private final ThreadPoolExecutor executor;
-    private final ScheduledExecutorService scheduledExecutor;
 
-    public StatelessInstanceManager(final SecurityService securityService,
-                                    final Duration accessTimeout, final Duration closeTimeout,
-                                    final Pool.Builder poolBuilder, final int callbackThreads,
-                                    final ScheduledExecutorService ses) {
+    public StatelessInstanceManager(final SecurityService securityService, final Duration accessTimeout, final Duration closeTimeout, final Pool.Builder poolBuilder, final int callbackThreads) {
         this.securityService = securityService;
         this.accessTimeout = accessTimeout;
         this.closeTimeout = closeTimeout;
         this.poolBuilder = poolBuilder;
-        this.scheduledExecutor = ses;
-        if (ScheduledThreadPoolExecutor.class.isInstance(ses) && !ScheduledThreadPoolExecutor.class.cast(ses).getRemoveOnCancelPolicy()) {
-            ScheduledThreadPoolExecutor.class.cast(ses).setRemoveOnCancelPolicy(true);
-        }
 
         if (accessTimeout.getUnit() == null) {
             accessTimeout.setUnit(TimeUnit.MILLISECONDS);
@@ -114,8 +101,8 @@ public class StatelessInstanceManager {
         final int qsize = callbackThreads > 1 ? callbackThreads - 1 : 1;
         final ThreadFactory threadFactory = new DaemonThreadFactory("StatelessPool.worker.");
         this.executor = new ThreadPoolExecutor(
-            callbackThreads, callbackThreads * 2,
-            1L, TimeUnit.MINUTES, new LinkedBlockingQueue<Runnable>(qsize), threadFactory);
+                callbackThreads, callbackThreads * 2,
+                1L, TimeUnit.MINUTES, new LinkedBlockingQueue<Runnable>(qsize), threadFactory);
 
         this.executor.setRejectedExecutionHandler(new RejectedExecutionHandler() {
             @Override
@@ -160,7 +147,7 @@ public class StatelessInstanceManager {
             final ThreadContext ctx = new ThreadContext(beanContext, null);
             final ThreadContext oldCallContext = ThreadContext.enter(ctx);
             try {
-                return createInstance(ctx, ctx.getBeanContext());
+                return createInstance(ctx.getBeanContext());
             } catch (final OpenEJBException e) {
                 logger.error("Unable to fill pool: for deployment '" + beanContext.getDeploymentID() + "'", e);
             } finally {
@@ -170,29 +157,6 @@ public class StatelessInstanceManager {
         }
     }
 
-    public void destroy() {
-        if (executor != null) {
-            executor.shutdown();
-            try {
-                if (!executor.awaitTermination(10000, MILLISECONDS)) {
-                    java.util.logging.Logger.getLogger(this.getClass().getName()).log(Level.WARNING, getClass().getSimpleName() + " pool  timeout expired");
-                }
-            } catch (final InterruptedException e) {
-                Thread.interrupted();
-            }
-        }
-        if (scheduledExecutor != null) {
-            scheduledExecutor.shutdown();
-            try {
-                if (!scheduledExecutor.awaitTermination(10000, MILLISECONDS)) {
-                    java.util.logging.Logger.getLogger(this.getClass().getName()).log(Level.WARNING, getClass().getSimpleName() + " pool  timeout expired");
-                }
-            } catch (final InterruptedException e) {
-                Thread.interrupted();
-            }
-        }
-    }
-
     /**
      * Removes an instance from the pool and returns it for use
      * by the container in business methods.
@@ -231,13 +195,13 @@ public class StatelessInstanceManager {
         }
 
         if (null == instance) {
-            instance = createInstance(callContext, beanContext);
+            instance = createInstance(beanContext);
         }
 
-            return instance;
-        }
+        return instance;
+    }
 
-    private Instance createInstance(final ThreadContext callContext, final BeanContext beanContext) throws ApplicationException {
+    private Instance createInstance(final BeanContext beanContext) throws ApplicationException {
         try {
             final InstanceContext context = beanContext.newInstance();
             return new Instance(context.getBean(), context.getInterceptors(), context.getCreationalContext());
@@ -338,10 +302,10 @@ public class StatelessInstanceManager {
         final Options options = new Options(beanContext.getProperties());
 
         final Duration accessTimeout = getDuration(
-            options,
-            "AccessTimeout",
-            getDuration(options, "Timeout", this.accessTimeout, TimeUnit.MILLISECONDS), // default timeout
-            TimeUnit.MILLISECONDS
+                options,
+                "AccessTimeout",
+                getDuration(options, "Timeout", this.accessTimeout, TimeUnit.MILLISECONDS), // default timeout
+                TimeUnit.MILLISECONDS
         );
         final Duration closeTimeout = getDuration(options, "CloseTimeout", this.closeTimeout, TimeUnit.MINUTES);
 

http://git-wip-us.apache.org/repos/asf/tomee/blob/437bbac8/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/EndpointHandlerTest.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/EndpointHandlerTest.java b/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/EndpointHandlerTest.java
index d401baa..be0a4d4 100644
--- a/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/EndpointHandlerTest.java
+++ b/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/EndpointHandlerTest.java
@@ -120,7 +120,7 @@ public class EndpointHandlerTest {
     })
     public static class Listener implements InboundListener {
         public static CountDownLatch latch;
-        private static final List<Boolean> BOOLEANS = new CopyOnWriteArrayList<>();
+        private static final List<Boolean> BOOLEANS = new CopyOnWriteArrayList<Boolean>();
 
         static final AtomicLong COUNTER = new AtomicLong();
 

http://git-wip-us.apache.org/repos/asf/tomee/blob/437bbac8/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MaxSizePoolEndpointHandlerTest.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MaxSizePoolEndpointHandlerTest.java b/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MaxSizePoolEndpointHandlerTest.java
index af50393..89f1387 100644
--- a/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MaxSizePoolEndpointHandlerTest.java
+++ b/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/MaxSizePoolEndpointHandlerTest.java
@@ -121,7 +121,7 @@ public class MaxSizePoolEndpointHandlerTest {
     })
     public static class Listener implements InboundListener {
         public static CountDownLatch latch;
-        private static final List<Boolean> BOOLEANS = new CopyOnWriteArrayList<>();
+        private static final List<Boolean> BOOLEANS = new CopyOnWriteArrayList<Boolean>();
 
         static final AtomicLong COUNTER = new AtomicLong();