Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## v1.2.0
* Support Suspend and Resume Client APIs ([#104](https://github.com/microsoft/durabletask-java/issues/104))
* Support restartInstance and pass restartPostUri in HttpManagementPayload ([#108](https://github.com/microsoft/durabletask-java/issues/108))

## v1.1.1

### Updates
Expand All @@ -9,10 +13,9 @@
* Fix the potential NPE issue of `DurableTaskClient#terminate` method ([#104](https://github.com/microsoft/durabletask-java/issues/104))
* Add waitForCompletionOrCreateCheckStatusResponse client API ([#115](https://github.com/microsoft/durabletask-java/pull/115))
* Support long timers by breaking up into smaller timers ([#114](https://github.com/microsoft/durabletask-java/issues/114))
* Support restartInstance and pass restartPostUri in HttpManagementPayload ([#108](https://github.com/microsoft/durabletask-java/issues/108))

## v1.0.0

:wq
### New

* Add CHANGELOG.md file to track changes across versions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ public class HttpManagementPayload {
private final String sendEventPostUri;
private final String statusQueryGetUri;
private final String terminatePostUri;
private final String resumePostUri;
private final String suspendPostUri;

/**
* Creates a {@link HttpManagementPayload} to manage orchestration instances
Expand All @@ -34,6 +36,8 @@ public HttpManagementPayload(
this.sendEventPostUri = instanceStatusURL + "/raiseEvent/{eventName}?" + requiredQueryStringParameters;
this.statusQueryGetUri = instanceStatusURL + "?" + requiredQueryStringParameters;
this.terminatePostUri = instanceStatusURL + "/terminate?reason={text}&" + requiredQueryStringParameters;
this.resumePostUri = instanceStatusURL + "/resume?reason={text}&" + requiredQueryStringParameters;
this.suspendPostUri = instanceStatusURL + "/suspend?reason={text}&" + requiredQueryStringParameters;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,33 +292,33 @@ public abstract OrchestrationMetadata waitForInstanceCompletion(
*/
public abstract String restartInstance(String instanceId, boolean restartWithNewInstanceId);

// /**
// * Suspends a running orchestration instance.
// * @param instanceId the ID of the orchestration instance to suspend
// */
// public void suspendInstance (String instanceId) {
// this.suspendInstance(instanceId, null);
// }
//
// /**
// * Resumes a running orchestration instance.
// * @param instanceId the ID of the orchestration instance to resume
// */
// public void resumeInstance(String instanceId) {
// this.resumeInstance(instanceId, null);
// }
//
// /**
// * Suspends a running orchestration instance.
// * @param instanceId the ID of the orchestration instance to suspend
// * @param reason the reason for suspending the orchestration instance
// */
// public abstract void suspendInstance(String instanceId, @Nullable String reason);
//
// /**
// * Resumes a running orchestration instance.
// * @param instanceId the ID of the orchestration instance to resume
// * @param reason the reason for resuming the orchestration instance
// */
// public abstract void resumeInstance(String instanceId, @Nullable String reason);
/**
* Suspends a running orchestration instance.
* @param instanceId the ID of the orchestration instance to suspend
*/
public void suspendInstance (String instanceId) {
this.suspendInstance(instanceId, null);
}

/**
* Resumes a running orchestration instance.
* @param instanceId the ID of the orchestration instance to resume
*/
public void resumeInstance(String instanceId) {
this.resumeInstance(instanceId, null);
}

/**
* Suspends a running orchestration instance.
* @param instanceId the ID of the orchestration instance to suspend
* @param reason the reason for suspending the orchestration instance
*/
public abstract void suspendInstance(String instanceId, @Nullable String reason);

/**
* Resumes a running orchestration instance.
* @param instanceId the ID of the orchestration instance to resume
* @param reason the reason for resuming the orchestration instance
*/
public abstract void resumeInstance(String instanceId, @Nullable String reason);
}
Original file line number Diff line number Diff line change
Expand Up @@ -283,25 +283,25 @@ public PurgeResult purgeInstances(PurgeInstanceCriteria purgeInstanceCriteria) t
}
}

// @Override
// public void suspendInstance(String instanceId, @Nullable String reason) {
// SuspendRequest.Builder suspendRequestBuilder = SuspendRequest.newBuilder();
// suspendRequestBuilder.setInstanceId(instanceId);
// if (reason != null) {
// suspendRequestBuilder.setReason(StringValue.of(reason));
// }
// this.sidecarClient.suspendInstance(suspendRequestBuilder.build());
// }
//
// @Override
// public void resumeInstance(String instanceId, @Nullable String reason) {
// ResumeRequest.Builder resumeRequestBuilder = ResumeRequest.newBuilder();
// resumeRequestBuilder.setInstanceId(instanceId);
// if (reason != null) {
// resumeRequestBuilder.setReason(StringValue.of(reason));
// }
// this.sidecarClient.resumeInstance(resumeRequestBuilder.build());
// }
@Override
public void suspendInstance(String instanceId, @Nullable String reason) {
SuspendRequest.Builder suspendRequestBuilder = SuspendRequest.newBuilder();
suspendRequestBuilder.setInstanceId(instanceId);
if (reason != null) {
suspendRequestBuilder.setReason(StringValue.of(reason));
}
this.sidecarClient.suspendInstance(suspendRequestBuilder.build());
}

@Override
public void resumeInstance(String instanceId, @Nullable String reason) {
ResumeRequest.Builder resumeRequestBuilder = ResumeRequest.newBuilder();
resumeRequestBuilder.setInstanceId(instanceId);
if (reason != null) {
resumeRequestBuilder.setReason(StringValue.of(reason));
}
this.sidecarClient.resumeInstance(resumeRequestBuilder.build());
}

@Override
public String restartInstance(String instanceId, boolean restartWithNewInstanceId) {
Expand Down
Loading