azure-docs-sdk-java/docs-ref-autogen/com.azure.core.util.polling...

32 строки
4.1 KiB
YAML
Исходник Постоянная ссылка Обычный вид История

### YamlMime:JavaPackage
uid: "com.azure.core.util.polling"
fullName: "com.azure.core.util.polling"
name: "com.azure.core.util.polling"
summary: "This package contains utility classes and interfaces for handling long-running operations in the Azure client libraries."
classes:
- "com.azure.core.util.polling.AsyncPollResponse"
- "com.azure.core.util.polling.ChainedPollingStrategy"
- "com.azure.core.util.polling.DefaultPollingStrategy"
- "com.azure.core.util.polling.LocationPollingStrategy"
- "com.azure.core.util.polling.LongRunningOperationStatus"
- "com.azure.core.util.polling.OperationResourcePollingStrategy"
- "com.azure.core.util.polling.PollOperationDetails"
- "com.azure.core.util.polling.PollResponse"
- "com.azure.core.util.polling.PollerFlux"
- "com.azure.core.util.polling.PollingContext"
- "com.azure.core.util.polling.PollingStrategyOptions"
- "com.azure.core.util.polling.StatusCheckPollingStrategy"
- "com.azure.core.util.polling.SyncChainedPollingStrategy"
- "com.azure.core.util.polling.SyncDefaultPollingStrategy"
- "com.azure.core.util.polling.SyncLocationPollingStrategy"
- "com.azure.core.util.polling.SyncOperationResourcePollingStrategy"
- "com.azure.core.util.polling.SyncStatusCheckPollingStrategy"
interfaces:
- "com.azure.core.util.polling.PollingStrategy"
- "com.azure.core.util.polling.SyncPoller"
- "com.azure.core.util.polling.SyncPollingStrategy"
desc: "This package contains utility classes and interfaces for handling long-running operations in the Azure client libraries.\n\nLong-running operations are operations such as the creation or deletion of a resource, which take a significant amount of time to complete. These operations are typically handled asynchronously, with the client initiating the operation and then polling the service at intervals to determine whether the operation has completed.\n\nThis package provides a standard mechanism for initiating, tracking, and retrieving the results of long-running operations\n\n**Code Sample: Asynchronously wait for polling to complete and then retrieve the final result**\n\n```java\nLocalDateTime timeToReturnFinalResponse = LocalDateTime.now().plus(Duration.ofMinutes(5));\n\n // Create poller instance\n PollerFlux<String, String> poller = new PollerFlux<>(Duration.ofMillis(100),\n (context) -> Mono.empty(),\n (context) -> {\n if (LocalDateTime.now().isBefore(timeToReturnFinalResponse)) {\n System.out.println(\"Returning intermediate response.\");\n return Mono.just(new PollResponse<>(LongRunningOperationStatus.IN_PROGRESS,\n \"Operation in progress.\"));\n } else {\n System.out.println(\"Returning final response.\");\n return Mono.just(new PollResponse<>(LongRunningOperationStatus.SUCCESSFULLY_COMPLETED,\n \"Operation completed.\"));\n }\n },\n (activationResponse, context) -> Mono.just(\"FromServer:OperationIsCancelled\"),\n (context) -> Mono.just(\"FromServer:FinalOutput\"));\n\n poller.take(Duration.ofMinutes(30))\n .last()\n .flatMap(asyncPollResponse -> {\n if (asyncPollResponse.getStatus() == LongRunningOperationStatus.SUCCESSFULLY_COMPLETED) {\n // operation completed successfully, retrieving final result.\n return asyncPollResponse\n .getFinalResult();\n } else {\n return Mono.error(new RuntimeException(\"polling completed unsuccessfully with status:\"\n + asyncPollResponse.getStatus()));\n }\n }).block();\n```\n\n**Code Sample: Using a SimpleSyncPoller to poll until the operation is successfully completed**\n\n```java\nLongRunningOperationStatus operationStatus = syncPoller.poll().getStatus();\n while (operationStatus != LongRunningOperationStatus.SUCCESSFULLY_COMPLETED) {\n System.out.println(\"Polling status: \" + operationStatus.toString());\n System.out.println(\"Polling response: \" + operationStatus.toString());\n operationStatus = syncPoller.poll().getStatus();\n }\n```"
metadata: {}
package: "com.azure.core.util.polling"
artifact: com.azure:azure-core:1.52.0