You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by ra...@apache.org on 2019/01/02 12:04:20 UTC
tomee git commit: Reverted Safeguard upgrade. It is failing the tests.
Repository: tomee
Updated Branches:
refs/heads/master 5c047f803 -> a0e5348c8
Reverted Safeguard upgrade. It is failing the tests.
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/a0e5348c
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/a0e5348c
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/a0e5348c
Branch: refs/heads/master
Commit: a0e5348c8555174171a611c038d25ae179a287b3
Parents: 5c047f8
Author: Roberto Cortez <ra...@yahoo.com>
Authored: Wed Jan 2 12:04:11 2019 +0000
Committer: Roberto Cortez <ra...@yahoo.com>
Committed: Wed Jan 2 12:04:11 2019 +0000
----------------------------------------------------------------------
pom.xml | 4 +-
...ilsafeContainerExecutionManagerProvider.java | 57 +++++++++++++++-----
2 files changed, 47 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/a0e5348c/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 03477b9..586eadf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -203,7 +203,7 @@
<microprofile.jwt.impl.version>${project.version}</microprofile.jwt.impl.version>
<!-- 1.1 Implementation not started yet -->
<microprofile.fault-tolerance.version>1.0</microprofile.fault-tolerance.version>
- <microprofile.fault-tolerance.impl.version>1.2.0</microprofile.fault-tolerance.impl.version>
+ <microprofile.fault-tolerance.impl.version>1.1-SNAPSHOT</microprofile.fault-tolerance.impl.version>
<microprofile.health.version>1.0</microprofile.health.version>
<microprofile.health.impl.version>1.0.1</microprofile.health.impl.version>
<microprofile.metrics.version>1.1</microprofile.metrics.version>
@@ -1850,4 +1850,4 @@
<url>scp://people.apache.org/www/tomee.apache.org/openejb/maven</url>
</site>
</distributionManagement>
-</project>
\ No newline at end of file
+</project>
http://git-wip-us.apache.org/repos/asf/tomee/blob/a0e5348c/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/faulttolerance/FailsafeContainerExecutionManagerProvider.java
----------------------------------------------------------------------
diff --git a/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/faulttolerance/FailsafeContainerExecutionManagerProvider.java b/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/faulttolerance/FailsafeContainerExecutionManagerProvider.java
index baef59a..f0a9952 100644
--- a/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/faulttolerance/FailsafeContainerExecutionManagerProvider.java
+++ b/tomee/tomee-microprofile/mp-common/src/main/java/org/apache/tomee/microprofile/faulttolerance/FailsafeContainerExecutionManagerProvider.java
@@ -1,33 +1,66 @@
-package org.apache.tomee.microprofile.faulttolerance;
-/**
+/*
* 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
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
+ *
+ * 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.tomee.microprofile.faulttolerance;
+import org.apache.safeguard.api.ExecutionManager;
+import org.apache.safeguard.impl.FailsafeExecutionManager;
+import org.apache.safeguard.impl.bulkhead.BulkheadManagerImpl;
+import org.apache.safeguard.impl.cdi.FailsafeExecutionManagerProvider;
+import org.apache.safeguard.impl.circuitbreaker.FailsafeCircuitBreakerManager;
+import org.apache.safeguard.impl.config.MicroprofileAnnotationMapper;
+import org.apache.safeguard.impl.executionPlans.ExecutionPlanFactory;
+import org.apache.safeguard.impl.executorService.DefaultExecutorServiceProvider;
+import org.apache.safeguard.impl.retry.FailsafeRetryManager;
-import org.apache.safeguard.impl.customizable.Safeguard;
-
+import javax.annotation.Priority;
import javax.annotation.Resource;
import javax.enterprise.concurrent.ManagedScheduledExecutorService;
import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Alternative;
import javax.enterprise.inject.Produces;
+import javax.enterprise.inject.Specializes;
+import javax.interceptor.Interceptor;
+@Alternative
+@Priority(Interceptor.Priority.APPLICATION + 10)
@ApplicationScoped
-public class FailsafeContainerExecutionManagerProvider {
- @Resource
+public class FailsafeContainerExecutionManagerProvider extends FailsafeExecutionManagerProvider {
+
+ @Resource(name = "DefaultManagedScheduledExecutorService")
+ ManagedScheduledExecutorService executor;
+
+ @Override
@Produces
- @Safeguard
- private ManagedScheduledExecutorService executor;
-}
\ No newline at end of file
+ @Specializes
+ @ApplicationScoped
+ public ExecutionManager createExecutionManager() {
+ final MicroprofileAnnotationMapper mapper = MicroprofileAnnotationMapper.getInstance();
+ final DefaultExecutorServiceProvider executorServiceProvider = new DefaultExecutorServiceProvider(executor);
+ final BulkheadManagerImpl bulkheadManager = new BulkheadManagerImpl();
+ final FailsafeCircuitBreakerManager circuitBreakerManager = new FailsafeCircuitBreakerManager();
+ final FailsafeRetryManager retryManager = new FailsafeRetryManager();
+
+ return new FailsafeExecutionManager(
+ mapper,
+ bulkheadManager,
+ circuitBreakerManager,
+ retryManager,
+ new ExecutionPlanFactory(circuitBreakerManager, retryManager, bulkheadManager, mapper,
+ executorServiceProvider),
+ executorServiceProvider);
+ }
+}