killbill-memoizeit
Changes
jaxrs/pom.xml 5(+5 -0)
Details
jaxrs/pom.xml 5(+5 -0)
diff --git a/jaxrs/pom.xml b/jaxrs/pom.xml
index 66a787f..bca2b90 100644
--- a/jaxrs/pom.xml
+++ b/jaxrs/pom.xml
@@ -101,6 +101,11 @@
</dependency>
<dependency>
<groupId>org.kill-bill.billing</groupId>
+ <artifactId>killbill-platform-server</artifactId>
+ <classifier>classes</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.kill-bill.billing</groupId>
<artifactId>killbill-platform-test</artifactId>
<scope>test</scope>
</dependency>
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java
index e9af063..18099f0 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AdminResource.java
@@ -61,6 +61,7 @@ import org.killbill.billing.payment.api.PaymentApiException;
import org.killbill.billing.payment.api.PaymentTransaction;
import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.api.TransactionStatus;
+import org.killbill.billing.server.healthchecks.KillbillHealthcheck;
import org.killbill.billing.tenant.api.Tenant;
import org.killbill.billing.tenant.api.TenantApiException;
import org.killbill.billing.tenant.api.TenantUserApi;
@@ -115,6 +116,7 @@ public class AdminResource extends JaxRsResourceBase {
private final RecordIdApi recordIdApi;
private final PersistentBus persistentBus;
private final NotificationQueueService notificationQueueService;
+ private final KillbillHealthcheck killbillHealthcheck;
@Inject
public AdminResource(final JaxrsUriBuilder uriBuilder,
@@ -130,6 +132,7 @@ public class AdminResource extends JaxRsResourceBase {
final RecordIdApi recordIdApi,
final PersistentBus persistentBus,
final NotificationQueueService notificationQueueService,
+ final KillbillHealthcheck killbillHealthcheck,
final Clock clock,
final Context context) {
super(uriBuilder, tagUserApi, customFieldUserApi, auditUserApi, accountUserApi, paymentApi, null, clock, context);
@@ -140,6 +143,7 @@ public class AdminResource extends JaxRsResourceBase {
this.cacheControllerDispatcher = cacheControllerDispatcher;
this.persistentBus = persistentBus;
this.notificationQueueService = notificationQueueService;
+ this.killbillHealthcheck = killbillHealthcheck;
}
@GET
@@ -421,6 +425,26 @@ public class AdminResource extends JaxRsResourceBase {
return Response.status(Status.OK).build();
}
+ @POST
+ @Path("/" + HEALTHCHECK)
+ @Produces(APPLICATION_JSON)
+ @ApiOperation(value = "Put the host out of rotation")
+ @ApiResponses(value = {})
+ public Response putInRotation(@javax.ws.rs.core.Context final HttpServletRequest request) {
+ killbillHealthcheck.putInRotation();
+ return Response.status(Status.OK).build();
+ }
+
+ @DELETE
+ @Path("/" + HEALTHCHECK)
+ @Produces(APPLICATION_JSON)
+ @ApiOperation(value = "Put the host out of rotation")
+ @ApiResponses(value = {})
+ public Response putOutOfRotation(@javax.ws.rs.core.Context final HttpServletRequest request) {
+ killbillHealthcheck.putOutOfRotation();
+ return Response.status(Status.OK).build();
+ }
+
private Iterable<NotificationEventWithMetadata<NotificationEvent>> getNotifications(@Nullable final String queueName,
@Nullable final String serviceName,
final boolean includeInProcessing,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxrsResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxrsResource.java
index b7d6a38..38a3986 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxrsResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxrsResource.java
@@ -285,6 +285,7 @@ public interface JaxrsResource {
public static final String TRANSFER_CREDIT = "transferCredit";
public static final String CACHE = "cache";
+ public static final String HEALTHCHECK = "healthcheck";
public static final String QUERY_INCLUDED_DELETED = "includedDeleted";