This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch postgresql in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 107465410daf28848b1545fe766b155326178ef6 Author: Benoit TELLIER <[email protected]> AuthorDate: Tue Dec 12 11:22:18 2023 +0100 JAMES-2586 Remove JPAHealthCheck.java --- .../james/jpa/healthcheck/JPAHealthCheck.java | 64 ---------------------- .../james/jpa/healthcheck/JPAHealthCheckTest.java | 62 --------------------- 2 files changed, 126 deletions(-) diff --git a/server/data/data-postgres/src/main/java/org/apache/james/jpa/healthcheck/JPAHealthCheck.java b/server/data/data-postgres/src/main/java/org/apache/james/jpa/healthcheck/JPAHealthCheck.java deleted file mode 100644 index 7dbea33e7f..0000000000 --- a/server/data/data-postgres/src/main/java/org/apache/james/jpa/healthcheck/JPAHealthCheck.java +++ /dev/null @@ -1,64 +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.james.jpa.healthcheck; - -import static org.apache.james.core.healthcheck.Result.healthy; -import static org.apache.james.core.healthcheck.Result.unhealthy; - -import javax.inject.Inject; -import javax.persistence.EntityManagerFactory; - -import org.apache.james.backends.jpa.EntityManagerUtils; -import org.apache.james.core.healthcheck.ComponentName; -import org.apache.james.core.healthcheck.HealthCheck; -import org.apache.james.core.healthcheck.Result; - -import reactor.core.publisher.Mono; -import reactor.core.scheduler.Schedulers; - -public class JPAHealthCheck implements HealthCheck { - - private final EntityManagerFactory entityManagerFactory; - - @Inject - public JPAHealthCheck(EntityManagerFactory entityManagerFactory) { - this.entityManagerFactory = entityManagerFactory; - } - - @Override - public ComponentName componentName() { - return new ComponentName("JPA Backend"); - } - - @Override - public Mono<Result> check() { - return Mono.usingWhen(Mono.fromCallable(entityManagerFactory::createEntityManager).subscribeOn(Schedulers.boundedElastic()), - entityManager -> { - if (entityManager.isOpen()) { - return Mono.just(healthy(componentName())); - } else { - return Mono.just(unhealthy(componentName(), "entityManager is not open")); - } - }, - entityManager -> Mono.fromRunnable(() -> EntityManagerUtils.safelyClose(entityManager)).subscribeOn(Schedulers.boundedElastic())) - .onErrorResume(IllegalStateException.class, - e -> Mono.just(unhealthy(componentName(), "EntityManagerFactory or EntityManager thrown an IllegalStateException, the connection is unhealthy", e))) - .onErrorResume(e -> Mono.just(unhealthy(componentName(), "Unexpected exception upon checking JPA driver", e))); - } -} diff --git a/server/data/data-postgres/src/test/java/org/apache/james/jpa/healthcheck/JPAHealthCheckTest.java b/server/data/data-postgres/src/test/java/org/apache/james/jpa/healthcheck/JPAHealthCheckTest.java deleted file mode 100644 index 20ed1bbaa2..0000000000 --- a/server/data/data-postgres/src/test/java/org/apache/james/jpa/healthcheck/JPAHealthCheckTest.java +++ /dev/null @@ -1,62 +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.james.jpa.healthcheck; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; - -import org.apache.james.backends.jpa.JpaTestCluster; -import org.apache.james.core.healthcheck.Result; -import org.apache.james.core.healthcheck.ResultStatus; -import org.apache.james.mailrepository.jpa.model.JPAUrl; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -class JPAHealthCheckTest { - JPAHealthCheck jpaHealthCheck; - JpaTestCluster jpaTestCluster; - - @BeforeEach - void setUp() { - jpaTestCluster = JpaTestCluster.create(JPAUrl.class); - jpaHealthCheck = new JPAHealthCheck(jpaTestCluster.getEntityManagerFactory()); - } - - @Test - void testWhenActive() { - Result result = jpaHealthCheck.check().block(); - ResultStatus healthy = ResultStatus.HEALTHY; - assertThat(result.getStatus()).as("Result %s status should be %s", result.getStatus(), healthy) - .isEqualTo(healthy); - } - - @Test - void testWhenInactive() { - jpaTestCluster.getEntityManagerFactory().close(); - Result result = Result.healthy(jpaHealthCheck.componentName()); - try { - result = jpaHealthCheck.check().block(); - } catch (IllegalStateException e) { - fail("The exception of the EMF was not handled property.ยช"); - } - ResultStatus unhealthy = ResultStatus.UNHEALTHY; - assertThat(result.getStatus()).as("Result %s status should be %s", result.getStatus(), unhealthy) - .isEqualTo(unhealthy); - } -} --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
