Copy disabled (too large)
Download .txt
Showing preview only (24,010K chars total). Download the full file to get everything.
Repository: dapr/java-sdk
Branch: master
Commit: 4ec9b89114ef
Files: 1811
Total size: 34.8 MB
Directory structure:
gitextract_5uciof7p/
├── .codecov.yaml
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ ├── discussion.md
│ │ ├── feature_request.md
│ │ ├── proposal.md
│ │ └── question.md
│ ├── dependabot.yml
│ ├── holopin.yml
│ ├── pull_request_template.md
│ ├── scripts/
│ │ ├── automerge.py
│ │ ├── create-release.sh
│ │ ├── update_docs.sh
│ │ └── update_sdk_version.sh
│ └── workflows/
│ ├── automerge-bot.yml
│ ├── backport.yaml
│ ├── build.yml
│ ├── create-release.yml
│ ├── dapr_bot.yml
│ ├── fossa.yml
│ ├── validate-docs.yml
│ └── validate.yml
├── .gitignore
├── .gitmodules
├── .java_header
├── .mvn/
│ └── wrapper/
│ └── maven-wrapper.properties
├── .sdkmanrc
├── CODEOWNERS
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── checkstyle.xml
├── dapr-spring/
│ ├── dapr-spring-6-data/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring6/
│ │ └── data/
│ │ ├── AbstractDaprKeyValueAdapter.java
│ │ ├── DaprKeyValueAdapterResolver.java
│ │ ├── DaprKeyValueTemplate.java
│ │ ├── DefaultIdentifierGenerator.java
│ │ ├── GeneratingIdAccessor.java
│ │ ├── KeyValueAdapterResolver.java
│ │ ├── MySQLDaprKeyValueAdapter.java
│ │ ├── PostgreSQLDaprKeyValueAdapter.java
│ │ └── repository/
│ │ ├── config/
│ │ │ ├── DaprRepositoriesRegistrar.java
│ │ │ ├── DaprRepositoryConfigurationExtension.java
│ │ │ └── EnableDaprRepositories.java
│ │ └── query/
│ │ ├── DaprPredicate.java
│ │ ├── DaprPredicateBuilder.java
│ │ └── DaprPredicateQueryCreator.java
│ ├── dapr-spring-bom/
│ │ └── pom.xml
│ ├── dapr-spring-boot-4-autoconfigure/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── spring/
│ │ │ │ └── boot4/
│ │ │ │ └── autoconfigure/
│ │ │ │ └── client/
│ │ │ │ ├── DaprClientSB4AutoConfiguration.java
│ │ │ │ ├── DaprJackson3SB4AutoConfiguration.java
│ │ │ │ └── Jackson3ObjectSerializer.java
│ │ │ └── resources/
│ │ │ └── META-INF/
│ │ │ └── spring/
│ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports
│ │ └── test/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── boot4/
│ │ └── autoconfigure/
│ │ └── client/
│ │ ├── DaprClientAutoConfigurationTest.java
│ │ ├── DaprJackson3SB4AutoConfigurationTest.java
│ │ ├── DaprWorkflowsRegistrationTests.java
│ │ ├── Jackson3ObjectSerializerTest.java
│ │ ├── WorkflowTestApplication.java
│ │ └── workflows/
│ │ ├── TestActivity.java
│ │ └── TestWorkflow.java
│ ├── dapr-spring-boot-autoconfigure/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── spring/
│ │ │ │ └── boot/
│ │ │ │ └── autoconfigure/
│ │ │ │ └── client/
│ │ │ │ └── DaprClientAutoConfiguration.java
│ │ │ └── resources/
│ │ │ └── META-INF/
│ │ │ └── spring/
│ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports
│ │ └── test/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── boot/
│ │ └── autoconfigure/
│ │ └── client/
│ │ ├── DaprClientAutoConfigurationTest.java
│ │ ├── DaprClientObservationAutoConfigurationTest.java
│ │ ├── DaprWorkflowsRegistrationTests.java
│ │ ├── WorkflowTestApplication.java
│ │ └── workflows/
│ │ ├── TestActivity.java
│ │ └── TestWorkflow.java
│ ├── dapr-spring-boot-observation/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ └── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── spring/
│ │ │ └── observation/
│ │ │ └── client/
│ │ │ ├── ObservationDaprClient.java
│ │ │ ├── ObservationDaprWorkflowClient.java
│ │ │ └── TraceContextFormat.java
│ │ └── test/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── observation/
│ │ └── client/
│ │ ├── ObservationDaprClientTest.java
│ │ └── ObservationDaprWorkflowClientTest.java
│ ├── dapr-spring-boot-properties/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ └── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── spring/
│ │ │ └── boot/
│ │ │ └── properties/
│ │ │ ├── client/
│ │ │ │ ├── ClientPropertiesDaprConnectionDetails.java
│ │ │ │ ├── DaprClientProperties.java
│ │ │ │ └── DaprConnectionDetails.java
│ │ │ ├── pubsub/
│ │ │ │ └── DaprPubSubProperties.java
│ │ │ └── statestore/
│ │ │ └── DaprStateStoreProperties.java
│ │ └── test/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── boot/
│ │ └── properties/
│ │ ├── client/
│ │ │ └── DaprClientPropertiesTest.java
│ │ ├── pubsub/
│ │ │ └── DaprPubSubPropertiesTest.java
│ │ └── statestore/
│ │ └── DaprStateStorePropertiesTest.java
│ ├── dapr-spring-boot-starters/
│ │ ├── dapr-spring-boot-4-starter/
│ │ │ └── pom.xml
│ │ ├── dapr-spring-boot-4-starter-test/
│ │ │ └── pom.xml
│ │ ├── dapr-spring-boot-starter/
│ │ │ └── pom.xml
│ │ └── dapr-spring-boot-starter-test/
│ │ └── pom.xml
│ ├── dapr-spring-boot-tests/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── spring/
│ │ │ └── boot/
│ │ │ └── testcontainers/
│ │ │ └── service/
│ │ │ └── connection/
│ │ │ └── DaprContainerConnectionDetailsFactory.java
│ │ └── resources/
│ │ └── META-INF/
│ │ └── spring.factories
│ ├── dapr-spring-data/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── data/
│ │ ├── AbstractDaprKeyValueAdapter.java
│ │ ├── DaprKeyValueAdapterResolver.java
│ │ ├── DaprKeyValueTemplate.java
│ │ ├── DefaultIdentifierGenerator.java
│ │ ├── GeneratingIdAccessor.java
│ │ ├── KeyValueAdapterResolver.java
│ │ ├── MySQLDaprKeyValueAdapter.java
│ │ ├── PostgreSQLDaprKeyValueAdapter.java
│ │ └── repository/
│ │ ├── config/
│ │ │ ├── DaprRepositoriesRegistrar.java
│ │ │ ├── DaprRepositoryConfigurationExtension.java
│ │ │ └── EnableDaprRepositories.java
│ │ └── query/
│ │ ├── DaprPredicate.java
│ │ ├── DaprPredicateBuilder.java
│ │ └── DaprPredicateQueryCreator.java
│ ├── dapr-spring-messaging/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── messaging/
│ │ ├── DaprMessagingOperations.java
│ │ ├── DaprMessagingTemplate.java
│ │ └── observation/
│ │ ├── DaprMessagingObservationConvention.java
│ │ ├── DaprMessagingObservationDocumentation.java
│ │ ├── DaprMessagingSenderContext.java
│ │ └── DefaultDaprMessagingObservationConvention.java
│ ├── dapr-spring-workflows/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── workflows/
│ │ └── config/
│ │ ├── DaprWorkflowsConfiguration.java
│ │ ├── EnableDaprWorkflows.java
│ │ └── annotations/
│ │ ├── ActivityMetadata.java
│ │ └── WorkflowMetadata.java
│ ├── pom.xml
│ └── spotbugs-exclude.xml
├── docs/
│ ├── allclasses-index.html
│ ├── allpackages-index.html
│ ├── constant-values.html
│ ├── css/
│ │ ├── maven-base.css
│ │ ├── maven-theme.css
│ │ ├── print.css
│ │ └── site.css
│ ├── dapr-sdk-springboot/
│ │ └── css/
│ │ ├── maven-base.css
│ │ ├── maven-theme.css
│ │ ├── print.css
│ │ └── site.css
│ ├── dapr-sdk-workflows/
│ │ ├── allclasses-index.html
│ │ ├── allpackages-index.html
│ │ ├── css/
│ │ │ ├── maven-base.css
│ │ │ ├── maven-theme.css
│ │ │ ├── print.css
│ │ │ └── site.css
│ │ ├── element-list
│ │ ├── help-doc.html
│ │ ├── index-all.html
│ │ ├── index.html
│ │ ├── io/
│ │ │ └── dapr/
│ │ │ └── workflows/
│ │ │ ├── Workflow.html
│ │ │ ├── WorkflowContext.html
│ │ │ ├── WorkflowStub.html
│ │ │ ├── class-use/
│ │ │ │ ├── Workflow.html
│ │ │ │ ├── WorkflowContext.html
│ │ │ │ └── WorkflowStub.html
│ │ │ ├── client/
│ │ │ │ ├── DaprWorkflowClient.html
│ │ │ │ ├── WorkflowFailureDetails.html
│ │ │ │ ├── WorkflowInstanceStatus.html
│ │ │ │ ├── class-use/
│ │ │ │ │ ├── DaprWorkflowClient.html
│ │ │ │ │ ├── WorkflowFailureDetails.html
│ │ │ │ │ └── WorkflowInstanceStatus.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── internal/
│ │ │ │ ├── ApiTokenClientInterceptor.html
│ │ │ │ ├── class-use/
│ │ │ │ │ └── ApiTokenClientInterceptor.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ ├── package-use.html
│ │ │ └── runtime/
│ │ │ ├── WorkflowRuntime.html
│ │ │ ├── WorkflowRuntimeBuilder.html
│ │ │ ├── class-use/
│ │ │ │ ├── WorkflowRuntime.html
│ │ │ │ └── WorkflowRuntimeBuilder.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── jquery-ui.overrides.css
│ │ ├── legal/
│ │ │ ├── ADDITIONAL_LICENSE_INFO
│ │ │ ├── ASSEMBLY_EXCEPTION
│ │ │ ├── LICENSE
│ │ │ ├── jquery.md
│ │ │ └── jqueryUI.md
│ │ ├── member-search-index.js
│ │ ├── module-search-index.js
│ │ ├── overview-summary.html
│ │ ├── overview-tree.html
│ │ ├── package-search-index.js
│ │ ├── project-reports.html
│ │ ├── script.js
│ │ ├── search.js
│ │ ├── stylesheet.css
│ │ ├── tag-search-index.js
│ │ └── type-search-index.js
│ ├── deprecated-list.html
│ ├── element-list
│ ├── help-doc.html
│ ├── index-all.html
│ ├── index.html
│ ├── io/
│ │ └── dapr/
│ │ ├── Rule.html
│ │ ├── Topic.html
│ │ ├── actors/
│ │ │ ├── ActorId.html
│ │ │ ├── ActorMethod.html
│ │ │ ├── ActorTrace.html
│ │ │ ├── ActorType.html
│ │ │ ├── ActorUtils.html
│ │ │ ├── class-use/
│ │ │ │ ├── ActorId.html
│ │ │ │ ├── ActorMethod.html
│ │ │ │ ├── ActorTrace.html
│ │ │ │ ├── ActorType.html
│ │ │ │ └── ActorUtils.html
│ │ │ ├── client/
│ │ │ │ ├── ActorClient.html
│ │ │ │ ├── ActorProxy.html
│ │ │ │ ├── ActorProxyBuilder.html
│ │ │ │ ├── class-use/
│ │ │ │ │ ├── ActorClient.html
│ │ │ │ │ ├── ActorProxy.html
│ │ │ │ │ └── ActorProxyBuilder.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ ├── package-use.html
│ │ │ └── runtime/
│ │ │ ├── AbstractActor.html
│ │ │ ├── ActorFactory.html
│ │ │ ├── ActorMethodContext.html
│ │ │ ├── ActorObjectSerializer.html
│ │ │ ├── ActorRuntime.html
│ │ │ ├── ActorRuntimeConfig.html
│ │ │ ├── ActorRuntimeContext.html
│ │ │ ├── ActorStateChange.html
│ │ │ ├── ActorStateChangeKind.html
│ │ │ ├── ActorStateManager.html
│ │ │ ├── ActorTypeConfig.html
│ │ │ ├── Remindable.html
│ │ │ ├── class-use/
│ │ │ │ ├── AbstractActor.html
│ │ │ │ ├── ActorFactory.html
│ │ │ │ ├── ActorMethodContext.html
│ │ │ │ ├── ActorObjectSerializer.html
│ │ │ │ ├── ActorRuntime.html
│ │ │ │ ├── ActorRuntimeConfig.html
│ │ │ │ ├── ActorRuntimeContext.html
│ │ │ │ ├── ActorStateChange.html
│ │ │ │ ├── ActorStateChangeKind.html
│ │ │ │ ├── ActorStateManager.html
│ │ │ │ ├── ActorTypeConfig.html
│ │ │ │ └── Remindable.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── class-use/
│ │ │ ├── Rule.html
│ │ │ └── Topic.html
│ │ ├── client/
│ │ │ ├── DaprClient.html
│ │ │ ├── DaprClientBuilder.html
│ │ │ ├── DaprClientImpl.html
│ │ │ ├── DaprHttp.HttpMethods.html
│ │ │ ├── DaprHttp.Response.html
│ │ │ ├── DaprHttp.html
│ │ │ ├── DaprHttpBuilder.html
│ │ │ ├── DaprPreviewClient.html
│ │ │ ├── Headers.html
│ │ │ ├── ObjectSerializer.html
│ │ │ ├── class-use/
│ │ │ │ ├── DaprClient.html
│ │ │ │ ├── DaprClientBuilder.html
│ │ │ │ ├── DaprClientImpl.html
│ │ │ │ ├── DaprHttp.HttpMethods.html
│ │ │ │ ├── DaprHttp.Response.html
│ │ │ │ ├── DaprHttp.html
│ │ │ │ ├── DaprHttpBuilder.html
│ │ │ │ ├── DaprPreviewClient.html
│ │ │ │ ├── Headers.html
│ │ │ │ └── ObjectSerializer.html
│ │ │ ├── domain/
│ │ │ │ ├── ActorMetadata.html
│ │ │ │ ├── AppConnectionPropertiesHealthMetadata.html
│ │ │ │ ├── AppConnectionPropertiesMetadata.html
│ │ │ │ ├── BulkPublishEntry.html
│ │ │ │ ├── BulkPublishRequest.html
│ │ │ │ ├── BulkPublishResponse.html
│ │ │ │ ├── BulkPublishResponseFailedEntry.html
│ │ │ │ ├── BulkSubscribeAppResponse.html
│ │ │ │ ├── BulkSubscribeAppResponseEntry.html
│ │ │ │ ├── BulkSubscribeAppResponseStatus.html
│ │ │ │ ├── BulkSubscribeMessage.html
│ │ │ │ ├── BulkSubscribeMessageEntry.html
│ │ │ │ ├── CloudEvent.html
│ │ │ │ ├── ComponentMetadata.html
│ │ │ │ ├── ConfigurationItem.html
│ │ │ │ ├── DaprMetadata.html
│ │ │ │ ├── DeleteStateRequest.html
│ │ │ │ ├── ExecuteStateTransactionRequest.html
│ │ │ │ ├── GetBulkSecretRequest.html
│ │ │ │ ├── GetBulkStateRequest.html
│ │ │ │ ├── GetConfigurationRequest.html
│ │ │ │ ├── GetSecretRequest.html
│ │ │ │ ├── GetStateRequest.html
│ │ │ │ ├── HttpEndpointMetadata.html
│ │ │ │ ├── HttpExtension.html
│ │ │ │ ├── InvokeBindingRequest.html
│ │ │ │ ├── InvokeMethodRequest.html
│ │ │ │ ├── LockRequest.html
│ │ │ │ ├── Metadata.html
│ │ │ │ ├── PublishEventRequest.html
│ │ │ │ ├── QueryStateItem.html
│ │ │ │ ├── QueryStateRequest.html
│ │ │ │ ├── QueryStateResponse.html
│ │ │ │ ├── RuleMetadata.html
│ │ │ │ ├── SaveStateRequest.html
│ │ │ │ ├── State.html
│ │ │ │ ├── StateOptions.Concurrency.html
│ │ │ │ ├── StateOptions.Consistency.html
│ │ │ │ ├── StateOptions.StateOptionDurationDeserializer.html
│ │ │ │ ├── StateOptions.StateOptionDurationSerializer.html
│ │ │ │ ├── StateOptions.html
│ │ │ │ ├── SubscribeConfigurationRequest.html
│ │ │ │ ├── SubscribeConfigurationResponse.html
│ │ │ │ ├── SubscriptionMetadata.html
│ │ │ │ ├── TransactionalStateOperation.OperationType.html
│ │ │ │ ├── TransactionalStateOperation.html
│ │ │ │ ├── TransactionalStateRequest.html
│ │ │ │ ├── UnlockRequest.html
│ │ │ │ ├── UnlockResponseStatus.html
│ │ │ │ ├── UnsubscribeConfigurationRequest.html
│ │ │ │ ├── UnsubscribeConfigurationResponse.html
│ │ │ │ ├── class-use/
│ │ │ │ │ ├── ActorMetadata.html
│ │ │ │ │ ├── AppConnectionPropertiesHealthMetadata.html
│ │ │ │ │ ├── AppConnectionPropertiesMetadata.html
│ │ │ │ │ ├── BulkPublishEntry.html
│ │ │ │ │ ├── BulkPublishRequest.html
│ │ │ │ │ ├── BulkPublishResponse.html
│ │ │ │ │ ├── BulkPublishResponseFailedEntry.html
│ │ │ │ │ ├── BulkSubscribeAppResponse.html
│ │ │ │ │ ├── BulkSubscribeAppResponseEntry.html
│ │ │ │ │ ├── BulkSubscribeAppResponseStatus.html
│ │ │ │ │ ├── BulkSubscribeMessage.html
│ │ │ │ │ ├── BulkSubscribeMessageEntry.html
│ │ │ │ │ ├── CloudEvent.html
│ │ │ │ │ ├── ComponentMetadata.html
│ │ │ │ │ ├── ConfigurationItem.html
│ │ │ │ │ ├── DaprMetadata.html
│ │ │ │ │ ├── DeleteStateRequest.html
│ │ │ │ │ ├── ExecuteStateTransactionRequest.html
│ │ │ │ │ ├── GetBulkSecretRequest.html
│ │ │ │ │ ├── GetBulkStateRequest.html
│ │ │ │ │ ├── GetConfigurationRequest.html
│ │ │ │ │ ├── GetSecretRequest.html
│ │ │ │ │ ├── GetStateRequest.html
│ │ │ │ │ ├── HttpEndpointMetadata.html
│ │ │ │ │ ├── HttpExtension.html
│ │ │ │ │ ├── InvokeBindingRequest.html
│ │ │ │ │ ├── InvokeMethodRequest.html
│ │ │ │ │ ├── LockRequest.html
│ │ │ │ │ ├── Metadata.html
│ │ │ │ │ ├── PublishEventRequest.html
│ │ │ │ │ ├── QueryStateItem.html
│ │ │ │ │ ├── QueryStateRequest.html
│ │ │ │ │ ├── QueryStateResponse.html
│ │ │ │ │ ├── RuleMetadata.html
│ │ │ │ │ ├── SaveStateRequest.html
│ │ │ │ │ ├── State.html
│ │ │ │ │ ├── StateOptions.Concurrency.html
│ │ │ │ │ ├── StateOptions.Consistency.html
│ │ │ │ │ ├── StateOptions.StateOptionDurationDeserializer.html
│ │ │ │ │ ├── StateOptions.StateOptionDurationSerializer.html
│ │ │ │ │ ├── StateOptions.html
│ │ │ │ │ ├── SubscribeConfigurationRequest.html
│ │ │ │ │ ├── SubscribeConfigurationResponse.html
│ │ │ │ │ ├── SubscriptionMetadata.html
│ │ │ │ │ ├── TransactionalStateOperation.OperationType.html
│ │ │ │ │ ├── TransactionalStateOperation.html
│ │ │ │ │ ├── TransactionalStateRequest.html
│ │ │ │ │ ├── UnlockRequest.html
│ │ │ │ │ ├── UnlockResponseStatus.html
│ │ │ │ │ ├── UnsubscribeConfigurationRequest.html
│ │ │ │ │ └── UnsubscribeConfigurationResponse.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ ├── package-use.html
│ │ │ │ └── query/
│ │ │ │ ├── Pagination.html
│ │ │ │ ├── Query.html
│ │ │ │ ├── Sorting.Order.html
│ │ │ │ ├── Sorting.html
│ │ │ │ ├── class-use/
│ │ │ │ │ ├── Pagination.html
│ │ │ │ │ ├── Query.html
│ │ │ │ │ ├── Sorting.Order.html
│ │ │ │ │ └── Sorting.html
│ │ │ │ ├── filters/
│ │ │ │ │ ├── AndFilter.html
│ │ │ │ │ ├── EqFilter.html
│ │ │ │ │ ├── Filter.html
│ │ │ │ │ ├── InFilter.html
│ │ │ │ │ ├── OrFilter.html
│ │ │ │ │ ├── class-use/
│ │ │ │ │ │ ├── AndFilter.html
│ │ │ │ │ │ ├── EqFilter.html
│ │ │ │ │ │ ├── Filter.html
│ │ │ │ │ │ ├── InFilter.html
│ │ │ │ │ │ └── OrFilter.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ ├── package-use.html
│ │ │ └── resiliency/
│ │ │ ├── ResiliencyOptions.html
│ │ │ ├── class-use/
│ │ │ │ └── ResiliencyOptions.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── config/
│ │ │ ├── BooleanProperty.html
│ │ │ ├── GenericProperty.html
│ │ │ ├── IntegerProperty.html
│ │ │ ├── MillisecondsDurationProperty.html
│ │ │ ├── Properties.html
│ │ │ ├── Property.html
│ │ │ ├── StringProperty.html
│ │ │ ├── class-use/
│ │ │ │ ├── BooleanProperty.html
│ │ │ │ ├── GenericProperty.html
│ │ │ │ ├── IntegerProperty.html
│ │ │ │ ├── MillisecondsDurationProperty.html
│ │ │ │ ├── Properties.html
│ │ │ │ ├── Property.html
│ │ │ │ └── StringProperty.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── exceptions/
│ │ │ ├── DaprError.html
│ │ │ ├── DaprErrorDetails.ErrorDetailType.html
│ │ │ ├── DaprErrorDetails.html
│ │ │ ├── DaprException.html
│ │ │ ├── class-use/
│ │ │ │ ├── DaprError.html
│ │ │ │ ├── DaprErrorDetails.ErrorDetailType.html
│ │ │ │ ├── DaprErrorDetails.html
│ │ │ │ └── DaprException.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── internal/
│ │ │ ├── grpc/
│ │ │ │ ├── DaprClientGrpcInterceptors.html
│ │ │ │ ├── class-use/
│ │ │ │ │ └── DaprClientGrpcInterceptors.html
│ │ │ │ ├── interceptors/
│ │ │ │ │ ├── DaprApiTokenInterceptor.html
│ │ │ │ │ ├── DaprAppIdInterceptor.html
│ │ │ │ │ ├── DaprTimeoutInterceptor.html
│ │ │ │ │ ├── DaprTracingInterceptor.html
│ │ │ │ │ ├── class-use/
│ │ │ │ │ │ ├── DaprApiTokenInterceptor.html
│ │ │ │ │ │ ├── DaprAppIdInterceptor.html
│ │ │ │ │ │ ├── DaprTimeoutInterceptor.html
│ │ │ │ │ │ └── DaprTracingInterceptor.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── opencensus/
│ │ │ │ ├── GrpcHelper.html
│ │ │ │ ├── class-use/
│ │ │ │ │ └── GrpcHelper.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ └── resiliency/
│ │ │ ├── RetryPolicy.html
│ │ │ ├── TimeoutPolicy.html
│ │ │ ├── class-use/
│ │ │ │ ├── RetryPolicy.html
│ │ │ │ └── TimeoutPolicy.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── package-summary.html
│ │ ├── package-tree.html
│ │ ├── package-use.html
│ │ ├── serializer/
│ │ │ ├── DaprObjectSerializer.html
│ │ │ ├── DefaultObjectSerializer.html
│ │ │ ├── class-use/
│ │ │ │ ├── DaprObjectSerializer.html
│ │ │ │ └── DefaultObjectSerializer.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── utils/
│ │ │ ├── DefaultContentTypeConverter.html
│ │ │ ├── DurationUtils.html
│ │ │ ├── NetworkUtils.html
│ │ │ ├── TypeRef.html
│ │ │ ├── Version.html
│ │ │ ├── class-use/
│ │ │ │ ├── DefaultContentTypeConverter.html
│ │ │ │ ├── DurationUtils.html
│ │ │ │ ├── NetworkUtils.html
│ │ │ │ ├── TypeRef.html
│ │ │ │ └── Version.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── v1/
│ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub.html
│ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub.html
│ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaImplBase.html
│ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaStub.html
│ │ │ ├── AppCallbackAlphaGrpc.AsyncService.html
│ │ │ ├── AppCallbackAlphaGrpc.html
│ │ │ ├── AppCallbackGrpc.AppCallbackBlockingStub.html
│ │ │ ├── AppCallbackGrpc.AppCallbackFutureStub.html
│ │ │ ├── AppCallbackGrpc.AppCallbackImplBase.html
│ │ │ ├── AppCallbackGrpc.AppCallbackStub.html
│ │ │ ├── AppCallbackGrpc.AsyncService.html
│ │ │ ├── AppCallbackGrpc.html
│ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub.html
│ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub.html
│ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase.html
│ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub.html
│ │ │ ├── AppCallbackHealthCheckGrpc.AsyncService.html
│ │ │ ├── AppCallbackHealthCheckGrpc.html
│ │ │ ├── CommonProtos.ConfigurationItem.Builder.html
│ │ │ ├── CommonProtos.ConfigurationItem.html
│ │ │ ├── CommonProtos.ConfigurationItemOrBuilder.html
│ │ │ ├── CommonProtos.Etag.Builder.html
│ │ │ ├── CommonProtos.Etag.html
│ │ │ ├── CommonProtos.EtagOrBuilder.html
│ │ │ ├── CommonProtos.HTTPExtension.Builder.html
│ │ │ ├── CommonProtos.HTTPExtension.Verb.html
│ │ │ ├── CommonProtos.HTTPExtension.html
│ │ │ ├── CommonProtos.HTTPExtensionOrBuilder.html
│ │ │ ├── CommonProtos.InvokeRequest.Builder.html
│ │ │ ├── CommonProtos.InvokeRequest.html
│ │ │ ├── CommonProtos.InvokeRequestOrBuilder.html
│ │ │ ├── CommonProtos.InvokeResponse.Builder.html
│ │ │ ├── CommonProtos.InvokeResponse.html
│ │ │ ├── CommonProtos.InvokeResponseOrBuilder.html
│ │ │ ├── CommonProtos.StateItem.Builder.html
│ │ │ ├── CommonProtos.StateItem.html
│ │ │ ├── CommonProtos.StateItemOrBuilder.html
│ │ │ ├── CommonProtos.StateOptions.Builder.html
│ │ │ ├── CommonProtos.StateOptions.StateConcurrency.html
│ │ │ ├── CommonProtos.StateOptions.StateConsistency.html
│ │ │ ├── CommonProtos.StateOptions.html
│ │ │ ├── CommonProtos.StateOptionsOrBuilder.html
│ │ │ ├── CommonProtos.StreamPayload.Builder.html
│ │ │ ├── CommonProtos.StreamPayload.html
│ │ │ ├── CommonProtos.StreamPayloadOrBuilder.html
│ │ │ ├── CommonProtos.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventRequest.Builder.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventRequest.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventRequestOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfig.Builder.html
│ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfig.html
│ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.HealthCheckResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.HealthCheckResponse.html
│ │ │ ├── DaprAppCallbackProtos.HealthCheckResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.JobEventRequest.Builder.html
│ │ │ ├── DaprAppCallbackProtos.JobEventRequest.html
│ │ │ ├── DaprAppCallbackProtos.JobEventRequestOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.JobEventResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.JobEventResponse.html
│ │ │ ├── DaprAppCallbackProtos.JobEventResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponse.html
│ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponse.html
│ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequest.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequest.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponse.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntry.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventCERequest.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventCERequest.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventCERequestOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventRequest.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventRequest.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventRequestOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicRoutes.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicRoutes.html
│ │ │ ├── DaprAppCallbackProtos.TopicRoutesOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicRule.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicRule.html
│ │ │ ├── DaprAppCallbackProtos.TopicRuleOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicSubscription.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicSubscription.html
│ │ │ ├── DaprAppCallbackProtos.TopicSubscriptionOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.html
│ │ │ ├── DaprGrpc.AsyncService.html
│ │ │ ├── DaprGrpc.DaprBlockingStub.html
│ │ │ ├── DaprGrpc.DaprFutureStub.html
│ │ │ ├── DaprGrpc.DaprImplBase.html
│ │ │ ├── DaprGrpc.DaprStub.html
│ │ │ ├── DaprGrpc.html
│ │ │ ├── DaprProtos.ShutdownRequest.Builder.html
│ │ │ ├── DaprProtos.ShutdownRequest.html
│ │ │ ├── DaprProtos.ShutdownRequestOrBuilder.html
│ │ │ ├── DaprProtos.html
│ │ │ ├── class-use/
│ │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub.html
│ │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub.html
│ │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaImplBase.html
│ │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaStub.html
│ │ │ │ ├── AppCallbackAlphaGrpc.AsyncService.html
│ │ │ │ ├── AppCallbackAlphaGrpc.html
│ │ │ │ ├── AppCallbackGrpc.AppCallbackBlockingStub.html
│ │ │ │ ├── AppCallbackGrpc.AppCallbackFutureStub.html
│ │ │ │ ├── AppCallbackGrpc.AppCallbackImplBase.html
│ │ │ │ ├── AppCallbackGrpc.AppCallbackStub.html
│ │ │ │ ├── AppCallbackGrpc.AsyncService.html
│ │ │ │ ├── AppCallbackGrpc.html
│ │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub.html
│ │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub.html
│ │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase.html
│ │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub.html
│ │ │ │ ├── AppCallbackHealthCheckGrpc.AsyncService.html
│ │ │ │ ├── AppCallbackHealthCheckGrpc.html
│ │ │ │ ├── CommonProtos.ConfigurationItem.Builder.html
│ │ │ │ ├── CommonProtos.ConfigurationItem.html
│ │ │ │ ├── CommonProtos.ConfigurationItemOrBuilder.html
│ │ │ │ ├── CommonProtos.Etag.Builder.html
│ │ │ │ ├── CommonProtos.Etag.html
│ │ │ │ ├── CommonProtos.EtagOrBuilder.html
│ │ │ │ ├── CommonProtos.HTTPExtension.Builder.html
│ │ │ │ ├── CommonProtos.HTTPExtension.Verb.html
│ │ │ │ ├── CommonProtos.HTTPExtension.html
│ │ │ │ ├── CommonProtos.HTTPExtensionOrBuilder.html
│ │ │ │ ├── CommonProtos.InvokeRequest.Builder.html
│ │ │ │ ├── CommonProtos.InvokeRequest.html
│ │ │ │ ├── CommonProtos.InvokeRequestOrBuilder.html
│ │ │ │ ├── CommonProtos.InvokeResponse.Builder.html
│ │ │ │ ├── CommonProtos.InvokeResponse.html
│ │ │ │ ├── CommonProtos.InvokeResponseOrBuilder.html
│ │ │ │ ├── CommonProtos.StateItem.Builder.html
│ │ │ │ ├── CommonProtos.StateItem.html
│ │ │ │ ├── CommonProtos.StateItemOrBuilder.html
│ │ │ │ ├── CommonProtos.StateOptions.Builder.html
│ │ │ │ ├── CommonProtos.StateOptions.StateConcurrency.html
│ │ │ │ ├── CommonProtos.StateOptions.StateConsistency.html
│ │ │ │ ├── CommonProtos.StateOptions.html
│ │ │ │ ├── CommonProtos.StateOptionsOrBuilder.html
│ │ │ │ ├── CommonProtos.StreamPayload.Builder.html
│ │ │ │ ├── CommonProtos.StreamPayload.html
│ │ │ │ ├── CommonProtos.StreamPayloadOrBuilder.html
│ │ │ │ ├── CommonProtos.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventRequest.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventRequest.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventRequestOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfig.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfig.html
│ │ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.HealthCheckResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.HealthCheckResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.HealthCheckResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.JobEventRequest.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.JobEventRequest.html
│ │ │ │ ├── DaprAppCallbackProtos.JobEventRequestOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.JobEventResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.JobEventResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.JobEventResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequest.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequest.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntry.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventCERequest.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventCERequest.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventCERequestOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventRequest.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventRequest.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventRequestOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicRoutes.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicRoutes.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicRoutesOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicRule.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicRule.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicRuleOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicSubscription.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicSubscription.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicSubscriptionOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.html
│ │ │ │ ├── DaprGrpc.AsyncService.html
│ │ │ │ ├── DaprGrpc.DaprBlockingStub.html
│ │ │ │ ├── DaprGrpc.DaprFutureStub.html
│ │ │ │ ├── DaprGrpc.DaprImplBase.html
│ │ │ │ ├── DaprGrpc.DaprStub.html
│ │ │ │ ├── DaprGrpc.html
│ │ │ │ ├── DaprProtos.ShutdownRequest.Builder.html
│ │ │ │ ├── DaprProtos.ShutdownRequest.html
│ │ │ │ ├── DaprProtos.ShutdownRequestOrBuilder.html
│ │ │ │ └── DaprProtos.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ └── workflows/
│ │ ├── Workflow.html
│ │ ├── WorkflowContext.html
│ │ ├── WorkflowStub.html
│ │ ├── class-use/
│ │ │ ├── Workflow.html
│ │ │ ├── WorkflowContext.html
│ │ │ └── WorkflowStub.html
│ │ ├── client/
│ │ │ ├── DaprWorkflowClient.html
│ │ │ ├── WorkflowFailureDetails.html
│ │ │ ├── WorkflowInstanceStatus.html
│ │ │ ├── class-use/
│ │ │ │ ├── DaprWorkflowClient.html
│ │ │ │ ├── WorkflowFailureDetails.html
│ │ │ │ └── WorkflowInstanceStatus.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── internal/
│ │ │ ├── ApiTokenClientInterceptor.html
│ │ │ ├── class-use/
│ │ │ │ └── ApiTokenClientInterceptor.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── package-summary.html
│ │ ├── package-tree.html
│ │ ├── package-use.html
│ │ └── runtime/
│ │ ├── WorkflowRuntime.html
│ │ ├── WorkflowRuntimeBuilder.html
│ │ ├── class-use/
│ │ │ ├── WorkflowRuntime.html
│ │ │ └── WorkflowRuntimeBuilder.html
│ │ ├── package-summary.html
│ │ ├── package-tree.html
│ │ └── package-use.html
│ ├── jquery-ui.overrides.css
│ ├── legal/
│ │ ├── ADDITIONAL_LICENSE_INFO
│ │ ├── ASSEMBLY_EXCEPTION
│ │ ├── LICENSE
│ │ ├── jquery.md
│ │ └── jqueryUI.md
│ ├── member-search-index.js
│ ├── module-search-index.js
│ ├── overview-summary.html
│ ├── overview-tree.html
│ ├── package-search-index.js
│ ├── project-reports.html
│ ├── script.js
│ ├── search.js
│ ├── serialized-form.html
│ ├── stylesheet.css
│ ├── tag-search-index.js
│ └── type-search-index.js
├── durabletask-client/
│ ├── pom.xml
│ └── src/
│ ├── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── durabletask/
│ │ ├── CompositeTaskFailedException.java
│ │ ├── DataConverter.java
│ │ ├── DurableTaskClient.java
│ │ ├── DurableTaskGrpcClient.java
│ │ ├── DurableTaskGrpcClientBuilder.java
│ │ ├── DurableTaskGrpcWorker.java
│ │ ├── DurableTaskGrpcWorkerBuilder.java
│ │ ├── FailureDetails.java
│ │ ├── Helpers.java
│ │ ├── JacksonDataConverter.java
│ │ ├── NewOrchestrationInstanceOptions.java
│ │ ├── NonDeterministicOrchestratorException.java
│ │ ├── OrchestrationMetadata.java
│ │ ├── OrchestrationRunner.java
│ │ ├── OrchestrationRuntimeStatus.java
│ │ ├── OrchestratorFunction.java
│ │ ├── PurgeInstanceCriteria.java
│ │ ├── PurgeResult.java
│ │ ├── RetryContext.java
│ │ ├── RetryHandler.java
│ │ ├── RetryPolicy.java
│ │ ├── Task.java
│ │ ├── TaskActivity.java
│ │ ├── TaskActivityContext.java
│ │ ├── TaskActivityExecutor.java
│ │ ├── TaskActivityFactory.java
│ │ ├── TaskCanceledException.java
│ │ ├── TaskFailedException.java
│ │ ├── TaskOptions.java
│ │ ├── TaskOrchestration.java
│ │ ├── TaskOrchestrationContext.java
│ │ ├── TaskOrchestrationExecutor.java
│ │ ├── TaskOrchestratorResult.java
│ │ ├── interruption/
│ │ │ ├── ContinueAsNewInterruption.java
│ │ │ └── OrchestratorBlockedException.java
│ │ ├── orchestration/
│ │ │ ├── TaskOrchestrationFactories.java
│ │ │ ├── TaskOrchestrationFactory.java
│ │ │ └── exception/
│ │ │ └── VersionNotRegisteredException.java
│ │ ├── runner/
│ │ │ ├── ActivityRunner.java
│ │ │ ├── DurableRunner.java
│ │ │ └── OrchestratorRunner.java
│ │ └── util/
│ │ └── UuidGenerator.java
│ └── test/
│ └── java/
│ └── io/
│ └── dapr/
│ └── durabletask/
│ ├── DurableTaskClientIT.java
│ ├── DurableTaskGrpcClientTlsTest.java
│ ├── DurableTaskGrpcWorkerReconnectTest.java
│ ├── DurableTaskGrpcWorkerShutdownTest.java
│ ├── ErrorHandlingIT.java
│ ├── IntegrationTestBase.java
│ ├── SubOrchestrationCrossAppTest.java
│ └── TaskOptionsTest.java
├── examples/
│ ├── components/
│ │ ├── actors/
│ │ │ └── redis.yaml
│ │ ├── bindings/
│ │ │ └── kafka_bindings.yaml
│ │ ├── configuration/
│ │ │ └── redis_configstore.yaml
│ │ ├── conversation/
│ │ │ └── conversation.yaml
│ │ ├── crypto/
│ │ │ ├── keys/
│ │ │ │ └── .gitkeep
│ │ │ └── localstorage.yaml
│ │ ├── lock/
│ │ │ └── redis_lockstore.yaml
│ │ ├── pubsub/
│ │ │ └── redis_messagebus.yaml
│ │ ├── secrets/
│ │ │ └── local_file.yaml
│ │ ├── state/
│ │ │ ├── mongo.yaml
│ │ │ └── redis.yaml
│ │ └── workflows/
│ │ └── redis.yaml
│ ├── pom.xml
│ ├── proto/
│ │ └── helloworld.proto
│ ├── spotbugs-exclude.xml
│ └── src/
│ └── main/
│ ├── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── examples/
│ │ ├── DaprApplication.java
│ │ ├── DaprConfig.java
│ │ ├── DaprMainApplication.java
│ │ ├── OpenTelemetryConfig.java
│ │ ├── OpenTelemetryInterceptor.java
│ │ ├── OpenTelemetryInterceptorConfig.java
│ │ ├── actors/
│ │ │ ├── DemoActor.java
│ │ │ ├── DemoActorClient.java
│ │ │ ├── DemoActorImpl.java
│ │ │ ├── DemoActorService.java
│ │ │ └── README.md
│ │ ├── baggage/
│ │ │ ├── BaggageClient.java
│ │ │ └── README.md
│ │ ├── bindings/
│ │ │ └── http/
│ │ │ ├── InputBindingController.java
│ │ │ ├── InputBindingExample.java
│ │ │ ├── OutputBindingExample.java
│ │ │ ├── README.md
│ │ │ └── docker-compose-single-kafka.yml
│ │ ├── configuration/
│ │ │ ├── ConfigurationClient.java
│ │ │ └── README.md
│ │ ├── conversation/
│ │ │ ├── AssistantMessageDemo.java
│ │ │ ├── README.md
│ │ │ ├── ToolsCallDemo.java
│ │ │ ├── UsageUtils.java
│ │ │ └── UserMessageDemo.java
│ │ ├── crypto/
│ │ │ ├── CryptoExample.java
│ │ │ ├── README.md
│ │ │ └── StreamingCryptoExample.java
│ │ ├── exception/
│ │ │ ├── Client.java
│ │ │ └── README.md
│ │ ├── invoke/
│ │ │ ├── grpc/
│ │ │ │ ├── HelloWorldClient.java
│ │ │ │ ├── HelloWorldService.java
│ │ │ │ └── README.md
│ │ │ └── http/
│ │ │ ├── DemoService.java
│ │ │ ├── DemoServiceController.java
│ │ │ ├── InvokeClient.java
│ │ │ └── README.md
│ │ ├── jobs/
│ │ │ ├── DemoJobsClient.java
│ │ │ ├── DemoJobsSpringApplication.java
│ │ │ ├── JobsController.java
│ │ │ └── README.md
│ │ ├── lock/
│ │ │ ├── DistributedLockGrpcClient.java
│ │ │ └── README.md
│ │ ├── pubsub/
│ │ │ ├── BulkPublisher.java
│ │ │ ├── CloudEventBulkPublisher.java
│ │ │ ├── CloudEventPublisher.java
│ │ │ ├── Publisher.java
│ │ │ ├── PublisherWithTracing.java
│ │ │ ├── README.md
│ │ │ ├── grpc/
│ │ │ │ ├── Subscriber.java
│ │ │ │ └── SubscriberGrpcService.java
│ │ │ ├── http/
│ │ │ │ ├── Subscriber.java
│ │ │ │ └── SubscriberController.java
│ │ │ └── stream/
│ │ │ ├── README.md
│ │ │ ├── Subscriber.java
│ │ │ └── SubscriberCloudEvent.java
│ │ ├── querystate/
│ │ │ ├── Listing.java
│ │ │ ├── QuerySavedState.java
│ │ │ ├── README.md
│ │ │ └── docker-compose-single-mongo.yml
│ │ ├── secrets/
│ │ │ ├── README.md
│ │ │ ├── SecretClient.java
│ │ │ └── config.yaml
│ │ ├── state/
│ │ │ ├── README.md
│ │ │ ├── StateClient.java
│ │ │ └── docker-compose-single-mongo.yml
│ │ ├── tracing/
│ │ │ ├── InvokeClient.java
│ │ │ ├── README.md
│ │ │ ├── TracingDemoMiddleServiceController.java
│ │ │ ├── TracingDemoService.java
│ │ │ ├── TracingDemoServiceController.java
│ │ │ └── Validation.java
│ │ ├── unittesting/
│ │ │ ├── DaprExampleTest.java
│ │ │ ├── DaprWorkflowExampleTest.java
│ │ │ └── README.md
│ │ └── workflows/
│ │ ├── README.md
│ │ ├── chain/
│ │ │ ├── DemoChainClient.java
│ │ │ ├── DemoChainWorker.java
│ │ │ ├── DemoChainWorkflow.java
│ │ │ └── ToUpperCaseActivity.java
│ │ ├── childworkflow/
│ │ │ ├── DemoChildWorkerflowClient.java
│ │ │ ├── DemoChildWorkflow.java
│ │ │ ├── DemoChildWorkflowWorker.java
│ │ │ ├── DemoWorkflow.java
│ │ │ └── ReverseActivity.java
│ │ ├── compensation/
│ │ │ ├── BookCarActivity.java
│ │ │ ├── BookFlightActivity.java
│ │ │ ├── BookHotelActivity.java
│ │ │ ├── BookTripClient.java
│ │ │ ├── BookTripWorker.java
│ │ │ ├── BookTripWorkflow.java
│ │ │ ├── CancelCarActivity.java
│ │ │ ├── CancelFlightActivity.java
│ │ │ └── CancelHotelActivity.java
│ │ ├── continueasnew/
│ │ │ ├── CleanUpActivity.java
│ │ │ ├── DemoContinueAsNewClient.java
│ │ │ ├── DemoContinueAsNewWorker.java
│ │ │ └── DemoContinueAsNewWorkflow.java
│ │ ├── externalevent/
│ │ │ ├── ApproveActivity.java
│ │ │ ├── DemoExternalEventClient.java
│ │ │ ├── DemoExternalEventWorker.java
│ │ │ ├── DemoExternalEventWorkflow.java
│ │ │ └── DenyActivity.java
│ │ ├── faninout/
│ │ │ ├── CountWordsActivity.java
│ │ │ ├── DemoFanInOutClient.java
│ │ │ ├── DemoFanInOutWorker.java
│ │ │ └── DemoFanInOutWorkflow.java
│ │ ├── multiapp/
│ │ │ ├── App2TransformActivity.java
│ │ │ ├── App2Worker.java
│ │ │ ├── App3FinalizeActivity.java
│ │ │ ├── App3Worker.java
│ │ │ ├── MultiAppWorker.java
│ │ │ ├── MultiAppWorkflow.java
│ │ │ └── MultiAppWorkflowClient.java
│ │ ├── suspendresume/
│ │ │ ├── DemoSuspendResumeClient.java
│ │ │ └── DemoSuspendResumeWorker.java
│ │ └── utils/
│ │ ├── PropertyUtils.java
│ │ └── RetryUtils.java
│ └── resources/
│ └── logback.xml
├── mise.toml
├── mvnw
├── mvnw.cmd
├── pom.xml
├── sdk/
│ ├── pom.xml
│ ├── spotbugs-exclude.xml
│ └── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ ├── Rule.java
│ │ │ ├── Topic.java
│ │ │ ├── client/
│ │ │ │ ├── AbstractDaprClient.java
│ │ │ │ ├── DaprClient.java
│ │ │ │ ├── DaprClientBuilder.java
│ │ │ │ ├── DaprClientImpl.java
│ │ │ │ ├── DaprHttp.java
│ │ │ │ ├── DaprHttpBuilder.java
│ │ │ │ ├── DaprPreviewClient.java
│ │ │ │ ├── GrpcChannelFacade.java
│ │ │ │ ├── Headers.java
│ │ │ │ ├── ObjectSerializer.java
│ │ │ │ ├── ProtobufValueHelper.java
│ │ │ │ ├── Subscription.java
│ │ │ │ ├── SubscriptionListener.java
│ │ │ │ ├── domain/
│ │ │ │ │ ├── ActorMetadata.java
│ │ │ │ │ ├── AppConnectionPropertiesHealthMetadata.java
│ │ │ │ │ ├── AppConnectionPropertiesMetadata.java
│ │ │ │ │ ├── AssistantMessage.java
│ │ │ │ │ ├── BulkPublishEntry.java
│ │ │ │ │ ├── BulkPublishRequest.java
│ │ │ │ │ ├── BulkPublishResponse.java
│ │ │ │ │ ├── BulkPublishResponseFailedEntry.java
│ │ │ │ │ ├── BulkSubscribeAppResponse.java
│ │ │ │ │ ├── BulkSubscribeAppResponseEntry.java
│ │ │ │ │ ├── BulkSubscribeAppResponseStatus.java
│ │ │ │ │ ├── BulkSubscribeMessage.java
│ │ │ │ │ ├── BulkSubscribeMessageEntry.java
│ │ │ │ │ ├── CloudEvent.java
│ │ │ │ │ ├── ComponentMetadata.java
│ │ │ │ │ ├── ConfigurationItem.java
│ │ │ │ │ ├── ConstantFailurePolicy.java
│ │ │ │ │ ├── ConversationInput.java
│ │ │ │ │ ├── ConversationInputAlpha2.java
│ │ │ │ │ ├── ConversationMessage.java
│ │ │ │ │ ├── ConversationMessageContent.java
│ │ │ │ │ ├── ConversationMessageRole.java
│ │ │ │ │ ├── ConversationOutput.java
│ │ │ │ │ ├── ConversationRequest.java
│ │ │ │ │ ├── ConversationRequestAlpha2.java
│ │ │ │ │ ├── ConversationResponse.java
│ │ │ │ │ ├── ConversationResponseAlpha2.java
│ │ │ │ │ ├── ConversationResultAlpha2.java
│ │ │ │ │ ├── ConversationResultChoices.java
│ │ │ │ │ ├── ConversationResultCompletionUsage.java
│ │ │ │ │ ├── ConversationResultCompletionUsageDetails.java
│ │ │ │ │ ├── ConversationResultMessage.java
│ │ │ │ │ ├── ConversationResultPromptUsageDetails.java
│ │ │ │ │ ├── ConversationToolCalls.java
│ │ │ │ │ ├── ConversationToolCallsOfFunction.java
│ │ │ │ │ ├── ConversationTools.java
│ │ │ │ │ ├── ConversationToolsFunction.java
│ │ │ │ │ ├── DaprMetadata.java
│ │ │ │ │ ├── DecryptRequestAlpha1.java
│ │ │ │ │ ├── DeleteJobRequest.java
│ │ │ │ │ ├── DeleteStateRequest.java
│ │ │ │ │ ├── DeveloperMessage.java
│ │ │ │ │ ├── DropFailurePolicy.java
│ │ │ │ │ ├── EncryptRequestAlpha1.java
│ │ │ │ │ ├── ExecuteStateTransactionRequest.java
│ │ │ │ │ ├── FailurePolicy.java
│ │ │ │ │ ├── FailurePolicyType.java
│ │ │ │ │ ├── GetBulkSecretRequest.java
│ │ │ │ │ ├── GetBulkStateRequest.java
│ │ │ │ │ ├── GetConfigurationRequest.java
│ │ │ │ │ ├── GetJobRequest.java
│ │ │ │ │ ├── GetJobResponse.java
│ │ │ │ │ ├── GetSecretRequest.java
│ │ │ │ │ ├── GetStateRequest.java
│ │ │ │ │ ├── HttpEndpointMetadata.java
│ │ │ │ │ ├── HttpExtension.java
│ │ │ │ │ ├── InvokeBindingRequest.java
│ │ │ │ │ ├── InvokeMethodRequest.java
│ │ │ │ │ ├── JobSchedule.java
│ │ │ │ │ ├── LockRequest.java
│ │ │ │ │ ├── Metadata.java
│ │ │ │ │ ├── PublishEventRequest.java
│ │ │ │ │ ├── QueryStateItem.java
│ │ │ │ │ ├── QueryStateRequest.java
│ │ │ │ │ ├── QueryStateResponse.java
│ │ │ │ │ ├── RuleMetadata.java
│ │ │ │ │ ├── SaveStateRequest.java
│ │ │ │ │ ├── ScheduleJobRequest.java
│ │ │ │ │ ├── State.java
│ │ │ │ │ ├── StateOptions.java
│ │ │ │ │ ├── SubscribeConfigurationRequest.java
│ │ │ │ │ ├── SubscribeConfigurationResponse.java
│ │ │ │ │ ├── SubscriptionMetadata.java
│ │ │ │ │ ├── SystemMessage.java
│ │ │ │ │ ├── ToolMessage.java
│ │ │ │ │ ├── TransactionalStateOperation.java
│ │ │ │ │ ├── TransactionalStateRequest.java
│ │ │ │ │ ├── UnlockRequest.java
│ │ │ │ │ ├── UnlockResponseStatus.java
│ │ │ │ │ ├── UnsubscribeConfigurationRequest.java
│ │ │ │ │ ├── UnsubscribeConfigurationResponse.java
│ │ │ │ │ ├── UserMessage.java
│ │ │ │ │ └── query/
│ │ │ │ │ ├── Pagination.java
│ │ │ │ │ ├── Query.java
│ │ │ │ │ ├── Sorting.java
│ │ │ │ │ └── filters/
│ │ │ │ │ ├── AndFilter.java
│ │ │ │ │ ├── EqFilter.java
│ │ │ │ │ ├── Filter.java
│ │ │ │ │ ├── InFilter.java
│ │ │ │ │ └── OrFilter.java
│ │ │ │ └── resiliency/
│ │ │ │ └── ResiliencyOptions.java
│ │ │ ├── config/
│ │ │ │ ├── BooleanProperty.java
│ │ │ │ ├── GenericProperty.java
│ │ │ │ ├── IntegerProperty.java
│ │ │ │ ├── MillisecondsDurationProperty.java
│ │ │ │ ├── Properties.java
│ │ │ │ ├── Property.java
│ │ │ │ ├── SecondsDurationProperty.java
│ │ │ │ └── StringProperty.java
│ │ │ ├── exceptions/
│ │ │ │ ├── DaprError.java
│ │ │ │ ├── DaprErrorDetails.java
│ │ │ │ └── DaprException.java
│ │ │ ├── internal/
│ │ │ │ ├── exceptions/
│ │ │ │ │ └── DaprHttpException.java
│ │ │ │ ├── grpc/
│ │ │ │ │ ├── DaprClientGrpcInterceptors.java
│ │ │ │ │ └── interceptors/
│ │ │ │ │ ├── DaprApiTokenInterceptor.java
│ │ │ │ │ ├── DaprAppIdInterceptor.java
│ │ │ │ │ ├── DaprBaggageInterceptor.java
│ │ │ │ │ ├── DaprMetadataReceiverInterceptor.java
│ │ │ │ │ ├── DaprTimeoutInterceptor.java
│ │ │ │ │ └── DaprTracingInterceptor.java
│ │ │ │ ├── opencensus/
│ │ │ │ │ ├── BigendianEncoding.java
│ │ │ │ │ ├── BinaryFormatImpl.java
│ │ │ │ │ ├── GrpcHelper.java
│ │ │ │ │ ├── SpanContext.java
│ │ │ │ │ ├── SpanId.java
│ │ │ │ │ ├── TraceContextFormat.java
│ │ │ │ │ ├── TraceId.java
│ │ │ │ │ ├── TraceOptions.java
│ │ │ │ │ ├── Tracestate.java
│ │ │ │ │ └── Utils.java
│ │ │ │ ├── resiliency/
│ │ │ │ │ ├── RetryPolicy.java
│ │ │ │ │ └── TimeoutPolicy.java
│ │ │ │ └── subscription/
│ │ │ │ └── EventSubscriberStreamObserver.java
│ │ │ ├── serializer/
│ │ │ │ ├── CustomizableObjectSerializer.java
│ │ │ │ ├── DaprObjectSerializer.java
│ │ │ │ └── DefaultObjectSerializer.java
│ │ │ └── utils/
│ │ │ ├── DefaultContentTypeConverter.java
│ │ │ ├── DurationUtils.java
│ │ │ ├── FailurePolicyUtils.java
│ │ │ ├── NetworkUtils.java
│ │ │ ├── ProtobufUtils.java
│ │ │ ├── TypeRef.java
│ │ │ └── Version.java
│ │ └── resources/
│ │ └── sdk_version.properties
│ └── test/
│ ├── java/
│ │ └── io/
│ │ └── dapr/
│ │ ├── client/
│ │ │ ├── CloudEventCustom.java
│ │ │ ├── CloudEventCustomTest.java
│ │ │ ├── CloudEventTest.java
│ │ │ ├── DaprClientBuilderTest.java
│ │ │ ├── DaprClientGrpcBaggageTest.java
│ │ │ ├── DaprClientGrpcTelemetryTest.java
│ │ │ ├── DaprClientGrpcTest.java
│ │ │ ├── DaprClientHttpTest.java
│ │ │ ├── DaprClientTestBuilder.java
│ │ │ ├── DaprExceptionTest.java
│ │ │ ├── DaprHttpBuilderTest.java
│ │ │ ├── DaprHttpStub.java
│ │ │ ├── DaprHttpTest.java
│ │ │ ├── DaprPreviewClientGrpcTest.java
│ │ │ ├── MockHttpResponse.java
│ │ │ ├── ProtobufValueHelperTest.java
│ │ │ └── domain/
│ │ │ ├── BulkPublishEntryTest.java
│ │ │ ├── BulkPublishRequestTest.java
│ │ │ ├── ConfigurationItemTest.java
│ │ │ ├── DecryptRequestAlpha1Test.java
│ │ │ ├── DeleteStateRequestTest.java
│ │ │ ├── EncryptRequestAlpha1Test.java
│ │ │ ├── ExecuteStateTransactionRequestTest.java
│ │ │ ├── GetBulkSecretRequestTest.java
│ │ │ ├── GetBulkStateRequestTest.java
│ │ │ ├── GetSecretRequestTest.java
│ │ │ ├── GetStateRequestTest.java
│ │ │ ├── HttpExtensionTest.java
│ │ │ ├── InvokeBindingRequestTest.java
│ │ │ ├── JobsScheduleTest.java
│ │ │ ├── PublishEventRequestTest.java
│ │ │ ├── QueryStateRequestTest.java
│ │ │ ├── SaveStateRequestTest.java
│ │ │ ├── StateTest.java
│ │ │ ├── TestData.java
│ │ │ ├── TransactionalStateRequestTest.java
│ │ │ └── query/
│ │ │ ├── QueryTest.java
│ │ │ └── filters/
│ │ │ ├── AndFilterTest.java
│ │ │ ├── EqFilterTest.java
│ │ │ ├── InFilterTest.java
│ │ │ └── OrFilterTest.java
│ │ ├── config/
│ │ │ └── IntegerPropertyTest.java
│ │ ├── internal/
│ │ │ └── subscription/
│ │ │ └── EventSubscriberStreamObserverTest.java
│ │ ├── resiliency/
│ │ │ └── RetryPolicyTest.java
│ │ ├── runtime/
│ │ │ ├── Dapr.java
│ │ │ ├── DaprRuntime.java
│ │ │ ├── DaprRuntimeTest.java
│ │ │ ├── MethodListener.java
│ │ │ └── TopicListener.java
│ │ ├── serializer/
│ │ │ ├── CustomObjectSerializerTest.java
│ │ │ ├── DefaultObjectSerializerTest.java
│ │ │ └── FailurePolicySerializerTest.java
│ │ └── utils/
│ │ ├── DefaultContentTypeConverterTest.java
│ │ ├── DurationUtilsTest.java
│ │ ├── NetworkUtilsTest.java
│ │ ├── TestUtils.java
│ │ └── TypeRefTest.java
│ └── resources/
│ ├── certs/
│ │ ├── test-ca-cert.key
│ │ ├── test-ca-cert.pem
│ │ ├── test-cert.key
│ │ └── test-cert.pem
│ └── mockito-extensions/
│ └── org.mockito.plugins.MockMaker
├── sdk-actors/
│ ├── pom.xml
│ ├── spotbugs-exclude.xml
│ └── src/
│ ├── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── actors/
│ │ ├── ActorId.java
│ │ ├── ActorMethod.java
│ │ ├── ActorTrace.java
│ │ ├── ActorType.java
│ │ ├── ActorUtils.java
│ │ ├── Undefined.java
│ │ ├── client/
│ │ │ ├── ActorClient.java
│ │ │ ├── ActorProxy.java
│ │ │ ├── ActorProxyBuilder.java
│ │ │ ├── ActorProxyImpl.java
│ │ │ ├── DaprClient.java
│ │ │ └── DaprClientImpl.java
│ │ └── runtime/
│ │ ├── AbstractActor.java
│ │ ├── ActorCallType.java
│ │ ├── ActorFactory.java
│ │ ├── ActorManager.java
│ │ ├── ActorMethodContext.java
│ │ ├── ActorMethodInfoMap.java
│ │ ├── ActorObjectSerializer.java
│ │ ├── ActorReminderParams.java
│ │ ├── ActorRuntime.java
│ │ ├── ActorRuntimeConfig.java
│ │ ├── ActorRuntimeContext.java
│ │ ├── ActorStateChange.java
│ │ ├── ActorStateChangeKind.java
│ │ ├── ActorStateManager.java
│ │ ├── ActorStateOperation.java
│ │ ├── ActorTimerParams.java
│ │ ├── ActorTypeConfig.java
│ │ ├── ActorTypeInformation.java
│ │ ├── ActorTypeUtilities.java
│ │ ├── DaprClient.java
│ │ ├── DaprClientImpl.java
│ │ ├── DaprStateAsyncProvider.java
│ │ ├── DefaultActorFactory.java
│ │ └── Remindable.java
│ └── test/
│ ├── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── actors/
│ │ ├── ActorIdTest.java
│ │ ├── TestUtils.java
│ │ ├── client/
│ │ │ ├── ActorProxyBuilderTest.java
│ │ │ ├── ActorProxyImplForTests.java
│ │ │ ├── ActorProxyImplTest.java
│ │ │ ├── DaprClientStub.java
│ │ │ └── DaprGrpcClientTest.java
│ │ └── runtime/
│ │ ├── ActorCustomSerializerTest.java
│ │ ├── ActorManagerTest.java
│ │ ├── ActorMethodInfoMapTest.java
│ │ ├── ActorNoStateTest.java
│ │ ├── ActorReminderParamsTest.java
│ │ ├── ActorRuntimeTest.java
│ │ ├── ActorStatefulTest.java
│ │ ├── ActorTimerTest.java
│ │ ├── ActorTypeInformationTest.java
│ │ ├── ActorTypeUtilitiesTest.java
│ │ ├── DaprGrpcClientTest.java
│ │ ├── DaprInMemoryStateProvider.java
│ │ ├── DaprStateAsyncProviderTest.java
│ │ ├── DefaultActorFactoryTest.java
│ │ ├── DerivedActorTest.java
│ │ ├── JavaSerializer.java
│ │ └── ThrowFromPreAndPostActorMethodsTest.java
│ └── resources/
│ └── mockito-extensions/
│ └── org.mockito.plugins.MockMaker
├── sdk-autogen/
│ ├── pom.xml
│ └── src/
│ ├── main/
│ │ └── java/
│ │ └── .keepme
│ └── test/
│ └── java/
│ └── .keepme
├── sdk-bom/
│ └── pom.xml
├── sdk-springboot/
│ ├── pom.xml
│ ├── spotbugs-exclude.xml
│ └── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ ├── DaprAutoConfiguration.java
│ │ │ ├── DaprBeanPostProcessor.java
│ │ │ ├── DaprController.java
│ │ │ ├── DaprRuntime.java
│ │ │ ├── DaprSubscriptionBuilder.java
│ │ │ ├── DaprTopicBulkSubscribe.java
│ │ │ ├── DaprTopicKey.java
│ │ │ ├── DaprTopicRoutes.java
│ │ │ ├── DaprTopicRule.java
│ │ │ ├── DaprTopicSubscription.java
│ │ │ └── annotations/
│ │ │ └── BulkSubscribe.java
│ │ └── resources/
│ │ └── META-INF/
│ │ └── spring/
│ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports
│ └── test/
│ └── java/
│ └── io/
│ └── dapr/
│ └── springboot/
│ ├── DaprBeanPostProcessorSubscribeTest.java
│ ├── DaprBeanPostProcessorTest.java
│ ├── DaprRuntimeTest.java
│ ├── DaprTopicBulkSubscribeTest.java
│ ├── MockController.java
│ ├── MockControllerNoClazzAnnotation.java
│ ├── MockControllerWithSubscribe.java
│ └── MockStringValueResolver.java
├── sdk-tests/
│ ├── .hashicorp_vault_token
│ ├── components/
│ │ ├── http_binding.yaml
│ │ ├── kafka_bindings.yaml
│ │ ├── mongo-statestore.yml
│ │ ├── pubsub.yaml
│ │ ├── redisconfigstore.yaml
│ │ ├── resiliency.yaml
│ │ ├── secret.json
│ │ ├── secretstore.yaml
│ │ └── statestore.yaml
│ ├── configurations/
│ │ └── configuration.yaml
│ ├── deploy/
│ │ └── local-test.yml
│ ├── pom.xml
│ ├── proto/
│ │ └── methodinvokeservice.proto
│ └── src/
│ └── test/
│ ├── java/
│ │ └── io/
│ │ └── dapr/
│ │ ├── actors/
│ │ │ └── runtime/
│ │ │ └── DaprClientHttpUtils.java
│ │ ├── grpc/
│ │ │ └── GrpcHealthCheckService.java
│ │ ├── it/
│ │ │ ├── AppRun.java
│ │ │ ├── BaseIT.java
│ │ │ ├── Command.java
│ │ │ ├── DaprPorts.java
│ │ │ ├── DaprRun.java
│ │ │ ├── DaprRunConfig.java
│ │ │ ├── Retry.java
│ │ │ ├── Stoppable.java
│ │ │ ├── TestUtils.java
│ │ │ ├── ToxiProxyRun.java
│ │ │ ├── actors/
│ │ │ │ ├── ActivationDeactivationIT.java
│ │ │ │ ├── ActorExceptionIT.java
│ │ │ │ ├── ActorMethodNameIT.java
│ │ │ │ ├── ActorReminderFailoverIT.java
│ │ │ │ ├── ActorReminderRecoveryIT.java
│ │ │ │ ├── ActorSdkResiliencyIT.java
│ │ │ │ ├── ActorStateIT.java
│ │ │ │ ├── ActorTimerRecoveryIT.java
│ │ │ │ ├── ActorTurnBasedConcurrencyIT.java
│ │ │ │ ├── MethodEntryTracker.java
│ │ │ │ ├── MyActorTestUtils.java
│ │ │ │ ├── app/
│ │ │ │ │ ├── ActorReminderDataParam.java
│ │ │ │ │ ├── MyActor.java
│ │ │ │ │ ├── MyActorBase.java
│ │ │ │ │ ├── MyActorBinaryImpl.java
│ │ │ │ │ ├── MyActorObjectImpl.java
│ │ │ │ │ ├── MyActorService.java
│ │ │ │ │ ├── MyActorStringImpl.java
│ │ │ │ │ ├── MyObject.java
│ │ │ │ │ └── TestApplication.java
│ │ │ │ └── services/
│ │ │ │ └── springboot/
│ │ │ │ ├── DaprApplication.java
│ │ │ │ ├── DemoActor.java
│ │ │ │ ├── DemoActorImpl.java
│ │ │ │ ├── DemoActorService.java
│ │ │ │ ├── StatefulActor.java
│ │ │ │ ├── StatefulActorImpl.java
│ │ │ │ └── StatefulActorService.java
│ │ │ ├── api/
│ │ │ │ └── ApiIT.java
│ │ │ ├── binding/
│ │ │ │ └── http/
│ │ │ │ ├── BindingIT.java
│ │ │ │ ├── InputBindingController.java
│ │ │ │ └── InputBindingService.java
│ │ │ ├── configuration/
│ │ │ │ └── ConfigurationClientIT.java
│ │ │ ├── methodinvoke/
│ │ │ │ ├── grpc/
│ │ │ │ │ ├── MethodInvokeIT.java
│ │ │ │ │ └── MethodInvokeService.java
│ │ │ │ └── http/
│ │ │ │ ├── MethodInvokeController.java
│ │ │ │ ├── MethodInvokeIT.java
│ │ │ │ ├── MethodInvokeService.java
│ │ │ │ └── Person.java
│ │ │ ├── pubsub/
│ │ │ │ ├── http/
│ │ │ │ │ ├── PubSubIT.java
│ │ │ │ │ ├── SubscriberController.java
│ │ │ │ │ └── SubscriberService.java
│ │ │ │ └── stream/
│ │ │ │ └── PubSubStreamIT.java
│ │ │ ├── resiliency/
│ │ │ │ ├── SdkResiliencyIT.java
│ │ │ │ └── WaitForSidecarIT.java
│ │ │ ├── secrets/
│ │ │ │ └── SecretsClientIT.java
│ │ │ ├── spring/
│ │ │ │ ├── data/
│ │ │ │ │ ├── CustomMySQLContainer.java
│ │ │ │ │ ├── DaprKeyValueRepositoryIT.java
│ │ │ │ │ ├── DaprSpringDataConstants.java
│ │ │ │ │ ├── MySQLDaprKeyValueTemplateIT.java
│ │ │ │ │ ├── PostgreSQLDaprKeyValueTemplateIT.java
│ │ │ │ │ ├── TestDaprSpringDataConfiguration.java
│ │ │ │ │ ├── TestType.java
│ │ │ │ │ └── TestTypeRepository.java
│ │ │ │ └── messaging/
│ │ │ │ ├── DaprSpringMessagingIT.java
│ │ │ │ ├── TestApplication.java
│ │ │ │ └── TestRestController.java
│ │ │ ├── state/
│ │ │ │ ├── AbstractStateClientIT.java
│ │ │ │ ├── GRPCStateClientIT.java
│ │ │ │ ├── HelloWorldClientIT.java
│ │ │ │ ├── HelloWorldGrpcStateService.java
│ │ │ │ └── MyData.java
│ │ │ ├── testcontainers/
│ │ │ │ ├── ContainerConstants.java
│ │ │ │ ├── DaprClientConfiguration.java
│ │ │ │ ├── DaprClientFactory.java
│ │ │ │ ├── DaprPreviewClientConfiguration.java
│ │ │ │ ├── SubscriptionsRestController.java
│ │ │ │ ├── actors/
│ │ │ │ │ ├── DaprActorsIT.java
│ │ │ │ │ ├── TestActor.java
│ │ │ │ │ ├── TestActorImpl.java
│ │ │ │ │ ├── TestActorsApplication.java
│ │ │ │ │ └── TestDaprActorsConfiguration.java
│ │ │ │ ├── conversations/
│ │ │ │ │ ├── DaprConversationAlpha2IT.java
│ │ │ │ │ ├── DaprConversationIT.java
│ │ │ │ │ └── TestConversationApplication.java
│ │ │ │ ├── core/
│ │ │ │ │ ├── DaprContainerIT.java
│ │ │ │ │ ├── DaprPlacementContainerIT.java
│ │ │ │ │ └── DaprSchedulerContainerIT.java
│ │ │ │ ├── crypto/
│ │ │ │ │ └── DaprPreviewClientCryptoIT.java
│ │ │ │ ├── jobs/
│ │ │ │ │ ├── DaprJobsIT.java
│ │ │ │ │ └── TestJobsApplication.java
│ │ │ │ ├── pubsub/
│ │ │ │ │ ├── http/
│ │ │ │ │ │ ├── DaprPubSubIT.java
│ │ │ │ │ │ ├── SubscriberController.java
│ │ │ │ │ │ └── TestPubSubApplication.java
│ │ │ │ │ └── outbox/
│ │ │ │ │ ├── DaprPubSubOutboxIT.java
│ │ │ │ │ ├── Product.java
│ │ │ │ │ ├── ProductWebhookController.java
│ │ │ │ │ └── TestPubsubOutboxApplication.java
│ │ │ │ └── workflows/
│ │ │ │ ├── DaprWorkflowsIT.java
│ │ │ │ ├── FirstActivity.java
│ │ │ │ ├── KeyStore.java
│ │ │ │ ├── SecondActivity.java
│ │ │ │ ├── TaskExecutionIdActivity.java
│ │ │ │ ├── TestExecutionKeysWorkflow.java
│ │ │ │ ├── TestNamedActivitiesWorkflow.java
│ │ │ │ ├── TestWorkflow.java
│ │ │ │ ├── TestWorkflowPayload.java
│ │ │ │ ├── TestWorkflowsApplication.java
│ │ │ │ ├── TestWorkflowsConfiguration.java
│ │ │ │ ├── multiapp/
│ │ │ │ │ ├── App2TransformActivity.java
│ │ │ │ │ ├── App2Worker.java
│ │ │ │ │ ├── App3FinalizeActivity.java
│ │ │ │ │ ├── App3Worker.java
│ │ │ │ │ ├── ChildTransformActivity.java
│ │ │ │ │ ├── MultiAppWorker.java
│ │ │ │ │ ├── MultiAppWorkflow.java
│ │ │ │ │ ├── SubOrchestrationChildWorker.java
│ │ │ │ │ ├── SubOrchestrationChildWorkflow.java
│ │ │ │ │ ├── SubOrchestrationParentWorker.java
│ │ │ │ │ ├── SubOrchestrationParentWorkflow.java
│ │ │ │ │ ├── WorkflowsMultiAppCallActivityIT.java
│ │ │ │ │ └── WorkflowsMultiAppSubOrchestrationIT.java
│ │ │ │ └── version/
│ │ │ │ ├── full/
│ │ │ │ │ ├── FullVersioningWorkflowsIT.java
│ │ │ │ │ ├── VersionedWorkflows.java
│ │ │ │ │ ├── WorkflowV1Worker.java
│ │ │ │ │ └── WorkflowV2Worker.java
│ │ │ │ └── patch/
│ │ │ │ ├── PatchVersioningWorkflowsIT.java
│ │ │ │ ├── PatchedWorkflows.java
│ │ │ │ ├── WorkflowV1Worker.java
│ │ │ │ └── WorkflowV2Worker.java
│ │ │ └── tracing/
│ │ │ ├── OpenTelemetry.java
│ │ │ ├── Validation.java
│ │ │ ├── grpc/
│ │ │ │ ├── Service.java
│ │ │ │ └── TracingIT.java
│ │ │ └── http/
│ │ │ ├── Controller.java
│ │ │ ├── OpenTelemetryConfig.java
│ │ │ ├── OpenTelemetryInterceptor.java
│ │ │ ├── OpenTelemetryInterceptorConfig.java
│ │ │ ├── Service.java
│ │ │ └── TracingIT.java
│ │ └── testcontainers/
│ │ └── internal/
│ │ ├── DaprContainerFactory.java
│ │ ├── DaprSidecarContainer.java
│ │ └── spring/
│ │ ├── DaprSpringBootContextInitializer.java
│ │ ├── DaprSpringBootExtension.java
│ │ └── DaprSpringBootTest.java
│ └── resources/
│ ├── logback.xml
│ └── query.json
├── sdk-workflows/
│ ├── pom.xml
│ ├── spotbugs-exclude.xml
│ └── src/
│ ├── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── workflows/
│ │ ├── Workflow.java
│ │ ├── WorkflowActivity.java
│ │ ├── WorkflowActivityContext.java
│ │ ├── WorkflowContext.java
│ │ ├── WorkflowStub.java
│ │ ├── WorkflowTaskOptions.java
│ │ ├── WorkflowTaskRetryContext.java
│ │ ├── WorkflowTaskRetryHandler.java
│ │ ├── WorkflowTaskRetryPolicy.java
│ │ ├── client/
│ │ │ ├── DaprWorkflowClient.java
│ │ │ ├── NewWorkflowOptions.java
│ │ │ ├── WorkflowFailureDetails.java
│ │ │ ├── WorkflowInstanceStatus.java
│ │ │ ├── WorkflowRuntimeStatus.java
│ │ │ └── WorkflowState.java
│ │ ├── internal/
│ │ │ └── ApiTokenClientInterceptor.java
│ │ └── runtime/
│ │ ├── DefaultWorkflowActivityContext.java
│ │ ├── DefaultWorkflowContext.java
│ │ ├── DefaultWorkflowFailureDetails.java
│ │ ├── DefaultWorkflowInstanceStatus.java
│ │ ├── DefaultWorkflowState.java
│ │ ├── WorkflowActivityClassWrapper.java
│ │ ├── WorkflowActivityInstanceWrapper.java
│ │ ├── WorkflowClassWrapper.java
│ │ ├── WorkflowInstanceWrapper.java
│ │ ├── WorkflowRuntime.java
│ │ ├── WorkflowRuntimeBuilder.java
│ │ ├── WorkflowRuntimeStatusConverter.java
│ │ └── WorkflowVersionWrapper.java
│ └── test/
│ └── java/
│ └── io/
│ └── dapr/
│ └── workflows/
│ ├── DefaultWorkflowContextTest.java
│ ├── WorkflowTaskOptionsTest.java
│ ├── WorkflowTest.java
│ ├── client/
│ │ ├── DaprWorkflowClientTest.java
│ │ ├── NewWorkflowOptionsTest.java
│ │ ├── WorkflowInstanceStatusTest.java
│ │ └── WorkflowStateTest.java
│ └── runtime/
│ ├── DefaultWorkflowActivityContextTest.java
│ ├── WorkflowActivityClassWrapperTest.java
│ ├── WorkflowActivityInstanceWrapperTest.java
│ ├── WorkflowClassWrapperTest.java
│ ├── WorkflowInstanceWrapperTest.java
│ ├── WorkflowRuntimeBuilderTest.java
│ ├── WorkflowRuntimeStatusConverterTest.java
│ ├── WorkflowRuntimeTest.java
│ └── WorkflowVersionWrapperTest.java
├── settings.xml
├── spotbugs-exclude.xml
├── spring-boot-4-examples/
│ ├── consumer-app/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot4/
│ │ │ │ └── examples/
│ │ │ │ └── consumer/
│ │ │ │ ├── ConsumerApplication.java
│ │ │ │ ├── Order.java
│ │ │ │ └── SubscriberRestController.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── springboot4/
│ │ └── examples/
│ │ └── consumer/
│ │ ├── ConsumerAppIT.java
│ │ ├── ConsumerAppTestConfiguration.java
│ │ ├── DaprTestContainersConfig.java
│ │ └── TestConsumerApplication.java
│ ├── pom.xml
│ ├── producer-app/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot4/
│ │ │ │ └── examples/
│ │ │ │ └── producer/
│ │ │ │ ├── Customer.java
│ │ │ │ ├── CustomerStore.java
│ │ │ │ ├── CustomersRestController.java
│ │ │ │ ├── Jackson3SerializerConfiguration.java
│ │ │ │ ├── Order.java
│ │ │ │ ├── OrderDTO.java
│ │ │ │ ├── OrderRepository.java
│ │ │ │ ├── OrdersRestController.java
│ │ │ │ ├── ProducerAppConfiguration.java
│ │ │ │ ├── ProducerApplication.java
│ │ │ │ └── workflow/
│ │ │ │ ├── CustomerFollowupActivity.java
│ │ │ │ ├── CustomerWorkflow.java
│ │ │ │ └── RegisterCustomerActivity.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── springboot4/
│ │ └── examples/
│ │ └── producer/
│ │ ├── DaprTestContainersConfig.java
│ │ ├── ProducerAppIT.java
│ │ ├── TestProducerApplication.java
│ │ └── TestSubscriberRestController.java
│ └── workflows/
│ ├── multi-app/
│ │ ├── README.md
│ │ ├── orchestrator/
│ │ │ ├── pom.xml
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── java/
│ │ │ │ │ └── io/
│ │ │ │ │ └── dapr/
│ │ │ │ │ └── springboot4/
│ │ │ │ │ └── examples/
│ │ │ │ │ └── orchestrator/
│ │ │ │ │ ├── Customer.java
│ │ │ │ │ ├── CustomerWorkflow.java
│ │ │ │ │ ├── CustomersRestController.java
│ │ │ │ │ └── OrchestratorApplication.java
│ │ │ │ └── resources/
│ │ │ │ └── application.properties
│ │ │ └── test/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot4/
│ │ │ │ └── examples/
│ │ │ │ └── orchestrator/
│ │ │ │ ├── DaprTestContainersConfig.java
│ │ │ │ ├── DockerImages.java
│ │ │ │ ├── OrchestratorAppIT.java
│ │ │ │ └── TestOrchestratorApplication.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ ├── pom.xml
│ │ ├── spotbugs-exclude.xml
│ │ ├── worker-one/
│ │ │ ├── pom.xml
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── java/
│ │ │ │ │ └── io/
│ │ │ │ │ └── dapr/
│ │ │ │ │ └── springboot4/
│ │ │ │ │ └── examples/
│ │ │ │ │ └── workerone/
│ │ │ │ │ ├── Customer.java
│ │ │ │ │ ├── RegisterCustomerActivity.java
│ │ │ │ │ └── WorkerOneApplication.java
│ │ │ │ └── resources/
│ │ │ │ └── application.properties
│ │ │ └── test/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot4/
│ │ │ │ └── examples/
│ │ │ │ └── workerone/
│ │ │ │ ├── DaprTestContainersConfig.java
│ │ │ │ ├── TestWorkerOneApplication.java
│ │ │ │ └── WorkerOneAppIT.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── worker-two/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot4/
│ │ │ │ └── examples/
│ │ │ │ └── workertwo/
│ │ │ │ ├── Customer.java
│ │ │ │ ├── CustomerFollowupActivity.java
│ │ │ │ └── WorkerTwoApplication.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot4/
│ │ │ └── examples/
│ │ │ └── workertwo/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ ├── TestWorkerTwoApplication.java
│ │ │ └── WorkerTwoAppIT.java
│ │ └── resources/
│ │ └── application.properties
│ ├── patterns/
│ │ ├── README.md
│ │ ├── body.json
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot4/
│ │ │ │ └── examples/
│ │ │ │ └── wfp/
│ │ │ │ ├── WorkflowPatternsApplication.java
│ │ │ │ ├── WorkflowPatternsConfiguration.java
│ │ │ │ ├── WorkflowPatternsRestController.java
│ │ │ │ ├── chain/
│ │ │ │ │ ├── ChainWorkflow.java
│ │ │ │ │ └── ToUpperCaseActivity.java
│ │ │ │ ├── child/
│ │ │ │ │ ├── ChildWorkflow.java
│ │ │ │ │ ├── ParentWorkflow.java
│ │ │ │ │ └── ReverseActivity.java
│ │ │ │ ├── continueasnew/
│ │ │ │ │ ├── CleanUpActivity.java
│ │ │ │ │ ├── CleanUpLog.java
│ │ │ │ │ └── ContinueAsNewWorkflow.java
│ │ │ │ ├── externalevent/
│ │ │ │ │ ├── ApproveActivity.java
│ │ │ │ │ ├── Decision.java
│ │ │ │ │ ├── DenyActivity.java
│ │ │ │ │ └── ExternalEventWorkflow.java
│ │ │ │ ├── fanoutin/
│ │ │ │ │ ├── CountWordsActivity.java
│ │ │ │ │ ├── FanOutInWorkflow.java
│ │ │ │ │ └── Result.java
│ │ │ │ ├── remoteendpoint/
│ │ │ │ │ ├── CallRemoteEndpointActivity.java
│ │ │ │ │ ├── Payload.java
│ │ │ │ │ └── RemoteEndpointWorkflow.java
│ │ │ │ ├── suspendresume/
│ │ │ │ │ ├── PerformTaskActivity.java
│ │ │ │ │ └── SuspendResumeWorkflow.java
│ │ │ │ └── timer/
│ │ │ │ ├── DurationTimerWorkflow.java
│ │ │ │ ├── LogActivity.java
│ │ │ │ ├── TimerLogService.java
│ │ │ │ └── ZonedDateTimeTimerWorkflow.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot4/
│ │ │ └── examples/
│ │ │ └── wfp/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ ├── TestWorkflowPatternsApplication.java
│ │ │ └── WorkflowPatternsAppIT.java
│ │ └── resources/
│ │ ├── application.properties
│ │ └── third-parties/
│ │ └── remote-http-service.yaml
│ ├── pom.xml
│ └── spotbugs-exclude.xml
├── spring-boot-4-sdk-tests/
│ ├── pom.xml
│ └── src/
│ └── test/
│ └── java/
│ └── io/
│ └── dapr/
│ └── it/
│ └── springboot4/
│ └── testcontainers/
│ ├── ContainerConstants.java
│ ├── DaprClientConfiguration.java
│ ├── DaprClientFactory.java
│ ├── DaprContainerFactory.java
│ ├── DaprPreviewClientConfiguration.java
│ ├── DaprSidecarContainer.java
│ ├── Retry.java
│ ├── SubscriptionsRestController.java
│ ├── TestUtils.java
│ ├── actors/
│ │ ├── DaprActorsIT.java
│ │ ├── TestActor.java
│ │ ├── TestActorImpl.java
│ │ ├── TestActorsApplication.java
│ │ └── TestDaprActorsConfiguration.java
│ ├── conversations/
│ │ ├── DaprConversationAlpha2IT.java
│ │ ├── DaprConversationIT.java
│ │ └── TestConversationApplication.java
│ ├── core/
│ │ ├── DaprContainerIT.java
│ │ ├── DaprPlacementContainerIT.java
│ │ └── DaprSchedulerContainerIT.java
│ ├── crypto/
│ │ └── DaprPreviewClientCryptoIT.java
│ ├── jobs/
│ │ ├── DaprJobsIT.java
│ │ └── TestJobsApplication.java
│ ├── pubsub/
│ │ ├── http/
│ │ │ ├── DaprPubSubIT.java
│ │ │ ├── SubscriberController.java
│ │ │ └── TestPubSubApplication.java
│ │ └── outbox/
│ │ ├── DaprPubSubOutboxIT.java
│ │ ├── Product.java
│ │ ├── ProductWebhookController.java
│ │ └── TestPubsubOutboxApplication.java
│ ├── spring/
│ │ ├── DaprSpringBootContextInitializer.java
│ │ ├── DaprSpringBootExtension.java
│ │ └── DaprSpringBootTest.java
│ └── workflows/
│ ├── DaprWorkflowsIT.java
│ ├── FirstActivity.java
│ ├── KeyStore.java
│ ├── SecondActivity.java
│ ├── TaskExecutionIdActivity.java
│ ├── TestExecutionKeysWorkflow.java
│ ├── TestNamedActivitiesWorkflow.java
│ ├── TestWorkflow.java
│ ├── TestWorkflowPayload.java
│ ├── TestWorkflowsApplication.java
│ ├── TestWorkflowsConfiguration.java
│ └── multiapp/
│ ├── App2TransformActivity.java
│ ├── App2Worker.java
│ ├── App3FinalizeActivity.java
│ ├── App3Worker.java
│ ├── MultiAppWorker.java
│ ├── MultiAppWorkflow.java
│ └── WorkflowsMultiAppCallActivityIT.java
├── spring-boot-examples/
│ ├── README.md
│ ├── consumer-app/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── consumer/
│ │ │ │ ├── ConsumerApplication.java
│ │ │ │ ├── Order.java
│ │ │ │ └── SubscriberRestController.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── consumer/
│ │ │ ├── ConsumerAppIT.java
│ │ │ ├── ConsumerAppTestConfiguration.java
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ └── TestConsumerApplication.java
│ │ └── resources/
│ │ └── application.properties
│ ├── kubernetes/
│ │ ├── README.md
│ │ ├── consumer-app.yaml
│ │ ├── kind-with-registry.sh
│ │ ├── kvbinding.yaml
│ │ ├── kvstore.yaml
│ │ ├── producer-app.yaml
│ │ └── pubsub.yaml
│ ├── pom.xml
│ ├── producer-app/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── producer/
│ │ │ │ ├── Customer.java
│ │ │ │ ├── CustomerStore.java
│ │ │ │ ├── CustomersRestController.java
│ │ │ │ ├── Order.java
│ │ │ │ ├── OrderDTO.java
│ │ │ │ ├── OrderRepository.java
│ │ │ │ ├── OrdersRestController.java
│ │ │ │ ├── ProducerAppConfiguration.java
│ │ │ │ ├── ProducerApplication.java
│ │ │ │ └── workflow/
│ │ │ │ ├── CustomerFollowupActivity.java
│ │ │ │ ├── CustomerWorkflow.java
│ │ │ │ └── RegisterCustomerActivity.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── producer/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ ├── ProducerAppIT.java
│ │ │ ├── TestProducerApplication.java
│ │ │ └── TestSubscriberRestController.java
│ │ └── resources/
│ │ └── application.properties
│ ├── spotbugs-exclude.xml
│ └── workflows/
│ ├── multi-app/
│ │ ├── README.md
│ │ ├── orchestrator/
│ │ │ ├── pom.xml
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── java/
│ │ │ │ │ └── io/
│ │ │ │ │ └── dapr/
│ │ │ │ │ └── springboot/
│ │ │ │ │ └── examples/
│ │ │ │ │ └── orchestrator/
│ │ │ │ │ ├── Customer.java
│ │ │ │ │ ├── CustomerWorkflow.java
│ │ │ │ │ ├── CustomersRestController.java
│ │ │ │ │ └── OrchestratorApplication.java
│ │ │ │ └── resources/
│ │ │ │ └── application.properties
│ │ │ └── test/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── orchestrator/
│ │ │ │ ├── DaprTestContainersConfig.java
│ │ │ │ ├── DockerImages.java
│ │ │ │ ├── OrchestratorAppIT.java
│ │ │ │ └── TestOrchestratorApplication.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ ├── pom.xml
│ │ ├── spotbugs-exclude.xml
│ │ ├── worker-one/
│ │ │ ├── pom.xml
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── java/
│ │ │ │ │ └── io/
│ │ │ │ │ └── dapr/
│ │ │ │ │ └── springboot/
│ │ │ │ │ └── examples/
│ │ │ │ │ └── workerone/
│ │ │ │ │ ├── Customer.java
│ │ │ │ │ ├── RegisterCustomerActivity.java
│ │ │ │ │ └── WorkerOneApplication.java
│ │ │ │ └── resources/
│ │ │ │ └── application.properties
│ │ │ └── test/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── workerone/
│ │ │ │ ├── DaprTestContainersConfig.java
│ │ │ │ ├── TestWorkerOneApplication.java
│ │ │ │ └── WorkerOneAppIT.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── worker-two/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── workertwo/
│ │ │ │ ├── Customer.java
│ │ │ │ ├── CustomerFollowupActivity.java
│ │ │ │ └── WorkerTwoApplication.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── workertwo/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ ├── TestWorkerTwoApplication.java
│ │ │ └── WorkerTwoAppIT.java
│ │ └── resources/
│ │ └── application.properties
│ ├── patterns/
│ │ ├── README.md
│ │ ├── body.json
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── wfp/
│ │ │ │ ├── WorkflowPatternsApplication.java
│ │ │ │ ├── WorkflowPatternsConfiguration.java
│ │ │ │ ├── WorkflowPatternsRestController.java
│ │ │ │ ├── chain/
│ │ │ │ │ ├── ChainWorkflow.java
│ │ │ │ │ └── ToUpperCaseActivity.java
│ │ │ │ ├── child/
│ │ │ │ │ ├── ChildWorkflow.java
│ │ │ │ │ ├── ParentWorkflow.java
│ │ │ │ │ └── ReverseActivity.java
│ │ │ │ ├── continueasnew/
│ │ │ │ │ ├── CleanUpActivity.java
│ │ │ │ │ ├── CleanUpLog.java
│ │ │ │ │ └── ContinueAsNewWorkflow.java
│ │ │ │ ├── externalevent/
│ │ │ │ │ ├── ApproveActivity.java
│ │ │ │ │ ├── Decision.java
│ │ │ │ │ ├── DenyActivity.java
│ │ │ │ │ └── ExternalEventWorkflow.java
│ │ │ │ ├── fanoutin/
│ │ │ │ │ ├── CountWordsActivity.java
│ │ │ │ │ ├── FanOutInWorkflow.java
│ │ │ │ │ └── Result.java
│ │ │ │ ├── remoteendpoint/
│ │ │ │ │ ├── CallRemoteEndpointActivity.java
│ │ │ │ │ ├── Payload.java
│ │ │ │ │ └── RemoteEndpointWorkflow.java
│ │ │ │ ├── suspendresume/
│ │ │ │ │ ├── PerformTaskActivity.java
│ │ │ │ │ └── SuspendResumeWorkflow.java
│ │ │ │ └── timer/
│ │ │ │ ├── DurationTimerWorkflow.java
│ │ │ │ ├── LogActivity.java
│ │ │ │ ├── TimerLogService.java
│ │ │ │ └── ZonedDateTimeTimerWorkflow.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── wfp/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ ├── TestWorkflowPatternsApplication.java
│ │ │ └── WorkflowPatternsAppIT.java
│ │ └── resources/
│ │ ├── application.properties
│ │ └── third-parties/
│ │ └── remote-http-service.yaml
│ ├── pom.xml
│ ├── spotbugs-exclude.xml
│ └── versioning/
│ ├── README.md
│ ├── full-version-worker-one/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── workerone/
│ │ │ │ ├── FullVersionWorkerOneApplication.java
│ │ │ │ ├── RegisterV1Components.java
│ │ │ │ └── WorkflowController.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── workerone/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ └── TestWorkerOneApplication.java
│ │ └── resources/
│ │ └── application.properties
│ ├── full-version-worker-two/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── workertwo/
│ │ │ │ ├── FullVersionWorkerTwoApplication.java
│ │ │ │ ├── RegisterV2Components.java
│ │ │ │ └── WorkflowController.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── workertwo/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ └── TestWorkerTwoApplication.java
│ │ └── resources/
│ │ └── application.properties
│ ├── patch-version-worker-one/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── workerone/
│ │ │ │ ├── PatchVersionWorkerOneApplication.java
│ │ │ │ ├── RegisterComponents.java
│ │ │ │ └── WorkflowController.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── workerone/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ └── TestWorkerOneApplication.java
│ │ └── resources/
│ │ └── application.properties
│ ├── patch-version-worker-two/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── workertwo/
│ │ │ │ ├── PatchVersionWorkerTwoApplication.java
│ │ │ │ ├── RegisterPatchedComponents.java
│ │ │ │ └── WorkflowController.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── workertwo/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ └── TestWorkerOneApplication.java
│ │ └── resources/
│ │ └── application.properties
│ ├── pom.xml
│ ├── spotbugs-exclude.xml
│ └── version-orchestrator/
│ ├── pom.xml
│ └── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── orchestrator/
│ │ │ ├── FullVersionRestController.java
│ │ │ ├── PatchVersionRestController.java
│ │ │ └── VersionOrchestratorApplication.java
│ │ └── resources/
│ │ └── application.properties
│ └── test/
│ ├── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── springboot/
│ │ └── examples/
│ │ └── orchestrator/
│ │ ├── DaprTestContainersConfig.java
│ │ ├── DockerImages.java
│ │ └── TestOrchestratorApplication.java
│ └── resources/
│ └── application.properties
└── testcontainers-dapr/
├── pom.xml
└── src/
├── main/
│ └── java/
│ └── io/
│ └── dapr/
│ └── testcontainers/
│ ├── AppHttpPipeline.java
│ ├── Component.java
│ ├── Configuration.java
│ ├── ConfigurationSettings.java
│ ├── DaprContainer.java
│ ├── DaprContainerConstants.java
│ ├── DaprLogLevel.java
│ ├── DaprPlacementContainer.java
│ ├── DaprProtocol.java
│ ├── DaprSchedulerContainer.java
│ ├── HttpEndpoint.java
│ ├── ListEntry.java
│ ├── MetadataEntry.java
│ ├── OtelTracingConfigurationSettings.java
│ ├── Subscription.java
│ ├── TracingConfigurationSettings.java
│ ├── WorkflowDashboardContainer.java
│ ├── ZipkinTracingConfigurationSettings.java
│ ├── converter/
│ │ ├── ComponentYamlConverter.java
│ │ ├── ConfigurationYamlConverter.java
│ │ ├── HttpEndpointYamlConverter.java
│ │ ├── SubscriptionYamlConverter.java
│ │ ├── YamlConverter.java
│ │ └── YamlMapperFactory.java
│ └── wait/
│ └── strategy/
│ ├── AbstractDaprWaitStrategy.java
│ ├── ActorWaitStrategy.java
│ ├── DaprWait.java
│ ├── SubscriptionWaitStrategy.java
│ └── metadata/
│ ├── Actor.java
│ ├── Component.java
│ ├── Metadata.java
│ └── Subscription.java
└── test/
├── java/
│ └── io/
│ └── dapr/
│ └── testcontainers/
│ ├── DaprComponentTest.java
│ ├── DaprContainerTest.java
│ ├── DaprWorkflowDashboardTest.java
│ ├── converter/
│ │ ├── ComponentYamlConverterTest.java
│ │ ├── ConfigurationYamlConverterTest.java
│ │ ├── HttpEndpointYamlConverterTest.java
│ │ └── SubscriptionYamlConverterTest.java
│ └── wait/
│ └── strategy/
│ ├── ActorWaitStrategyTest.java
│ ├── DaprWaitTest.java
│ ├── SubscriptionWaitStrategyTest.java
│ └── metadata/
│ └── MetadataTest.java
└── resources/
└── dapr-resources/
└── statestore.yaml
================================================
FILE CONTENTS
================================================
================================================
FILE: .codecov.yaml
================================================
ignore:
- examples
- sdk-tests
- sdk-autogen
comment:
# Delete old comment and post new one for new coverage information.
behavior: new
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Report a bug in java-sdk
title: ''
labels: kind/bug
assignees: ''
---
## Expected Behavior
<!-- Briefly describe what you expect to happen -->
## Actual Behavior
<!-- Briefly describe what is actually happening -->
## Steps to Reproduce the Problem
<!-- How can a maintainer reproduce this issue (be detailed) -->
## Release Note
<!-- How should the fix for this issue be communicated in our release notes? It can be populated later. -->
<!-- Keep it as a single line. Examples: -->
<!-- RELEASE NOTE: **ADD** New feature in Dapr. -->
<!-- RELEASE NOTE: **FIX** Bug in runtime. -->
<!-- RELEASE NOTE: **UPDATE** Runtime dependency. -->
RELEASE NOTE:
================================================
FILE: .github/ISSUE_TEMPLATE/discussion.md
================================================
---
name: Feature Request
about: Start a discussion for java-sdk
title: ''
labels: kind/discussion
assignees: ''
---
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature Request
about: Create a Feature Request for java-sdk
title: ''
labels: kind/enhancement
assignees: ''
---
## Describe the feature
## Release Note
<!-- How should this new feature be announced in our release notes? It can be populated later. -->
<!-- Keep it as a single line. Examples: -->
<!-- RELEASE NOTE: **ADD** New feature in Dapr. -->
<!-- RELEASE NOTE: **FIX** Bug in runtime. -->
<!-- RELEASE NOTE: **UPDATE** Runtime dependency. -->
RELEASE NOTE:
================================================
FILE: .github/ISSUE_TEMPLATE/proposal.md
================================================
---
name: Proposal
about: Create a proposal for java-sdk
title: ''
labels: kind/proposal
assignees: ''
---
## Describe the proposal
================================================
FILE: .github/ISSUE_TEMPLATE/question.md
================================================
---
name: Question
about: Ask a question about java-sdk
title: ''
labels: kind/question
assignees: ''
---
## Ask your question here
================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
- package-ecosystem: "maven"
directory: "/"
schedule:
interval: "weekly"
target-branch: "dependabot"
- package-ecosystem: "maven"
directory: "/sdk"
schedule:
interval: "weekly"
target-branch: "dependabot"
- package-ecosystem: "maven"
directory: "/sdk-actors"
schedule:
interval: "weekly"
target-branch: "dependabot"
- package-ecosystem: "maven"
directory: "/sdk-autogen"
schedule:
interval: "weekly"
target-branch: "dependabot"
- package-ecosystem: "maven"
directory: "/sdk-springboot"
schedule:
interval: "weekly"
target-branch: "dependabot"
- package-ecosystem: "maven"
directory: "/sdk-tests"
schedule:
interval: "weekly"
target-branch: "dependabot"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
================================================
FILE: .github/holopin.yml
================================================
organization: dapr
defaultSticker: clrqfdv4x24910fl5n4iwu5oa
stickers:
-
id: clrqfdv4x24910fl5n4iwu5oa
alias: sdk-badge
================================================
FILE: .github/pull_request_template.md
================================================
# Description
_Please explain the changes you've made_
## Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #_[issue number]_
## Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:
* [ ] Code compiles correctly
* [ ] Created/updated tests
* [ ] Extended the documentation
================================================
FILE: .github/scripts/automerge.py
================================================
# Copyright 2021 The Dapr Authors
# Licensed 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.
# This script automerges PRs
import os
from github import Github
g = Github(os.getenv("GITHUB_TOKEN"))
repo = g.get_repo(os.getenv("GITHUB_REPOSITORY"))
def fetch_pulls(mergeable_state):
return [pr for pr in repo.get_pulls(state='open', sort='created') \
if pr.mergeable_state == mergeable_state and 'auto-merge' in [l.name for l in pr.labels]]
def is_approved(pr):
approvers = [r.user.login for r in pr.get_reviews() if r.state == 'APPROVED']
return len([a for a in approvers if repo.get_collaborator_permission(a) in ['admin', 'write']]) > 0
# First, find a PR that can be merged
pulls = fetch_pulls('clean')
print(f"Detected {len(pulls)} open pull requests in {repo.name} to be automerged.")
merged = False
for pr in pulls:
if is_approved(pr):
# Merge only one PR per run.
print(f"Merging PR {pr.html_url}")
try:
pr.merge(merge_method='squash')
merged = True
break
except:
print(f"Failed to merge PR {pr.html_url}")
if len(pulls) > 0 and not merged:
print("No PR was automerged.")
# Now, update all PRs that are behind.
pulls = fetch_pulls('behind')
print(f"Detected {len(pulls)} open pull requests in {repo.name} to be updated.")
for pr in pulls:
if is_approved(pr):
# Update all PRs since there is no guarantee they will all pass.
print(f"Updating PR {pr.html_url}")
try:
pr.update_branch()
except:
print(f"Failed to update PR {pr.html_url}")
pulls = fetch_pulls('dirty')
print(f"Detected {len(pulls)} open pull requests in {repo.name} to be automerged but are in dirty state.")
for pr in pulls:
print(f"PR is in dirty state: {pr.html_url}")
print("Done.")
================================================
FILE: .github/scripts/create-release.sh
================================================
#!/usr/bin/env bash
#
# Copyright 2024 The Dapr Authors
# Licensed 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.
set -ue
script_dir=$(readlink -f $(dirname $0))
current_time=$(date +"%Y-%m-%d_%H-%M-%S")
# Thanks to https://ihateregex.io/expr/semver/
SEMVER_REGEX='^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$'
REL_VERSION=`echo $1 | sed -r 's/^[vV]?([0-9].+)$/\1/'`
if [ `echo $REL_VERSION | pcre2grep "$SEMVER_REGEX"` ]; then
echo "$REL_VERSION is a valid semantic version."
else
echo "$REL_VERSION is not a valid semantic version."
exit 1
fi
MAJOR_MINOR_VERSION=`echo ${REL_VERSION}- | cut -d- -f1 | cut -d. -f1,2`
MAJOR_MINOR_PATCH_VERSION=`echo ${REL_VERSION}- | cut -d- -f1 | cut -d. -f1,2,3`
VARIANT=`echo ${REL_VERSION}- | cut -d- -f2`
if [ "$VARIANT" = "SNAPSHOT" ]; then
echo "SNAPSHOT release detected, updating version in master branch to $REL_VERSION ..."
if [ "$REL_VERSION" != "${MAJOR_MINOR_PATCH_VERSION}-SNAPSHOT" ]; then
echo "Invalid snapshot version: $REL_VERSION"
exit 3
fi
# Change is done directly in the master branch.
${script_dir}/update_sdk_version.sh $REL_VERSION
git commit -s -m "Update master version to ${REL_VERSION}" -a
git clean -f -d
git push origin master
echo "Updated master branch with version ${REL_VERSION}."
exit 0
elif [ "$VARIANT" = "rc" ]; then
echo "Release-candidate version detected: $REL_VERSION"
RC_COUNT=`echo ${REL_VERSION}- | cut -d- -f3`
if ! ((10#${RC_COUNT} >= 0)) 2>/dev/null || [ "$RC_COUNT" == "" ]; then
echo "Invalid release-candidate count: $RC_COUNT"
exit 3
fi
if [ "$REL_VERSION" != "${MAJOR_MINOR_PATCH_VERSION}-rc-${RC_COUNT}" ]; then
echo "Invalid release-candidate version: $REL_VERSION"
exit 3
fi
elif [ "$VARIANT" = "" ]; then
echo "Release version detected: $REL_VERSION"
else
echo "Invalid release variant: $VARIANT"
exit 3
fi
echo "Passed all version format validations."
RELEASE_BRANCH="release-$MAJOR_MINOR_VERSION"
RELEASE_TAG="v$REL_VERSION"
if [ `git rev-parse --verify origin/$RELEASE_BRANCH 2>/dev/null` ]; then
echo "$RELEASE_BRANCH branch already exists, checking it out ..."
git checkout $RELEASE_BRANCH
else
echo "$RELEASE_BRANCH does not exist, creating ..."
git checkout -b $RELEASE_BRANCH
git push origin $RELEASE_BRANCH
fi
echo "$RELEASE_BRANCH branch is ready."
if [ `git rev-parse --verify $RELEASE_TAG 2>/dev/null` ]; then
echo "$RELEASE_TAG tag already exists, checking it out ..."
git checkout $RELEASE_TAG
else
${script_dir}/update_sdk_version.sh $REL_VERSION
git commit -s -m "Release $REL_VERSION" -a
if [ "$VARIANT" = "" ]; then
echo "Generating docs ..."
${script_dir}/update_docs.sh $REL_VERSION
git commit -s -m "Generate updated javadocs for $REL_VERSION" -a
fi
git push origin $RELEASE_BRANCH
echo "Tagging $RELEASE_TAG ..."
git tag $RELEASE_TAG
echo "$RELEASE_TAG is tagged."
echo "Pushing $RELEASE_TAG tag ..."
git push origin $RELEASE_TAG
echo "$RELEASE_TAG tag is pushed."
fi
if [ "$VARIANT" = "" ]; then
git clean -xdf
echo "Updating docs in master branch ..."
git checkout master
git fetch origin
git reset --hard origin/master
git cherry-pick --strategy=recursive -X theirs $RELEASE_TAG
git push origin master
echo "Updated docs in master branch."
fi
echo "Done."
================================================
FILE: .github/scripts/update_docs.sh
================================================
#!/bin/bash
set -uex
DAPR_JAVA_SDK_VERSION=$1
# Alpha artifacts of the sdk tracks the regular SDK minor and patch versions, just not the major.
# Replaces the SDK major version to 0 for alpha artifacts.
DAPR_JAVA_SDK_ALPHA_VERSION=`echo $DAPR_JAVA_SDK_VERSION | sed 's/^[0-9]*\./0./'`
if [[ "$OSTYPE" == "darwin"* ]]; then
sed -i bak "s/<version>.*<\/version>\$/<version>${DAPR_JAVA_SDK_VERSION}<\/version>/g" README.md
sed -i bak "s/compile('io.dapr:\(.*\):.*')/compile('io.dapr:\\1:${DAPR_JAVA_SDK_VERSION}')/g" README.md
rm README.mdbak
else
sed -i "s/<version>.*<\/version>\$/<version>${DAPR_JAVA_SDK_VERSION}<\/version>/g" README.md
sed -i "s/compile('io.dapr:\(.*\):.*')/compile('io.dapr:\\1:${DAPR_JAVA_SDK_VERSION}')/g" README.md
fi
rm -rf docs
./mvnw -Dmaven.test.skip=true -Djacoco.skip=true clean install
./mvnw -Dmaven.test.skip=true -Djacoco.skip=true site-deploy
================================================
FILE: .github/scripts/update_sdk_version.sh
================================================
#!/bin/bash
set -uex
DAPR_JAVA_SDK_VERSION=$1
# Alpha artifacts of the sdk tracks the regular SDK minor and patch versions, just not the major.
# Replaces the SDK major version to 0 for alpha artifacts.
DAPR_JAVA_SDK_ALPHA_VERSION=`echo $DAPR_JAVA_SDK_VERSION | sed 's/^[0-9]*\./0./'`
mvn versions:set -DnewVersion=$DAPR_JAVA_SDK_VERSION -DprocessDependencies=true
mvn versions:set-property -Dproperty=dapr.sdk.alpha.version -DnewVersion=$DAPR_JAVA_SDK_ALPHA_VERSION
mvn versions:set-property -Dproperty=dapr.sdk.version -DnewVersion=$DAPR_JAVA_SDK_VERSION
mvn versions:set-property -Dproperty=dapr.sdk.version -DnewVersion=$DAPR_JAVA_SDK_VERSION -f sdk-tests/pom.xml
# BOMs are standalone (no parent), so versions:set skips them — update explicitly.
mvn versions:set -DnewVersion=$DAPR_JAVA_SDK_VERSION -f sdk-bom/pom.xml
mvn versions:set-property -Dproperty=dapr.sdk.version -DnewVersion=$DAPR_JAVA_SDK_VERSION -f sdk-bom/pom.xml
mvn versions:set -DnewVersion=$DAPR_JAVA_SDK_VERSION -f dapr-spring/dapr-spring-bom/pom.xml
mvn versions:set-property -Dproperty=dapr.sdk.version -DnewVersion=$DAPR_JAVA_SDK_VERSION -f dapr-spring/dapr-spring-bom/pom.xml
mvn versions:set-property -Dproperty=dapr.sdk.alpha.version -DnewVersion=$DAPR_JAVA_SDK_ALPHA_VERSION -f sdk-tests/pom.xml
git clean -f
================================================
FILE: .github/workflows/automerge-bot.yml
================================================
# Copyright 2021 The Dapr Authors
# Licensed 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.
name: dapr-java-sdk-automerge-bot
on:
schedule:
- cron: '*/30 * * * *'
workflow_dispatch:
jobs:
automerge:
if: github.repository_owner == 'dapr'
name: Automerge and update PRs.
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v5
- name: Install dependencies
run: pip install PyGithub
- name: Automerge and update
env:
GITHUB_TOKEN: ${{ secrets.DAPR_BOT_TOKEN }}
run: python ./.github/scripts/automerge.py
================================================
FILE: .github/workflows/backport.yaml
================================================
#
# Copyright 2026 The Dapr Authors
# Licensed 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.
#
name: Backport
on:
pull_request_target:
types:
- closed
- labeled
jobs:
backport:
name: Backport
runs-on: ubuntu-latest
if: >
github.event.pull_request.merged
&& (
github.event.action == 'closed'
|| (
github.event.action == 'labeled'
&& contains(github.event.label.name, 'backport')
)
)
steps:
- uses: tibdex/backport@9565281eda0731b1d20c4025c43339fb0a23812e
with:
github_token: ${{ secrets.DAPR_BOT_TOKEN }}
================================================
FILE: .github/workflows/build.yml
================================================
name: Build
on:
workflow_dispatch:
push:
branches:
- master
- release-*
tags:
- v*
pull_request:
branches:
- master
- release-*
jobs:
test:
name: "Unit tests"
runs-on: ubuntu-latest
timeout-minutes: 30
continue-on-error: false
env:
JDK_VER: 17
steps:
- uses: actions/checkout@v5
- name: Set up OpenJDK ${{ env.JDK_VER }}
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ env.JDK_VER }}
- name: Run tests
run: ./mvnw clean install -B -q -DskipITs=true
- name: Codecov
uses: codecov/codecov-action@v6.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Upload test report for sdk
uses: actions/upload-artifact@v7
with:
name: test-dapr-java-sdk-jdk${{ env.JDK_VER }}
path: sdk/target/jacoco-report/
- name: Upload test report for sdk-actors
uses: actions/upload-artifact@v7
with:
name: report-dapr-java-sdk-actors-jdk${{ env.JDK_VER }}
path: sdk-actors/target/jacoco-report/
build-durabletask:
name: "Durable Task build & tests"
runs-on: ubuntu-latest
timeout-minutes: 30
continue-on-error: false
env:
JDK_VER: 17
steps:
- uses: actions/checkout@v5
- name: Set up OpenJDK ${{ env.JDK_VER }}
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ env.JDK_VER }}
- name: Checkout Durable Task Sidecar
uses: actions/checkout@v4
with:
repository: dapr/durabletask-go
path: durabletask-sidecar
# TODO: Move the sidecar into a central image repository
- name: Initialize Durable Task Sidecar
run: docker run -d --name durabletask-sidecar -p 4001:4001 --rm -i $(docker build -q ./durabletask-sidecar)
- name: Display Durable Task Sidecar Logs
run: nohup docker logs --since=0 durabletask-sidecar > durabletask-sidecar.log 2>&1 &
# wait for 10 seconds, so sidecar container can be fully up, this will avoid intermittent failing issues for integration tests causing by failed to connect to sidecar
- name: Wait for 10 seconds
run: sleep 10
- name: Integration Tests For Durable Tasks
run: ./mvnw -B -pl durabletask-client -Pintegration-tests dependency:copy-dependencies verify || echo "TEST_FAILED=true" >> $GITHUB_ENV
continue-on-error: true
- name: Kill Durable Task Sidecar
run: docker kill durabletask-sidecar
- name: Upload Durable Task Sidecar Logs
uses: actions/upload-artifact@v7
with:
name: Durable Task Sidecar Logs
path: durabletask-sidecar.log
- name: Fail the job if tests failed
if: env.TEST_FAILED == 'true'
run: exit 1
build:
name: "Build jdk:${{ matrix.java }} sb:${{ matrix.spring-boot-display-version }} exp:${{ matrix.experimental }}"
runs-on: ubuntu-latest
timeout-minutes: 45
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
java: [ 17 ]
spring-boot-version: [ 3.5.4 ]
spring-boot-display-version: [ 3.5.x ]
experimental: [ false ]
include:
- java: 17
spring-boot-version: 4.0.2
spring-boot-display-version: 4.0.x
experimental: false
env:
GOVER: "1.20"
GOOS: linux
GOARCH: amd64
GOPROXY: https://proxy.golang.org
JDK_VER: ${{ matrix.java }}
DAPR_CLI_VER: 1.17.0
DAPR_RUNTIME_VER: 1.17.0
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.17.0/install/install.sh
DAPR_CLI_REF:
DAPR_REF:
TOXIPROXY_URL: https://github.com/Shopify/toxiproxy/releases/download/v2.5.0/toxiproxy-server-linux-amd64
steps:
- uses: actions/checkout@v5
- name: Check Docker version
run: docker version
- name: Set up OpenJDK ${{ env.JDK_VER }}
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ env.JDK_VER }}
- name: Set up Dapr CLI
run: wget -q ${{ env.DAPR_INSTALL_URL }} -O - | /bin/bash -s ${{ env.DAPR_CLI_VER }}
- name: Set up Go ${{ env.GOVER }}
if: env.DAPR_REF != '' || env.DAPR_CLI_REF != ''
uses: actions/setup-go@v6
with:
go-version: ${{ env.GOVER }}
- name: Checkout Dapr CLI repo to override dapr command.
uses: actions/checkout@v5
if: env.DAPR_CLI_REF != ''
with:
repository: dapr/cli
ref: ${{ env.DAPR_CLI_REF }}
path: cli
- name: Checkout Dapr repo to override daprd.
uses: actions/checkout@v5
if: env.DAPR_REF != ''
with:
repository: dapr/dapr
ref: ${{ env.DAPR_REF }}
path: dapr
- name: Build and override dapr cli with referenced commit.
if: env.DAPR_CLI_REF != ''
run: |
cd cli
make
sudo cp dist/linux_amd64/release/dapr /usr/local/bin/dapr
cd ..
- name: Uninstall Dapr runtime ${{ env.DAPR_RUNTIME_VER }}
run: dapr uninstall --all
- name: Ensure Dapr runtime uninstalled
run: |
while [ "$(docker ps -aq --filter 'name=^/dapr')" ]; do
echo "Waiting for Dapr containers to be deleted..."
sleep 5
done
echo "All dapr containers are deleted."
- name: Initialize Dapr runtime ${{ env.DAPR_RUNTIME_VER }}
run: dapr init --runtime-version ${{ env.DAPR_RUNTIME_VER }}
- name: Build and override daprd with referenced commit.
if: env.DAPR_REF != ''
run: |
cd dapr
make
mkdir -p $HOME/.dapr/bin/
cp dist/linux_amd64/release/daprd $HOME/.dapr/bin/daprd
cd ..
- name: Override placement service.
if: env.DAPR_REF != ''
run: |
docker stop dapr_placement
cd dapr
./dist/linux_amd64/release/placement &
- name: Spin local environment
run: |
docker compose -f ./sdk-tests/deploy/local-test.yml up -d mongo kafka
docker ps
- name: Install local ToxiProxy to simulate connectivity issues to Dapr sidecar
run: |
mkdir -p /home/runner/.local/bin
wget -q ${{ env.TOXIPROXY_URL }} -O /home/runner/.local/bin/toxiproxy-server
chmod +x /home/runner/.local/bin/toxiproxy-server
/home/runner/.local/bin/toxiproxy-server --version
- name: Clean up and install sdk
run: ./mvnw clean install -B -q -DskipTests
- name: Integration tests using spring boot 3.x version ${{ matrix.spring-boot-version }}
id: integration_tests
if: ${{ matrix.spring-boot-display-version == '3.5.x' }}
run: PRODUCT_SPRING_BOOT_VERSION=${{ matrix.spring-boot-version }} ./mvnw -B -pl !durabletask-client -Pintegration-tests dependency:copy-dependencies verify
- name: Integration tests using spring boot 4.x version ${{ matrix.spring-boot-version }}
id: integration_sb4_tests
if: ${{ matrix.spring-boot-display-version == '4.0.x' }}
run: PRODUCT_SPRING_BOOT_VERSION=${{ matrix.spring-boot-version }} ./mvnw -B -pl !durabletask-client -Pintegration-sb4-tests dependency:copy-dependencies verify
- name: Upload failsafe test report for sdk-tests on failure
if: ${{ failure() && steps.integration_tests.conclusion == 'failure' }}
uses: actions/upload-artifact@v7
with:
name: failsafe-report-sdk-tests-jdk${{ matrix.java }}-sb${{ matrix.spring-boot-version }}
path: sdk-tests/target/failsafe-reports
- name: Upload failsafe test report for sb4 sdk-tests on failure
if: ${{ failure() && steps.integration_sb4_tests.conclusion == 'failure' }}
uses: actions/upload-artifact@v7
with:
name: failsafe-report-sdk-tests-jdk${{ matrix.java }}-sb${{ matrix.spring-boot-version }}
path: spring-boot-4-sdk-tests/target/failsafe-reports
- name: Upload surefire test report for sdk-tests on failure
if: ${{ failure() && steps.integration_tests.conclusion == 'failure' }}
uses: actions/upload-artifact@v7
with:
name: surefire-report-sdk-tests-jdk${{ matrix.java }}-sb${{ matrix.spring-boot-version }}
path: sdk-tests/target/surefire-reports
- name: Upload surefire test report for sdk-tests on failure
if: ${{ failure() && steps.integration_sb4_tests.conclusion == 'failure' }}
uses: actions/upload-artifact@v7
with:
name: surefire-report-sdk-tests-jdk${{ matrix.java }}-sb${{ matrix.spring-boot-version }}
path: spring-boot-4-sdk-tests/target/surefire-reports
publish:
runs-on: ubuntu-latest
needs: [ build, test, build-durabletask ]
timeout-minutes: 30
env:
JDK_VER: 17
OSSRH_USER_TOKEN: ${{ secrets.OSSRH_USER_TOKEN }}
OSSRH_PWD_TOKEN: ${{ secrets.OSSRH_PWD_TOKEN }}
GPG_KEY: ${{ secrets.GPG_KEY }}
GPG_PWD: ${{ secrets.GPG_PWD }}
steps:
- uses: actions/checkout@v5
- name: Set up OpenJDK ${{ env.JDK_VER }}
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ env.JDK_VER }}
- name: Get pom parent version
run: |
PARENT_VERSION=$(./mvnw -B -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
echo "PARENT_VERSION=$PARENT_VERSION" >> $GITHUB_ENV
- name: Is SNAPSHOT release ?
if: contains(github.ref, 'master') && contains(env.PARENT_VERSION, '-SNAPSHOT')
run: |
echo "DEPLOY_OSSRH=true" >> $GITHUB_ENV
- name: Is Release or RC version ?
if: startswith(github.ref, 'refs/tags/v') && !contains(env.PARENT_VERSION, '-SNAPSHOT')
run: |
echo "DEPLOY_OSSRH=true" >> $GITHUB_ENV
- name: Publish to ossrh
if: env.DEPLOY_OSSRH == 'true'
run: |
echo ${{ secrets.GPG_PRIVATE_KEY }} | base64 -d > private-key.gpg
export GPG_TTY=$(tty)
gpg --batch --import private-key.gpg
./mvnw -V -B -Dgpg.skip=false -DskipTests -s settings.xml deploy
curl -X POST https://ossrh-staging-api.central.sonatype.com/manual/upload/defaultRepository/io.dapr
================================================
FILE: .github/workflows/create-release.yml
================================================
#
# Copyright 2024 The Dapr Authors
# Licensed 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.
#
name: Create a release
on:
workflow_dispatch:
inputs:
rel_version:
description: 'Release version (examples: 1.9.0-rc-1, 1.9.1, 1.11.0-SNAPSHOT)'
required: true
type: string
jobs:
create-release:
name: Creates release branch and tag
runs-on: ubuntu-latest
env:
JDK_VER: '17'
steps:
- name: Check out code
uses: actions/checkout@v5
with:
fetch-depth: 0
token: ${{ secrets.DAPR_BOT_TOKEN }}
persist-credentials: false
- name: Set up OpenJDK ${{ env.JDK_VER }}
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ env.JDK_VER }}
- name: Install required packages
run: |
sudo apt-get update
sudo apt-get install pcre2-utils
- name: Create release branch and tag
env:
GITHUB_TOKEN: ${{ secrets.DAPR_BOT_TOKEN }}
run: |
git config user.email "daprweb@microsoft.com"
git config user.name "Dapr Bot"
# Update origin with token
git remote set-url origin https://x-access-token:${{ secrets.DAPR_BOT_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git
# Copy first to allow automation to use the latest version and not the release branch's version.
cp -R ./.github/scripts ${RUNNER_TEMP}/
${RUNNER_TEMP}/scripts/create-release.sh ${{ inputs.rel_version }}
- name: Create GitHub Release with auto-generated notes
if: ${{ !endsWith(inputs.rel_version, '-SNAPSHOT') && !contains(inputs.rel_version, '-rc-') }}
env:
GITHUB_TOKEN: ${{ secrets.DAPR_BOT_TOKEN }}
REL_VERSION: ${{ inputs.rel_version }}
run: |
# Normalize release version by stripping an optional leading 'v'
REL_VERSION="${REL_VERSION#v}"
TAG="v${REL_VERSION}"
if gh release view "${TAG}" >/dev/null 2>&1; then
echo "Release ${TAG} already exists, skipping creation."
else
gh release create "${TAG}" --generate-notes
fi
================================================
FILE: .github/workflows/dapr_bot.yml
================================================
name: dapr-bot
on:
issue_comment: {types: created}
jobs:
daprbot:
name: bot-processor
runs-on: ubuntu-latest
steps:
- name: Comment analyzer
uses: actions/github-script@v9
with:
github-token: ${{secrets.DAPR_BOT_TOKEN}}
script: |
const payload = context.payload;
const issue = context.issue;
const isFromPulls = !!payload.issue.pull_request;
const commentBody = payload.comment.body;
if (!isFromPulls && commentBody && commentBody.indexOf("/assign") == 0) {
if (!issue.assignees || issue.assignees.length === 0) {
// See https://github.com/actions/github-script#breaking-changes-in-v5
await github.rest.issues.addAssignees({
owner: issue.owner,
repo: issue.repo,
issue_number: issue.number,
assignees: [context.actor],
})
}
return;
}
================================================
FILE: .github/workflows/fossa.yml
================================================
#
# Copyright 2021 The Dapr Authors
# Licensed 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.
#
name: fossa
on:
push:
branches:
- master
- release-*
tags:
- v*
pull_request:
branches:
- master
- release-*
workflow_dispatch: {}
jobs:
fossa-scan:
if: github.repository_owner == 'dapr' # FOSSA is not intended to run on forks.
runs-on: ubuntu-latest
env:
FOSSA_API_KEY: b88e1f4287c3108c8751bf106fb46db6 # This is a push-only token that is safe to be exposed.
steps:
- name: "Checkout code"
uses: actions/checkout@v5
- name: "Run FOSSA Scan"
uses: fossas/fossa-action@v1.9.0 # Use a specific version if locking is preferred
with:
api-key: ${{ env.FOSSA_API_KEY }}
- name: "Run FOSSA Test"
uses: fossas/fossa-action@v1.9.0 # Use a specific version if locking is preferred
with:
api-key: ${{ env.FOSSA_API_KEY }}
run-tests: true
================================================
FILE: .github/workflows/validate-docs.yml
================================================
name: Validate Javadocs Generation
on:
workflow_dispatch:
push:
branches:
- master
- release-*
tags:
- v*
pull_request:
branches:
- master
- release-*
jobs:
build:
name: "Validate Javadocs generation"
runs-on: linux-arm64-latest-4-cores
timeout-minutes: 30
env:
JDK_VER: 17
steps:
- uses: actions/checkout@v5
- name: Set up OpenJDK ${{ env.JDK_VER }}
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ env.JDK_VER }}
- name: Install jars
run: ./mvnw install -q -B -DskipTests
- name: Validate Java docs generation
run: ./mvnw site-deploy
================================================
FILE: .github/workflows/validate.yml
================================================
# Copyright 2021 The Dapr Authors
# Licensed 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.
name: Auto Validate Examples
on:
workflow_dispatch:
push:
branches:
- master
- release-*
tags:
- v*
pull_request:
branches:
- master
- release-*
jobs:
validate:
runs-on: ubuntu-latest
strategy:
fail-fast: false # Keep running if one leg fails.
matrix:
java: [ 17 ]
env:
GOVER: "1.20"
GOOS: linux
GOARCH: amd64
GOPROXY: https://proxy.golang.org
JDK_VER: ${{ matrix.java }}
DAPR_CLI_VER: 1.17.0
DAPR_RUNTIME_VER: 1.17.0
DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.17.0/install/install.sh
DAPR_CLI_REF:
DAPR_REF:
steps:
- uses: actions/checkout@v5
- name: Set up OpenJDK ${{ env.JDK_VER }}
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ env.JDK_VER }}
- name: Check Docker version
run: docker version
- name: Set up Dapr CLI
run: wget -q ${{ env.DAPR_INSTALL_URL }} -O - | /bin/bash -s ${{ env.DAPR_CLI_VER }}
- name: Set up Go ${{ env.GOVER }}
if: env.DAPR_REF != '' || env.DAPR_CLI_REF != ''
uses: actions/setup-go@v6
with:
go-version: ${{ env.GOVER }}
- name: Checkout Dapr CLI repo to override dapr command.
uses: actions/checkout@v5
if: env.DAPR_CLI_REF != ''
with:
repository: dapr/cli
ref: ${{ env.DAPR_CLI_REF }}
path: cli
- name: Checkout Dapr repo to override daprd.
uses: actions/checkout@v5
if: env.DAPR_REF != ''
with:
repository: dapr/dapr
ref: ${{ env.DAPR_REF }}
path: dapr
- name: Build and override dapr cli with referenced commit.
if: env.DAPR_CLI_REF != ''
run: |
cd cli
make
sudo cp dist/linux_amd64/release/dapr /usr/local/bin/dapr
cd ..
- name: Uninstall Dapr runtime ${{ env.DAPR_RUNTIME_VER }}
run: dapr uninstall --all
- name: Ensure Dapr runtime uninstalled
run: |
while [ "$(docker ps -aq --filter 'name=^/dapr')" ]; do
echo "Waiting for Dapr containers to be deleted..."
sleep 5
done
echo "All dapr containers are deleted."
- name: Initialize Dapr runtime ${{ env.DAPR_RUNTIME_VER }}
run: dapr init --runtime-version ${{ env.DAPR_RUNTIME_VER }}
- name: Build and override daprd with referenced commit.
if: env.DAPR_REF != ''
run: |
cd dapr
make
mkdir -p $HOME/.dapr/bin/
cp dist/linux_amd64/release/daprd $HOME/.dapr/bin/daprd
cd ..
- name: Override placement service.
if: env.DAPR_REF != ''
run: |
docker stop dapr_placement
cd dapr
./dist/linux_amd64/release/placement &
- name: Install utilities dependencies
run: |
echo "PATH=$PATH:$HOME/.local/bin" >> $GITHUB_ENV
pip3 install setuptools wheel
pip3 install mechanical-markdown
- name: Verify scheduler is listening on port.
run: sleep 30 && docker logs dapr_scheduler && nc -vz localhost 50006
- name: Install jars
run: ./mvnw clean install -DskipTests -q
- name: Validate crypto example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/crypto/README.md
- name: Validate workflows example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/workflows/README.md
- name: Validate Spring Boot examples
working-directory: ./spring-boot-examples
run: |
mm.py README.md
- name: Validate Spring Boot Workflow Patterns examples
working-directory: ./spring-boot-examples/workflows/patterns
run: |
mm.py README.md
- name: Validate Jobs example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/jobs/README.md
- name: Validate conversation ai example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/conversation/README.md
- name: Validate invoke http example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/invoke/http/README.md
- name: Validate invoke grpc example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/invoke/grpc/README.md
- name: Validate tracing example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/tracing/README.md
- name: Validate expection handling example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/exception/README.md
- name: Validate state example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/state/README.md
- name: Validate pubsub example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/pubsub/README.md
- name: Validate bindings HTTP example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/bindings/http/README.md
- name: Validate secrets example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/secrets/README.md
- name: Validate unit testing example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/unittesting/README.md
- name: Validate Configuration API example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/configuration/README.md
- name: Validate actors example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/actors/README.md
- name: Validate query state HTTP example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/querystate/README.md
- name: Validate streaming subscription example
working-directory: ./examples
run: |
mm.py ./src/main/java/io/dapr/examples/pubsub/stream/README.md
================================================
FILE: .gitignore
================================================
# IDE generated files and directories
*.iml
.idea/
.run/
.vs/
.vscode/
.devcontainer/
# Output folders
**/target/
# Compiled class file
*.class
# Proto meta
*.pb.meta
# Log file
*.log
/syslog.txt
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# Eclipse
.classpath
.project
.settings
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
# Some other generated folders/files
/docs/dapr-sdk-actors
/docs/dapr-sdk-autogen
/docs/dapr-sdk
/proto/dapr
/proto/daprclient
# macOS
.DS_Store
================================================
FILE: .gitmodules
================================================
================================================
FILE: .java_header
================================================
^/\*$
^ \* Copyright \d\d\d\d The Dapr Authors$
^ \* Licensed 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\.$
^\*/$
================================================
FILE: .mvn/wrapper/maven-wrapper.properties
================================================
# 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.
wrapperVersion=3.3.2
distributionType=script
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.5/apache-maven-3.8.5-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar
================================================
FILE: .sdkmanrc
================================================
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
java=17.0.11-tem
maven=3.8.5
================================================
FILE: CODEOWNERS
================================================
# These owners are the maintainers and approvers of this repo
* @dapr/maintainers-java-sdk @dapr/approvers-java-sdk
================================================
FILE: CONTRIBUTING.md
================================================
# Contribution Guidelines
Thank you for your interest in Dapr!
This project welcomes contributions and suggestions. Most contributions require you to signoff on your commits via
the Developer Certificate of Origin (DCO). When you submit a pull request, a DCO-bot will automatically determine
whether you need to provide signoff for your commit. Please follow the instructions provided by DCO-bot, as pull
requests cannot be merged until the author(s) have provided signoff to fulfill the DCO requirement.
You may find more information on the DCO requirements [below](#developer-certificate-of-origin-signing-your-work).
This project has adopted the [Contributor Covenant Code of Conduct](https://github.com/dapr/community/blob/master/CODE-OF-CONDUCT.md).
Contributions come in many forms: submitting issues, writing code, participating in discussions and community calls.
To learn more about becoming a contributor and the different roles within the Dapr community (Contributor, Approver, Maintainer), please refer to our [Community Membership](https://github.com/dapr/community/blob/master/community-membership.md) documentation.
This document provides the guidelines for how to contribute to the Dapr project.
## Issues
This section describes the guidelines for submitting issues
### Issue Types
There are 4 types of issues:
- Issue/Bug: You've found a bug with the code, and want to report it, or create an issue to track the bug.
- Issue/Discussion: You have something on your mind, which requires input form others in a discussion, before it eventually manifests as a proposal.
- Issue/Proposal: Used for items that propose a new idea or functionality. This allows feedback from others before code is written.
- Issue/Question: Use this issue type, if you need help or have a question.
### Before You File
Before you file an issue, make sure you've checked the following:
1. Is it the right repository?
- The Dapr project is distributed across multiple repositories. Check the list of [repositories](https://github.com/dapr) if you aren't sure which repo is the correct one.
1. Check for existing issues
- Before you create a new issue, please do a search in [open issues](https://github.com/dapr/java-sdk/issues) to see if the issue or feature request has already been filed.
- If you find your issue already exists, make relevant comments and add your [reaction](https://github.com/blog/2119-add-reaction-to-pull-requests-issues-and-comments). Use a reaction:
- 👍 up-vote
- 👎 down-vote
1. For bugs
- Check it's not an environment issue. For example, if running on Kubernetes, make sure prerequisites are in place. (state stores, bindings, etc.)
- You have as much data as possible. This usually comes in the form of logs and/or stacktrace. If running on Kubernetes or other environment, look at the logs of the Dapr services (runtime, operator, placement service). More details on how to get logs can be found [here](https://docs.dapr.io/operations/troubleshooting/logs-troubleshooting/).
1. For proposals
- Many changes to the Dapr runtime may require changes to the API. In that case, the best place to discuss the potential feature is the main [Dapr repo](https://github.com/dapr/dapr).
- Other examples could include bindings, state stores or entirely new components.
## Contributing to Dapr
This section describes the guidelines for contributing code / docs to Dapr.
### Things to consider when adding new API to SDK
1. All the new API's go under [dapr-sdk maven package](https://github.com/dapr/java-sdk/tree/master/sdk)
2. Make sure there is an example talking about how to use the API along with a README with mechanical markdown. [Example](https://github.com/dapr/java-sdk/pull/1235/files#diff-69ed756c4c01fd5fa884aac030dccb8f3f4d4fefa0dc330862d55a6f87b34a14)
#### Mechanical Markdown
Mechanical markdown is used to validate example outputs in our CI pipeline. It ensures that the expected output in README files matches the actual output when running the examples. This helps maintain example output, catches any unintended changes in example behavior, and regressions.
To test mechanical markdown locally:
1. Install the package:
```bash
pip3 install mechanical-markdown
```
2. Run the test from the respective examples README directory, for example:
```bash
cd examples
mm.py ./src/main/java/io/dapr/examples/workflows/README.md
```
The test will:
- Parse the STEP markers in the README
- Execute the commands specified in the markers
- Compare the actual output with the expected output
- Report any mismatches
When writing STEP markers:
- Use `output_match_mode: substring` for flexible matching
- Quote strings containing special YAML characters (like `:`, `*`, `'`)
- Set appropriate timeouts for long-running examples
Example STEP marker:
```yaml
<!-- STEP
name: Run example
output_match_mode: substring
expected_stdout_lines:
- "Starting workflow: io.dapr.examples.workflows.compensation.BookTripWorkflow"
...
background: true
timeout_seconds: 60
-->
```
### Pull Requests
All contributions come through pull requests. To submit a proposed change, we recommend following this workflow:
1. Make sure there's an issue (bug or proposal) raised, which sets the expectations for the contribution you are about to make.
2. Fork the relevant repo and create a new branch
3. Create your change
- Code changes require tests
4. Update relevant documentation for the change
5. Check the code style
6. Commit and open a PR
7. Wait for the CI process to finish and make sure all checks are green
8. A maintainer of the project will be assigned, and you can expect a review within a few days
9. All the files have the Copyright header.
### Configure the code style with checkstyle
The project contains a checkstyle file (`checkstyle.xml`) that must be used for formatting the code.
* IntelliJ IDEA
You can use [CheckStyle-IDEA plugin](https://plugins.jetbrains.com/plugin/1065-checkstyle-idea).
* VSCode
You can use [Checkstyle for Java](https://marketplace.visualstudio.com/items?itemName=shengchen.vscode-checkstyle).
* Eclipse
You can use [Eclipse Checkstyle Plugin](https://checkstyle.org/eclipse-cs/#!/)
#### Use work-in-progress PRs for early feedback
A good way to communicate before investing too much time is to create a "Work-in-progress" PR and share it with your reviewers. The standard way of doing this is to add a "[WIP]" prefix in your PR's title and assign the **do-not-merge** label. This will let people looking at your PR know that it is not well baked yet.
### Developer Certificate of Origin: Signing your work
#### Every commit needs to be signed
The Developer Certificate of Origin (DCO) is a lightweight way for contributors to certify that they wrote or otherwise have the right to submit the code they are contributing to the project. Here is the full text of the [DCO](https://developercertificate.org/), reformatted for readability:
```
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
```
Contributors sign-off that they adhere to these requirements by adding a `Signed-off-by` line to commit messages.
```
This is my commit message
Signed-off-by: Random J Developer <random@developer.example.org>
```
Git even has a `-s` command line option to append this automatically to your commit message:
```
$ git commit -s -m 'This is my commit message'
```
Each Pull Request is checked whether or not commits in a Pull Request do contain a valid Signed-off-by line.
#### I didn't sign my commit, now what?!
No worries - You can easily replay your changes, sign them and force push them!
```
git checkout <branch-name>
git commit --amend --no-edit --signoff
git push --force-with-lease <remote-name> <branch-name>
```
### Use of Third-party code
- All third-party code must be placed in the `vendor/` folder.
- `vendor/` folder is managed by Go modules and stores the source code of third-party Go dependencies. - The `vendor/` folder should not be modified manually.
- Third-party code must include licenses.
A non-exclusive list of code that must be places in `vendor/`:
- Open source, free software, or commercially-licensed code.
- Tools or libraries or protocols that are open source, free software, or commercially licensed.
**Thank You!** - Your contributions to open source, large or small, make projects like this possible. Thank you for taking the time to contribute.
## Github Dapr Bot Commands
Checkout the [daprbot documentation](https://docs.dapr.io/contributing/daprbot/) for Github commands you can run in this repo for common tasks. For example, you can run the `/assign` (as a comment on an issue) to assign the issue to yourself.
## Code of Conduct
This project has adopted the [Contributor Covenant Code of Conduct](https://github.com/dapr/community/blob/master/CODE-OF-CONDUCT.md)
================================================
FILE: LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2021 The Dapr Authors.
and others that have contributed code to the public domain.
Licensed 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.
================================================
FILE: README.md
================================================
# Dapr SDK for Java
[](https://central.sonatype.com/artifact/io.dapr/dapr-sdk) [](https://github.com/dapr/java-sdk/actions/workflows/build.yml) [](https://codecov.io/gh/dapr/java-sdk) [](https://github.com/dapr/java-sdk/blob/master/LICENSE) [](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fdapr%2Fjava-sdk?ref=badge_shield) [](https://github.com/dapr/java-sdk/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) [](http://bit.ly/dapr-discord) [](https://youtube.com/@daprdev) [](https://twitter.com/daprdev)
This is the Dapr SDK for Java, including the following features:
* PubSub
* Service Invocation
* Binding
* State Store
* Actors
* Workflows
## Getting Started
### Architecture Overview
The diagram below shows how a Java application interacts with the Dapr runtime through the Java SDK:
```mermaid
flowchart LR
A[End User Application] -->|HTTP or gRPC| B[Dapr Java SDK]
B -->|Dapr API calls| C[Dapr Sidecar]
C -->|Components| D[State Stores, Pub/Sub, Services, etc.]
%% Optional grouping for clarity
subgraph R[Dapr Runtime]
C
D
end
```
For the full list of available APIs, see the [Dapr API reference](https://docs.dapr.io/reference/api/)
### Pre-Requisites
* SDKMAN! installed (recommended):
* [SDKMAN!](https://sdkman.io)
* Java IDE installed:
* [IntelliJ](https://www.jetbrains.com/idea/download/)
* [Eclipse](https://www.eclipse.org/downloads/)
* [Apache NetBeans](https://netbeans.apache.org/download/index.html)
* [Visual Studio Code](https://code.visualstudio.com/Download)
* Any other IDE for Java that you prefer.
* Install one of the following build tools for Java:
* [Maven 3.x](https://maven.apache.org/install.html)
* [Gradle 6.x](https://gradle.org/install/)
* If needed, install the corresponding plugin for the build tool in your IDE, for example:
* [Maven in IntelliJ](https://www.jetbrains.com/help/idea/maven.html)
* [Gradle in IntelliJ](https://www.jetbrains.com/help/idea/gradle-settings.html)
* [Maven in Eclipse with m2e](https://projects.eclipse.org/projects/technology.m2e)
* [Gradle in Eclipse with Buildship](https://projects.eclipse.org/projects/tools.buildship)
* An existing Java Maven or Gradle project. You may also start a new project via one of the options below:
* [New Maven project in IntelliJ](https://www.jetbrains.com/help/idea/maven-support.html#create_new_maven_project)
* [Maven in 5 minutes](https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html)
* [Install toxiproxy-server binary](https://github.com/Shopify/toxiproxy/releases)
### Install JDK
If using [SDKMAN!](https://sdkman.io), execute `sdk env install` to install the required JDK.
### Importing Dapr's Java SDK
#### Using a BOM (recommended)
Two BOMs are published:
- **`io.dapr:dapr-sdk-bom`** — core SDK modules (`dapr-sdk`, `dapr-sdk-actors`, `dapr-sdk-workflows`, `dapr-sdk-autogen`, `durabletask-client`, `testcontainers-dapr`) plus security-patched transitive dependencies (Netty, Jackson, commons-compress, commons-codec).
- **`io.dapr.spring:dapr-spring-bom`** — Spring-specific modules (`dapr-sdk-springboot`, `dapr-spring-*`). Imports `dapr-sdk-bom` transitively, so Spring users only need this single BOM.
Pick the one that matches your project. Importing a BOM ensures you inherit security fixes for transitive dependencies like the Netty CVEs.
##### Core (non-Spring) projects
For Maven:
```xml
<project>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-bom</artifactId>
<version>1.18.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Dapr's core SDK with all features, except Actors. -->
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk</artifactId>
</dependency>
<!-- Dapr's SDK for Actors (optional). -->
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-actors</artifactId>
</dependency>
</dependencies>
...
</project>
```
For Gradle:
```groovy
dependencies {
implementation platform('io.dapr:dapr-sdk-bom:1.18.0')
// Dapr's core SDK with all features, except Actors.
implementation 'io.dapr:dapr-sdk'
// Dapr's SDK for Actors (optional).
implementation 'io.dapr:dapr-sdk-actors'
}
```
##### Spring Boot projects
For Maven:
```xml
<project>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-bom</artifactId>
<version>1.18.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Dapr's SDK integration with Spring Boot. -->
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-springboot</artifactId>
</dependency>
<!-- Optional Spring Boot starter. -->
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-boot-starter</artifactId>
</dependency>
</dependencies>
...
</project>
```
For Gradle:
```groovy
dependencies {
implementation platform('io.dapr.spring:dapr-spring-bom:1.18.0')
// Dapr's SDK integration with Spring Boot.
implementation 'io.dapr:dapr-sdk-springboot'
// Optional Spring Boot starter.
implementation 'io.dapr.spring:dapr-spring-boot-starter'
}
```
#### Without the BOM
If you prefer to manage versions manually, specify the version on each dependency:
For Maven:
```xml
<project>
...
<dependencies>
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk</artifactId>
<version>1.17.2</version>
</dependency>
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-actors</artifactId>
<version>1.17.2</version>
</dependency>
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-springboot</artifactId>
<version>1.17.2</version>
</dependency>
</dependencies>
...
</project>
```
For Gradle:
```groovy
dependencies {
implementation 'io.dapr:dapr-sdk:1.17.2'
implementation 'io.dapr:dapr-sdk-actors:1.17.2'
implementation 'io.dapr:dapr-sdk-springboot:1.17.2'
}
```
### Running the examples
Clone this repository including the submodules:
```sh
git clone https://github.com/dapr/java-sdk.git
```
Then head over to build the [Maven](https://maven.apache.org/install.html) (Apache Maven version 3.x) project:
```sh
# make sure you are in the `java-sdk` directory.
./mvnw clean install
```
Try the following examples to learn more about Dapr's Java SDK:
* [Invoking a Http service](./examples/src/main/java/io/dapr/examples/invoke/http)
* [Invoking a Grpc service](./examples/src/main/java/io/dapr/examples/invoke/grpc)
* [State management](./examples/src/main/java/io/dapr/examples/state)
* [PubSub with subscriber](./examples/src/main/java/io/dapr/examples/pubsub/)
* [PubSub with streaming subscription](./examples/src/main/java/io/dapr/examples/pubsub/stream/)
* [Binding with input over Http](./examples/src/main/java/io/dapr/examples/bindings/http)
* [Actors](./examples/src/main/java/io/dapr/examples/actors/)
* [Workflows](./examples/src/main/java/io/dapr/examples/workflows/)
* [Secrets management](./examples/src/main/java/io/dapr/examples/secrets)
* [Configuration](./examples/src/main/java/io/dapr/examples/configuration)
* [Distributed tracing with OpenTelemetry SDK](./examples/src/main/java/io/dapr/examples/tracing)
* [Exception handling](./examples/src/main/java/io/dapr/examples/exception)
* [Unit testing](./examples/src/main/java/io/dapr/examples/unittesting)
### Running Spring Boot examples
The Spring Boot integration for Dapr use [Testcontainers](https://testcontainers.com) to set up a local environment development flow that doesn't
require the use of the `dapr` CLI and it integrates with the Spring Boot programming model.
You can find a [step-by-step tutorial showing this integration here](./spring-boot-examples/README.md).
### API Documentation
Please, refer to our [Javadoc](https://dapr.github.io/java-sdk/) website.
### Reactor API
The Java SDK for Dapr is built using [Project Reactor](https://projectreactor.io/). It provides an asynchronous API for Java. A result is consumed synchronously by using the `block()` method, as shown in the examples referenced above.
The code below does not make any API call, it simply returns the [Mono](https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Mono.html) publisher object. Nothing happens until the application subscribes or blocks on the result:
```java
Mono<Void> result = daprClient.publishEvent("mytopic", "my message");
```
To start execution and receive the result object synchronously (`void` or `Void` becomes an empty result), use `block()`. The code below shows how to execute the call and consume an empty response:
```java
Mono<Void> result = daprClient.publishEvent("mytopic", "my message");
result.block();
```
### How to use a custom serializer
This SDK provides a basic serialization for request/response objects, and state objects. Applications should provide their own serialization for production scenarios.
1. Implement the [DaprObjectSerializer](https://dapr.github.io/java-sdk/io/dapr/serializer/DaprObjectSerializer.html) interface. See [this class](sdk-actors/src/test/java/io/dapr/actors/runtime/JavaSerializer.java) as an example.
2. Use your serializer class in the following scenarios:
* When building a new instance of [DaprClient](https://dapr.github.io/java-sdk/io/dapr/client/DaprClient.html):
```java
DaprClient client = (new DaprClientBuilder())
.withObjectSerializer(new MyObjectSerializer()) // for request/response objects.
.withStateSerializer(new MyStateSerializer()) // for state objects.
.build();
```
* When registering an Actor Type:
```java
ActorRuntime.getInstance().registerActor(
DemoActorImpl.class,
new MyObjectSerializer(), // for request/response objects.
new MyStateSerializer()); // for state objects.
```
* When building a new instance of [ActorProxy](https://dapr.github.io/java-sdk/io/dapr/actors/client/ActorProxy.html) to invoke an Actor instance, use the same serializer as when registering the Actor Type:
```java
try (ActorClient actorClient = new ActorClient()) {
DemoActor actor = (new ActorProxyBuilder(DemoActor.class, actorClient))
.withObjectSerializer(new MyObjectSerializer()) // for request/response objects.
.build(new ActorId("100"));
}
```
### Debug a Java application or Dapr's Java SDK
**In IntelliJ Community Edition, consider [debugging in IntelliJ](https://docs.dapr.io/developing-applications/local-development/ides/intellij/).**
**In Visual Studio Code, consider [debugging in Visual Studio Code](https://docs.dapr.io/developing-applications/local-development/ides/vscode/).**
If you need to debug your Application, run the Dapr sidecar separately, and then start the application from your IDE (IntelliJ or Eclipse, for example).
For Linux and MacOS:
```sh
dapr run --app-id testapp --app-port 3000 --dapr-http-port 3500 --dapr-grpc-port 5001
```
> Note: confirm the correct port that the app will listen to and that the Dapr ports above are free, changing the ports if necessary.
When running your Java application from your IDE, make sure the following environment variables are set, so the Java SDK knows how to connect to Dapr's sidecar:
```
DAPR_HTTP_PORT=3500
DAPR_GRPC_PORT=5001
```
Now you can go to your IDE and debug your Java application, using port `3500` to call Dapr while also listening to port `3000` to expose Dapr's callback endpoint.
### Exception handling
Most exceptions thrown from the SDK are instances of `DaprException`. `DaprException` extends from `RuntimeException`, making it compatible with Project Reactor. See the [exception example](./examples/src/main/java/io/dapr/examples/exception) for more details.
## Development
### Update URL to fetch proto files
Change the `dapr.proto.baseurl` property below in [pom.xml](./pom.xml) to point to the URL for the desired commit hash in Git if you need to target a proto file that is not been merged into master yet.
Note: You may need to run `./mvnw clean` after changing this setting to remove any auto-generated files so that the new proto files get downloaded and compiled.
```xml
<project>
...
<properties>
...
<!-- change this .... -->
<dapr.proto.baseurl>https://raw.githubusercontent.com/dapr/dapr/(current ref in pom.xml)/dapr/proto</dapr.proto.baseurl>
<!-- to something like this: -->
<dapr.proto.baseurl>https://raw.githubusercontent.com/dapr/dapr/1ac5d0e8590a7d6772c9957c236351ed992ccb19/dapr/proto</dapr.proto.baseurl>
...
</properties>
...
</project>
```
### Running Integration Tests (ITs)
#### Pre-Requisites
* [Pre-Requisites for the SDK](#pre-requisites)
* Docker installed
* [Docker Compose](https://docs.docker.com/compose/install/)
* [Docker Desktop](https://www.docker.com/products/docker-desktop)
* Bash shell
* In Windows use [WSL2](https://docs.microsoft.com/en-us/windows/wsl/install)
* In Linux and Mac, default shells are enough
#### Code
The code for the tests are present inside the project [sdk-tests](./sdk-tests). This module alone can be imported as a separate project in IDEs.
This project depends on the rest of the JARs built by the other modules in the repo like [sdk](./sdk), [sdk-springboot](./sdk-springboot) etc.
As a starting point for running the Integration Tests, first run `./mvnw clean install` from the root of the repo to build the JARs for the different modules, except the `sdk-tests` module.
#### Run all the dependent services spun up during build
During normal CI build, docker compose is used to bring up services like MongoDB, Hashicorp Vault, Apache Zookeeper, Kafka etc.
Similarly, all of these need to be run for running the ITs either individually or as a whole.
Run the following commands from the root of the repo to start all the docker containers that the tests depend on.
```bash
docker compose -f ./sdk-tests/deploy/local-test.yml up -d
```
To stop the containers and services, run the following commands.
```bash
docker compose -f ./sdk-tests/deploy/local-test.yml down
```
#### Run all ITs from command line
From the `java-sdk` repo root, change to the `sdk-tests` directory and run the following command.
```bash
## with current directory as /java-sdk/sdk-tests/
../mvnw clean install
```
The above command runs all the integration tests present in the `sdk-tests` project.
#### Run Individual tests from IntelliJ
In IntelliJ, go to `File > New > Project from Existing Sources...`. Import the `sdk-tests` project.
Once the project has been imported, the individual tests can be run normally as any Unit Tests, from the IDE itself.
.
> Sometimes when the `sdk-tests` project does not build correctly, try `File > Invalidate Caches...` and try restarting IntelliJ.
You should be able to set breakpoints and Debug the test directly from IntelliJ itself as seen from the above image.
================================================
FILE: checkstyle.xml
================================================
<?xml version="1.0"?>
<!--
Copyright 2021 The Dapr Authors
Licensed 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.
-->
<!DOCTYPE module PUBLIC
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
<!--
Checkstyle configuration that checks the Google coding conventions from Google Java Style
that can be found at https://google.github.io/styleguide/javaguide.html
Checkstyle is very configurable. Be sure to read the documentation at
http://checkstyle.sf.net (or in your downloaded distribution).
To completely disable a check, just comment it out or delete it from the file.
Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
-->
<module name="Checker">
<property name="charset" value="UTF-8"/>
<property name="severity" value="warning"/>
<property name="fileExtensions" value="java, properties, xml"/>
<!-- Excludes all 'module-info.java' files -->
<!-- See https://checkstyle.org/config_filefilters.html -->
<module name="BeforeExecutionExclusionFileFilter">
<property name="fileNamePattern" value="module\-info\.java$"/>
</module>
<!-- Checks for whitespace -->
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
<module name="FileTabCharacter">
<property name="eachLine" value="true"/>
</module>
<module name="LineLength">
<property name="fileExtensions" value="java"/>
<property name="max" value="120"/>
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
</module>
<module name="RegexpHeader">
<property name="fileExtensions" value="java"/>
</module>
<module name="TreeWalker">
<module name="OuterTypeFilename"/>
<module name="IllegalTokenText">
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
<property name="format"
value="\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
<property name="message"
value="Consider using special escape sequence instead of octal value or Unicode escaped value."/>
</module>
<module name="AvoidEscapedUnicodeCharacters">
<property name="allowEscapesForControlCharacters" value="true"/>
<property name="allowByTailComment" value="true"/>
<property name="allowNonPrintableEscapes" value="true"/>
</module>
<module name="AvoidStarImport"/>
<module name="OneTopLevelClass"/>
<module name="NoLineWrap"/>
<module name="EmptyBlock">
<property name="option" value="TEXT"/>
<property name="tokens"
value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
</module>
<module name="NeedBraces"/>
<module name="LeftCurly"/>
<module name="RightCurly">
<property name="id" value="RightCurlySame"/>
<property name="tokens"
value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE,
LITERAL_DO"/>
</module>
<module name="RightCurly">
<property name="id" value="RightCurlyAlone"/>
<property name="option" value="alone"/>
<property name="tokens"
value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT,
INSTANCE_INIT"/>
</module>
<module name="WhitespaceAround">
<property name="allowEmptyConstructors" value="true"/>
<property name="allowEmptyLambdas" value="true"/>
<property name="allowEmptyMethods" value="true"/>
<property name="allowEmptyTypes" value="true"/>
<property name="allowEmptyLoops" value="true"/>
<message key="ws.notFollowed"
value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
<message key="ws.notPreceded"
value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
</module>
<module name="OneStatementPerLine"/>
<module name="MultipleVariableDeclarations"/>
<module name="ArrayTypeStyle"/>
<module name="MissingSwitchDefault"/>
<module name="FallThrough"/>
<module name="UpperEll"/>
<module name="ModifierOrder"/>
<module name="EmptyLineSeparator">
<property name="allowNoEmptyLineBetweenFields" value="true"/>
<property name="allowMultipleEmptyLines" value="false"/>
</module>
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrapDot"/>
<property name="tokens" value="DOT"/>
<property name="option" value="nl"/>
</module>
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrapComma"/>
<property name="tokens" value="COMMA"/>
<property name="option" value="EOL"/>
</module>
<module name="SeparatorWrap">
<!-- ELLIPSIS is EOL until https://github.com/google/styleguide/issues/258 -->
<property name="id" value="SeparatorWrapEllipsis"/>
<property name="tokens" value="ELLIPSIS"/>
<property name="option" value="EOL"/>
</module>
<module name="SeparatorWrap">
<!-- ARRAY_DECLARATOR is EOL until https://github.com/google/styleguide/issues/259 -->
<property name="id" value="SeparatorWrapArrayDeclarator"/>
<property name="tokens" value="ARRAY_DECLARATOR"/>
<property name="option" value="EOL"/>
</module>
<module name="SeparatorWrap">
<property name="id" value="SeparatorWrapMethodRef"/>
<property name="tokens" value="METHOD_REF"/>
<property name="option" value="nl"/>
</module>
<module name="PackageName">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
<message key="name.invalidPattern"
value="Package name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="TypeName">
<message key="name.invalidPattern"
value="Type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="MemberName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
<message key="name.invalidPattern"
value="Member name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ParameterName">
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="LambdaParameterName">
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Lambda parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="CatchParameterName">
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="LocalVariableName">
<property name="tokens" value="VARIABLE_DEF"/>
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
<message key="name.invalidPattern"
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="ClassTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Class type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="MethodTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Method type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="InterfaceTypeParameterName">
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern"
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="NoFinalizer"/>
<module name="GenericWhitespace">
<message key="ws.followed"
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
<message key="ws.preceded"
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
<message key="ws.illegalFollow"
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
<message key="ws.notPreceded"
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
</module>
<module name="Indentation">
<property name="basicOffset" value="2"/>
<property name="braceAdjustment" value="0"/>
<property name="caseIndent" value="2"/>
<property name="throwsIndent" value="4"/>
<property name="lineWrappingIndentation" value="4"/>
<property name="arrayInitIndent" value="2"/>
</module>
<module name="AbbreviationAsWordInName">
<property name="ignoreFinal" value="false"/>
<property name="allowedAbbreviationLength" value="1"/>
</module>
<module name="OverloadMethodsDeclarationOrder"/>
<module name="VariableDeclarationUsageDistance"/>
<module name="MethodParamPad"/>
<module name="NoWhitespaceBefore">
<property name="tokens"
value="COMMA, SEMI, POST_INC, POST_DEC, DOT, ELLIPSIS, METHOD_REF"/>
<property name="allowLineBreaks" value="true"/>
</module>
<module name="ParenPad"/>
<module name="OperatorWrap">
<property name="option" value="NL"/>
<property name="tokens"
value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR,
LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF "/>
</module>
<module name="AnnotationLocation">
<property name="id" value="AnnotationLocationMostCases"/>
<property name="tokens"
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
</module>
<module name="AnnotationLocation">
<property name="id" value="AnnotationLocationVariables"/>
<property name="tokens" value="VARIABLE_DEF"/>
<property name="allowSamelineMultipleAnnotations" value="true"/>
</module>
<module name="NonEmptyAtclauseDescription"/>
<module name="InvalidJavadocPosition"/>
<module name="JavadocTagContinuationIndentation"/>
<module name="SummaryJavadoc">
<property name="forbiddenSummaryFragments"
value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
</module>
<module name="JavadocParagraph"/>
<module name="AtclauseOrder">
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
<property name="target"
value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
</module>
<module name="JavadocMethod">
<property name="accessModifiers" value="public"/>
<property name="allowedAnnotations" value="Override, Test"/>
</module>
<module name="MissingJavadocMethod">
<property name="scope" value="public"/>
<property name="minLineCount" value="2"/>
<property name="allowedAnnotations" value="Override, Test"/>
</module>
<module name="MethodName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
<message key="name.invalidPattern"
value="Method name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="SingleLineJavadoc">
<property name="ignoreInlineTags" value="false"/>
</module>
<module name="EmptyCatchBlock">
<property name="exceptionVariableName" value="expected"/>
</module>
<module name="CommentsIndentation"/>
<module name="ImportOrder">
<property name="groups" value="*,javax,java"/>
<property name="ordered" value="true"/>
<property name="separated" value="true"/>
<property name="option" value="bottom"/>
<property name="sortStaticImportsAlphabetically" value="true"/>
</module>
<module name="SuppressionXpathSingleFilter">
<property name="checks" value="ImportOrder"/>
<property name="message" value="^'java\..*'.*"/>
</module>
<module name="SuppressWarningsHolder"/>
</module>
<module name="SuppressWarningsFilter"/>
<module name="RegexpHeader">
<property name="headerFile" value="${checkstyle.header.file}"/>
<property name="fileExtensions" value="java,xml"/>
</module>
<module name="SuppressionSingleFilter">
<property name="checks" value="RegexpHeader"/>
<property name="files" value=".*\.properties$"/>
</module>
<module name="NewlineAtEndOfFile"/>
</module>
================================================
FILE: dapr-spring/dapr-spring-6-data/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-parent</artifactId>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>dapr-spring-6-data</artifactId>
<name>dapr-spring-data-6</name>
<description>Dapr Spring Data 6</description>
<packaging>jar</packaging>
<properties>
<springboot4.version>4.0.5</springboot4.version>
<!-- Override JUnit version to align with Spring Boot 4.x -->
<junit-bom.version>6.0.2</junit-bom.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${springboot4.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-keyvalue</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
</dependency>
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/AbstractDaprKeyValueAdapter.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring6.data;
import io.dapr.client.DaprClient;
import io.dapr.client.domain.GetStateRequest;
import io.dapr.client.domain.SaveStateRequest;
import io.dapr.client.domain.State;
import io.dapr.utils.TypeRef;
import org.springframework.data.keyvalue.core.KeyValueAdapter;
import org.springframework.data.util.CloseableIterator;
import org.springframework.util.Assert;
import reactor.core.publisher.Mono;
import java.util.Map;
public abstract class AbstractDaprKeyValueAdapter implements KeyValueAdapter {
private static final Map<String, String> CONTENT_TYPE_META = Map.of(
"contentType", "application/json");
private final DaprClient daprClient;
private final String stateStoreName;
protected AbstractDaprKeyValueAdapter(DaprClient daprClient, String stateStoreName) {
Assert.notNull(daprClient, "DaprClient must not be null");
Assert.hasText(stateStoreName, "State store name must not be empty");
this.daprClient = daprClient;
this.stateStoreName = stateStoreName;
}
@Override
public void destroy() throws Exception {
daprClient.close();
}
@Override
public void clear() {
// Ignore
}
@Override
public Object put(Object id, Object item, String keyspace) {
Assert.notNull(id, "Id must not be null");
Assert.notNull(item, "Item must not be null");
Assert.hasText(keyspace, "Keyspace must not be empty");
String key = resolveKey(keyspace, id);
State<Object> state = new State<>(key, item, null, CONTENT_TYPE_META, null);
SaveStateRequest request = new SaveStateRequest(stateStoreName).setStates(state);
daprClient.saveBulkState(request).block();
return item;
}
@Override
public boolean contains(Object id, String keyspace) {
return get(id, keyspace) != null;
}
@Override
public Object get(Object id, String keyspace) {
Assert.notNull(id, "Id must not be null");
Assert.hasText(keyspace, "Keyspace must not be empty");
String key = resolveKey(keyspace, id);
return resolveValue(daprClient.getState(stateStoreName, key, Object.class));
}
@Override
public <T> T get(Object id, String keyspace, Class<T> type) {
Assert.notNull(id, "Id must not be null");
Assert.hasText(keyspace, "Keyspace must not be empty");
Assert.notNull(type, "Type must not be null");
String key = resolveKey(keyspace, id);
GetStateRequest stateRequest = new GetStateRequest(stateStoreName, key).setMetadata(CONTENT_TYPE_META);
return resolveValue(daprClient.getState(stateRequest, TypeRef.get(type)));
}
@Override
public Object delete(Object id, String keyspace) {
Object result = get(id, keyspace);
if (result == null) {
return null;
}
String key = resolveKey(keyspace, id);
daprClient.deleteState(stateStoreName, key).block();
return result;
}
@Override
public <T> T delete(Object id, String keyspace, Class<T> type) {
T result = get(id, keyspace, type);
if (result == null) {
return null;
}
String key = resolveKey(keyspace, id);
daprClient.deleteState(stateStoreName, key).block();
return result;
}
@Override
public Iterable<Object> getAllOf(String keyspace) {
return getAllOf(keyspace, Object.class);
}
@Override
public CloseableIterator<Map.Entry<Object, Object>> entries(String keyspace) {
throw new UnsupportedOperationException("'entries' method is not supported");
}
private String resolveKey(String keyspace, Object id) {
return String.format("%s-%s", keyspace, id);
}
private <T> T resolveValue(Mono<State<T>> state) {
if (state == null) {
return null;
}
return state.blockOptional().map(State::getValue).orElse(null);
}
}
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DaprKeyValueAdapterResolver.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring6.data;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.dapr.client.DaprClient;
import io.dapr.client.domain.ComponentMetadata;
import io.dapr.client.domain.DaprMetadata;
import org.springframework.data.keyvalue.core.KeyValueAdapter;
import java.util.List;
import java.util.Set;
public class DaprKeyValueAdapterResolver implements KeyValueAdapterResolver {
private static final Set<String> MYSQL_MARKERS = Set.of("state.mysql-v1", "bindings.mysql-v1");
private static final Set<String> POSTGRESQL_MARKERS = Set.of("state.postgresql-v1", "bindings.postgresql-v1");
private final DaprClient daprClient;
private final ObjectMapper mapper;
private final String stateStoreName;
private final String bindingName;
/**
* Constructs a {@link DaprKeyValueAdapterResolver}.
*
* @param daprClient The Dapr client.
* @param mapper The object mapper.
* @param stateStoreName The state store name.
* @param bindingName The binding name.
*/
public DaprKeyValueAdapterResolver(DaprClient daprClient, ObjectMapper mapper, String stateStoreName,
String bindingName) {
this.daprClient = daprClient;
this.mapper = mapper;
this.stateStoreName = stateStoreName;
this.bindingName = bindingName;
}
@Override
public KeyValueAdapter resolve() {
DaprMetadata metadata = daprClient.getMetadata().block();
if (metadata == null) {
throw new IllegalStateException("No Dapr metadata found");
}
List<ComponentMetadata> components = metadata.getComponents();
if (components == null || components.isEmpty()) {
throw new IllegalStateException("No components found in Dapr metadata");
}
if (shouldUseMySQL(components, stateStoreName, bindingName)) {
return new MySQLDaprKeyValueAdapter(daprClient, mapper, stateStoreName, bindingName);
}
if (shouldUsePostgreSQL(components, stateStoreName, bindingName)) {
return new PostgreSQLDaprKeyValueAdapter(daprClient, mapper, stateStoreName, bindingName);
}
throw new IllegalStateException("Could find any adapter matching the given state store and binding");
}
@SuppressWarnings("AbbreviationAsWordInName")
private boolean shouldUseMySQL(List<ComponentMetadata> components, String stateStoreName, String bindingName) {
boolean stateStoreMatched = components.stream().anyMatch(x -> matchBy(stateStoreName, MYSQL_MARKERS, x));
boolean bindingMatched = components.stream().anyMatch(x -> matchBy(bindingName, MYSQL_MARKERS, x));
return stateStoreMatched && bindingMatched;
}
@SuppressWarnings("AbbreviationAsWordInName")
private boolean shouldUsePostgreSQL(List<ComponentMetadata> components, String stateStoreName, String bindingName) {
boolean stateStoreMatched = components.stream().anyMatch(x -> matchBy(stateStoreName, POSTGRESQL_MARKERS, x));
boolean bindingMatched = components.stream().anyMatch(x -> matchBy(bindingName, POSTGRESQL_MARKERS, x));
return stateStoreMatched && bindingMatched;
}
private boolean matchBy(String name, Set<String> markers, ComponentMetadata componentMetadata) {
return componentMetadata.getName().equals(name) && markers.contains(getTypeAndVersion(componentMetadata));
}
private String getTypeAndVersion(ComponentMetadata component) {
return component.getType() + "-" + component.getVersion();
}
}
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DaprKeyValueTemplate.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring6.data;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationEventPublisherAware;
import org.springframework.dao.DataAccessException;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.dao.support.PersistenceExceptionTranslator;
import org.springframework.data.domain.Sort;
import org.springframework.data.keyvalue.core.IdentifierGenerator;
import org.springframework.data.keyvalue.core.KeyValueAdapter;
import org.springframework.data.keyvalue.core.KeyValueCallback;
import org.springframework.data.keyvalue.core.KeyValueOperations;
import org.springframework.data.keyvalue.core.KeyValuePersistenceExceptionTranslator;
import org.springframework.data.keyvalue.core.event.KeyValueEvent;
import org.springframework.data.keyvalue.core.mapping.KeyValuePersistentEntity;
import org.springframework.data.keyvalue.core.mapping.KeyValuePersistentProperty;
import org.springframework.data.keyvalue.core.mapping.context.KeyValueMappingContext;
import org.springframework.data.keyvalue.core.query.KeyValueQuery;
import org.springframework.data.mapping.context.MappingContext;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.Set;
public class DaprKeyValueTemplate implements KeyValueOperations, ApplicationEventPublisherAware {
private static final PersistenceExceptionTranslator DEFAULT_PERSISTENCE_EXCEPTION_TRANSLATOR =
new KeyValuePersistenceExceptionTranslator();
private final KeyValueAdapter adapter;
private final MappingContext<? extends KeyValuePersistentEntity<?, ?>, ? extends KeyValuePersistentProperty<?>>
mappingContext;
private final IdentifierGenerator identifierGenerator;
private PersistenceExceptionTranslator exceptionTranslator = DEFAULT_PERSISTENCE_EXCEPTION_TRANSLATOR;
private @Nullable ApplicationEventPublisher eventPublisher;
private boolean publishEvents = false;
private @SuppressWarnings("rawtypes") Set<Class<? extends KeyValueEvent>> eventTypesToPublish = Collections
.emptySet();
/**
* Create new {@link DaprKeyValueTemplate} using the given {@link KeyValueAdapterResolver} with a default
* {@link KeyValueMappingContext}.
*
* @param resolver must not be {@literal null}.
*/
public DaprKeyValueTemplate(KeyValueAdapterResolver resolver) {
this(resolver, new KeyValueMappingContext<>());
}
/**
* Create new {@link DaprKeyValueTemplate} using the given {@link KeyValueAdapterResolver} and {@link MappingContext}.
*
* @param resolver must not be {@literal null}.
* @param mappingContext must not be {@literal null}.
*/
@SuppressWarnings("LineLength")
public DaprKeyValueTemplate(KeyValueAdapterResolver resolver,
MappingContext<? extends KeyValuePersistentEntity<?, ?>, ? extends KeyValuePersistentProperty<?>> mappingContext) {
this(resolver, mappingContext, DefaultIdentifierGenerator.INSTANCE);
}
/**
* Create new {@link DaprKeyValueTemplate} using the given {@link KeyValueAdapterResolver} and {@link MappingContext}.
*
* @param resolver must not be {@literal null}.
* @param mappingContext must not be {@literal null}.
* @param identifierGenerator must not be {@literal null}.
*/
@SuppressWarnings("LineLength")
public DaprKeyValueTemplate(KeyValueAdapterResolver resolver,
MappingContext<? extends KeyValuePersistentEntity<?, ?>, ? extends KeyValuePersistentProperty<?>> mappingContext,
IdentifierGenerator identifierGenerator) {
Assert.notNull(resolver, "Resolver must not be null");
Assert.notNull(mappingContext, "MappingContext must not be null");
Assert.notNull(identifierGenerator, "IdentifierGenerator must not be null");
this.adapter = resolver.resolve();
this.mappingContext = mappingContext;
this.identifierGenerator = identifierGenerator;
}
private static boolean typeCheck(Class<?> requiredType, @Nullable Object candidate) {
return candidate == null || ClassUtils.isAssignable(requiredType, candidate.getClass());
}
public void setExceptionTranslator(PersistenceExceptionTranslator exceptionTranslator) {
Assert.notNull(exceptionTranslator, "ExceptionTranslator must not be null");
this.exceptionTranslator = exceptionTranslator;
}
/**
* Set the {@link ApplicationEventPublisher} to be used to publish {@link KeyValueEvent}s.
*
* @param eventTypesToPublish must not be {@literal null}.
*/
@SuppressWarnings("rawtypes")
public void setEventTypesToPublish(Set<Class<? extends KeyValueEvent>> eventTypesToPublish) {
if (CollectionUtils.isEmpty(eventTypesToPublish)) {
this.publishEvents = false;
} else {
this.publishEvents = true;
this.eventTypesToPublish = Collections.unmodifiableSet(eventTypesToPublish);
}
}
@Override
public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
this.eventPublisher = applicationEventPublisher;
}
@Override
public <T> T insert(T objectToInsert) {
KeyValuePersistentEntity<?, ?> entity = getKeyValuePersistentEntity(objectToInsert);
GeneratingIdAccessor generatingIdAccessor = new GeneratingIdAccessor(
entity.getPropertyAccessor(objectToInsert),
entity.getIdProperty(),
identifierGenerator
);
Object id = generatingIdAccessor.getOrGenerateIdentifier();
return insert(id, objectToInsert);
}
@Override
public <T> T insert(Object id, T objectToInsert) {
Assert.notNull(id, "Id for object to be inserted must not be null");
Assert.notNull(objectToInsert, "Object to be inserted must not be null");
String keyspace = resolveKeySpace(objectToInsert.getClass());
potentiallyPublishEvent(KeyValueEvent.beforeInsert(id, keyspace, objectToInsert.getClass(), objectToInsert));
execute((KeyValueCallback<Void>) adapter -> {
if (adapter.contains(id, keyspace)) {
throw new DuplicateKeyException(
String.format("Cannot insert existing object with id %s; Please use update", id));
}
adapter.put(id, objectToInsert, keyspace);
return null;
});
potentiallyPublishEvent(KeyValueEvent.afterInsert(id, keyspace, objectToInsert.getClass(), objectToInsert));
return objectToInsert;
}
@Override
public <T> T update(T objectToUpdate) {
KeyValuePersistentEntity<?, ?> entity = getKeyValuePersistentEntity(objectToUpdate);
if (!entity.hasIdProperty()) {
throw new InvalidDataAccessApiUsageException(
String.format("Cannot determine id for type %s", ClassUtils.getUserClass(objectToUpdate)));
}
return update(entity.getIdentifierAccessor(objectToUpdate).getRequiredIdentifier(), objectToUpdate);
}
@Override
public <T> T update(Object id, T objectToUpdate) {
Assert.notNull(id, "Id for object to be inserted must not be null");
Assert.notNull(objectToUpdate, "Object to be updated must not be null");
String keyspace = resolveKeySpace(objectToUpdate.getClass());
potentiallyPublishEvent(KeyValueEvent.beforeUpdate(id, keyspace, objectToUpdate.getClass(), objectToUpdate));
Object existing = execute(adapter -> adapter.put(id, objectToUpdate, keyspace));
potentiallyPublishEvent(
KeyValueEvent.afterUpdate(id, keyspace, objectToUpdate.getClass(), objectToUpdate, existing));
return objectToUpdate;
}
@Override
public <T> Optional<T> findById(Object id, Class<T> type) {
Assert.notNull(id, "Id for object to be found must not be null");
Assert.notNull(type, "Type to fetch must not be null");
String keyspace = resolveKeySpace(type);
potentiallyPublishEvent(KeyValueEvent.beforeGet(id, keyspace, type));
T result = execute(adapter -> {
Object value = adapter.get(id, keyspace, type);
if (value == null || typeCheck(type, value)) {
return type.cast(value);
}
return null;
});
potentiallyPublishEvent(KeyValueEvent.afterGet(id, keyspace, type, result));
return Optional.ofNullable(result);
}
@Override
public void delete(Class<?> type) {
Assert.notNull(type, "Type to delete must not be null");
String keyspace = resolveKeySpace(type);
potentiallyPublishEvent(KeyValueEvent.beforeDropKeySpace(keyspace, type));
execute((KeyValueCallback<Void>) adapter -> {
adapter.deleteAllOf(keyspace);
return null;
});
potentiallyPublishEvent(KeyValueEvent.afterDropKeySpace(keyspace, type));
}
@SuppressWarnings("unchecked")
@Override
public <T> T delete(T objectToDelete) {
Class<T> type = (Class<T>) ClassUtils.getUserClass(objectToDelete);
KeyValuePersistentEntity<?, ?> entity = getKeyValuePersistentEntity(objectToDelete);
Object id = entity.getIdentifierAccessor(objectToDelete).getIdentifier();
if (id == null) {
String error = String.format("Cannot determine id for type %s", ClassUtils.getUserClass(objectToDelete));
throw new InvalidDataAccessApiUsageException(error);
}
return delete(id, type);
}
@Override
public <T> T delete(Object id, Class<T> type) {
Assert.notNull(id, "Id for object to be deleted must not be null");
Assert.notNull(type, "Type to delete must not be null");
String keyspace = resolveKeySpace(type);
potentiallyPublishEvent(KeyValueEvent.beforeDelete(id, keyspace, type));
T result = execute(adapter -> adapter.delete(id, keyspace, type));
potentiallyPublishEvent(KeyValueEvent.afterDelete(id, keyspace, type, result));
return result;
}
@Nullable
@Override
public <T> T execute(KeyValueCallback<T> action) {
Assert.notNull(action, "KeyValueCallback must not be null");
try {
return action.doInKeyValue(this.adapter);
} catch (RuntimeException e) {
throw resolveExceptionIfPossible(e);
}
}
protected <T> T executeRequired(KeyValueCallback<T> action) {
T result = execute(action);
if (result != null) {
return result;
}
throw new IllegalStateException(String.format("KeyValueCallback %s returned null value", action));
}
@Override
public <T> Iterable<T> find(KeyValueQuery<?> query, Class<T> type) {
return executeRequired((KeyValueCallback<Iterable<T>>) adapter -> {
Iterable<?> result = adapter.find(query, resolveKeySpace(type), type);
List<T> filtered = new ArrayList<>();
for (Object candidate : result) {
if (typeCheck(type, candidate)) {
filtered.add(type.cast(candidate));
}
}
return filtered;
});
}
@Override
public <T> Iterable<T> findAll(Class<T> type) {
Assert.notNull(type, "Type to fetch must not be null");
return executeRequired(adapter -> {
Iterable<?> values = adapter.getAllOf(resolveKeySpace(type), type);
ArrayList<T> filtered = new ArrayList<>();
for (Object candidate : values) {
if (typeCheck(type, candidate)) {
filtered.add(type.cast(candidate));
}
}
return filtered;
});
}
@SuppressWarnings("rawtypes")
@Override
public <T> Iterable<T> findAll(Sort sort, Class<T> type) {
return find(new KeyValueQuery(sort), type);
}
@SuppressWarnings("rawtypes")
@Override
public <T> Iterable<T> findInRange(long offset, int rows, Class<T> type) {
return find(new KeyValueQuery().skip(offset).limit(rows), type);
}
@SuppressWarnings("rawtypes")
@Override
public <T> Iterable<T> findInRange(long offset, int rows, Sort sort, Class<T> type) {
return find(new KeyValueQuery(sort).skip(offset).limit(rows), type);
}
@Override
public long count(Class<?> type) {
Assert.notNull(type, "Type for count must not be null");
return adapter.count(resolveKeySpace(type));
}
@Override
public long count(KeyValueQuery<?> query, Class<?> type) {
return executeRequired(adapter -> adapter.count(query, resolveKeySpace(type)));
}
@Override
public boolean exists(KeyValueQuery<?> query, Class<?> type) {
return executeRequired(adapter -> adapter.exists(query, resolveKeySpace(type)));
}
@Override
public MappingContext<?, ?> getMappingContext() {
return this.mappingContext;
}
@Override
public KeyValueAdapter getKeyValueAdapter() {
return adapter;
}
@Override
public void destroy() throws Exception {
this.adapter.destroy();
}
private KeyValuePersistentEntity<?, ?> getKeyValuePersistentEntity(Object objectToInsert) {
return this.mappingContext.getRequiredPersistentEntity(ClassUtils.getUserClass(objectToInsert));
}
private String resolveKeySpace(Class<?> type) {
return this.mappingContext.getRequiredPersistentEntity(type).getKeySpace();
}
private RuntimeException resolveExceptionIfPossible(RuntimeException e) {
DataAccessException translatedException = exceptionTranslator.translateExceptionIfPossible(e);
return translatedException != null ? translatedException : e;
}
@SuppressWarnings("rawtypes")
private void potentiallyPublishEvent(KeyValueEvent event) {
if (eventPublisher == null) {
return;
}
if (publishEvents && (eventTypesToPublish.isEmpty() || eventTypesToPublish.contains(event.getClass()))) {
eventPublisher.publishEvent(event);
}
}
}
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DefaultIdentifierGenerator.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring6.data;
import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.data.core.TypeInformation;
import org.springframework.data.keyvalue.core.IdentifierGenerator;
import org.springframework.util.ClassUtils;
import org.springframework.util.StringUtils;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicReference;
/**
* Default implementation of {@link IdentifierGenerator} to generate identifiers of types {@link UUID}.
*/
enum DefaultIdentifierGenerator implements IdentifierGenerator {
INSTANCE;
private final AtomicReference<SecureRandom> secureRandom = new AtomicReference<>(null);
@Override
@SuppressWarnings("unchecked")
public <T> T generateIdentifierOfType(TypeInformation<T> identifierType) {
Class<?> type = identifierType.getType();
if (ClassUtils.isAssignable(UUID.class, type)) {
return (T) UUID.randomUUID();
} else if (ClassUtils.isAssignable(String.class, type)) {
return (T) UUID.randomUUID().toString();
} else if (ClassUtils.isAssignable(Integer.class, type)) {
return (T) Integer.valueOf(getSecureRandom().nextInt());
} else if (ClassUtils.isAssignable(Long.class, type)) {
return (T) Long.valueOf(getSecureRandom().nextLong());
}
throw new InvalidDataAccessApiUsageException(
String.format("Identifier cannot be generated for %s; Supported types are: UUID, String, Integer, and Long",
identifierType.getType().getName()));
}
private SecureRandom getSecureRandom() {
SecureRandom secureRandom = this.secureRandom.get();
if (secureRandom != null) {
return secureRandom;
}
for (String algorithm : OsTools.secureRandomAlgorithmNames()) {
try {
secureRandom = SecureRandom.getInstance(algorithm);
} catch (NoSuchAlgorithmException e) {
// ignore and try next.
}
}
if (secureRandom == null) {
throw new InvalidDataAccessApiUsageException(
String.format("Could not create SecureRandom instance for one of the algorithms '%s'",
StringUtils.collectionToCommaDelimitedString(OsTools.secureRandomAlgorithmNames())));
}
this.secureRandom.compareAndSet(null, secureRandom);
return secureRandom;
}
private static class OsTools {
private static final String OPERATING_SYSTEM_NAME = System.getProperty("os.name").toLowerCase();
private static final List<String> SECURE_RANDOM_ALGORITHMS_LINUX_OSX_SOLARIS = Arrays.asList("NativePRNGBlocking",
"NativePRNGNonBlocking", "NativePRNG", "SHA1PRNG");
private static final List<String> SECURE_RANDOM_ALGORITHMS_WINDOWS = Arrays.asList("SHA1PRNG", "Windows-PRNG");
static List<String> secureRandomAlgorithmNames() {
return OPERATING_SYSTEM_NAME.contains("win") ? SECURE_RANDOM_ALGORITHMS_WINDOWS
: SECURE_RANDOM_ALGORITHMS_LINUX_OSX_SOLARIS;
}
}
}
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/GeneratingIdAccessor.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring6.data;
import org.springframework.data.keyvalue.core.IdentifierGenerator;
import org.springframework.data.mapping.IdentifierAccessor;
import org.springframework.data.mapping.PersistentProperty;
import org.springframework.data.mapping.PersistentPropertyAccessor;
import org.springframework.util.Assert;
/**
* {@link IdentifierAccessor} adding a {@link #getOrGenerateIdentifier()} to automatically generate an identifier and
* set it on the underling bean instance.
*
* @see #getOrGenerateIdentifier()
*/
class GeneratingIdAccessor implements IdentifierAccessor {
private final PersistentPropertyAccessor<?> accessor;
private final PersistentProperty<?> identifierProperty;
private final IdentifierGenerator generator;
/**
* Creates a new {@link GeneratingIdAccessor} using the given {@link PersistentPropertyAccessor}, identifier property
* and {@link IdentifierGenerator}.
*
* @param accessor must not be {@literal null}.
* @param identifierProperty must not be {@literal null}.
* @param generator must not be {@literal null}.
*/
GeneratingIdAccessor(PersistentPropertyAccessor<?> accessor, PersistentProperty<?> identifierProperty,
IdentifierGenerator generator) {
Assert.notNull(accessor, "PersistentPropertyAccessor must not be null");
Assert.notNull(identifierProperty, "Identifier property must not be null");
Assert.notNull(generator, "IdentifierGenerator must not be null");
this.accessor = accessor;
this.identifierProperty = identifierProperty;
this.generator = generator;
}
@Override
public Object getIdentifier() {
return accessor.getProperty(identifierProperty);
}
Object getOrGenerateIdentifier() {
Object existingIdentifier = getIdentifier();
if (existingIdentifier != null) {
return existingIdentifier;
}
Object generatedIdentifier = generator.generateIdentifierOfType(identifierProperty.getTypeInformation());
accessor.setProperty(identifierProperty, generatedIdentifier);
return generatedIdentifier;
}
}
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/KeyValueAdapterResolver.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring6.data;
import org.springframework.data.keyvalue.core.KeyValueAdapter;
public interface KeyValueAdapterResolver {
KeyValueAdapter resolve();
}
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/MySQLDaprKeyValueAdapter.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring6.data;
import com.fasterxml.jackson.core.JsonPointer;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.dapr.client.DaprClient;
import io.dapr.utils.TypeRef;
import org.springframework.data.keyvalue.core.query.KeyValueQuery;
import org.springframework.expression.spel.SpelNode;
import org.springframework.expression.spel.standard.SpelExpression;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.util.Assert;
import java.util.Base64;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* A {@link org.springframework.data.keyvalue.core.KeyValueAdapter} implementation for MySQL.
*/
@SuppressWarnings("AbbreviationAsWordInName")
public class MySQLDaprKeyValueAdapter extends AbstractDaprKeyValueAdapter {
private static final String DELETE_BY_KEYSPACE_PATTERN = "delete from state where id LIKE '%s'";
private static final String SELECT_BY_KEYSPACE_PATTERN = "select value from state where id LIKE '%s'";
private static final String SELECT_BY_FILTER_PATTERN =
"select value from state where id LIKE '%s' and JSON_EXTRACT(value, %s) = %s";
private static final String COUNT_BY_KEYSPACE_PATTERN = "select count(*) as value from state where id LIKE '%s'";
private static final String COUNT_BY_FILTER_PATTERN =
"select count(*) as value from state where id LIKE '%s' and JSON_EXTRACT(value, %s) = %s";
private static final TypeRef<List<JsonNode>> FILTER_TYPE_REF = new TypeRef<>() {
};
private static final TypeRef<List<JsonNode>> COUNT_TYPE_REF = new TypeRef<>() {
};
private static final SpelExpressionParser PARSER = new SpelExpressionParser();
private static final JsonPointer VALUE_POINTER = JsonPointer.compile("/value");
private final DaprClient daprClient;
private final ObjectMapper mapper;
private final String stateStoreName;
private final String bindingName;
/**
* Constructs a {@link MySQLDaprKeyValueAdapter}.
*
* @param daprClient The Dapr client.
* @param mapper The object mapper.
* @param stateStoreName The state store name.
* @param bindingName The binding name.
*/
public MySQLDaprKeyValueAdapter(DaprClient daprClient, ObjectMapper mapper, String stateStoreName,
String bindingName) {
super(daprClient, stateStoreName);
Assert.notNull(mapper, "ObjectMapper must not be null");
Assert.hasText(bindingName, "State store binding must not be empty");
this.daprClient = daprClient;
this.mapper = mapper;
this.stateStoreName = stateStoreName;
this.bindingName = bindingName;
}
@Override
public <T> Iterable<T> getAllOf(String keyspace, Class<T> type) {
Assert.hasText(keyspace, "Keyspace must not be empty");
Assert.notNull(type, "Type must not be null");
String sql = createSql(SELECT_BY_KEYSPACE_PATTERN, keyspace);
List<JsonNode> result = queryUsingBinding(sql, FILTER_TYPE_REF);
return convertValues(result, type);
}
@Override
public void deleteAllOf(String keyspace) {
Assert.hasText(keyspace, "Keyspace must not be empty");
String sql = createSql(DELETE_BY_KEYSPACE_PATTERN, keyspace);
execUsingBinding(sql);
}
@Override
public <T> Iterable<T> find(KeyValueQuery<?> query, String keyspace, Class<T> type) {
Assert.notNull(query, "Query must not be null");
Assert.hasText(keyspace, "Keyspace must not be empty");
Assert.notNull(type, "Type must not be null");
Object criteria = query.getCriteria();
if (criteria == null) {
return getAllOf(keyspace, type);
}
String sql = createSql(SELECT_BY_FILTER_PATTERN, keyspace, criteria);
List<JsonNode> result = queryUsingBinding(sql, FILTER_TYPE_REF);
return convertValues(result, type);
}
@Override
public long count(String keyspace) {
Assert.hasText(keyspace, "Keyspace must not be empty");
String sql = createSql(COUNT_BY_KEYSPACE_PATTERN, keyspace);
List<JsonNode> result = queryUsingBinding(sql, COUNT_TYPE_REF);
return extractCount(result);
}
@Override
public long count(KeyValueQuery<?> query, String keyspace) {
Assert.notNull(query, "Query must not be null");
Assert.hasText(keyspace, "Keyspace must not be empty");
Object criteria = query.getCriteria();
if (criteria == null) {
return count(keyspace);
}
String sql = createSql(COUNT_BY_FILTER_PATTERN, keyspace, criteria);
List<JsonNode> result = queryUsingBinding(sql, COUNT_TYPE_REF);
return extractCount(result);
}
private String getKeyspaceFilter(String keyspace) {
return String.format("%s||%s-%%", stateStoreName, keyspace);
}
private String createSql(String sqlPattern, String keyspace) {
String keyspaceFilter = getKeyspaceFilter(keyspace);
return String.format(sqlPattern, keyspaceFilter);
}
private String createSql(String sqlPattern, String keyspace, Object criteria) {
String keyspaceFilter = getKeyspaceFilter(keyspace);
SpelExpression expression = PARSER.parseRaw(criteria.toString());
SpelNode leftNode = expression.getAST().getChild(0);
SpelNode rightNode = expression.getAST().getChild(1);
String left = String.format("'$.%s'", leftNode.toStringAST());
String right = rightNode.toStringAST();
return String.format(sqlPattern, keyspaceFilter, left, right);
}
private void execUsingBinding(String sql) {
Map<String, String> meta = Map.of("sql", sql);
daprClient.invokeBinding(bindingName, "exec", null, meta).block();
}
private <T> T queryUsingBinding(String sql, TypeRef<T> typeRef) {
Map<String, String> meta = Map.of("sql", sql);
return daprClient.invokeBinding(bindingName, "query", null, meta, typeRef).block();
}
private <T> List<T> convertValues(List<JsonNode> values, Class<T> type) {
if (values == null || values.isEmpty()) {
return Collections.emptyList();
}
return values.stream()
.map(value -> convertValue(value, type))
.collect(Collectors.toList());
}
private <T> T convertValue(JsonNode value, Class<T> type) {
JsonNode valueNode = value.at(VALUE_POINTER);
if (valueNode.isMissingNode()) {
throw new IllegalStateException("Value is missing");
}
try {
// The value is stored as a base64 encoded string and wrapped in quotes
// hence we need to remove the quotes and then decode
String rawValue = valueNode.toString().replace("\"", "");
byte[] decodedValue = Base64.getDecoder().decode(rawValue);
return mapper.readValue(decodedValue, type);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private long extractCount(List<JsonNode> values) {
if (values == null || values.isEmpty()) {
return 0;
}
JsonNode valueNode = values.get(0).at(VALUE_POINTER);
if (valueNode.isMissingNode()) {
throw new IllegalStateException("Count value is missing");
}
if (!valueNode.isNumber()) {
throw new IllegalStateException("Count value is not a number");
}
return valueNode.asLong();
}
}
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/PostgreSQLDaprKeyValueAdapter.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring6.data;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.dapr.client.DaprClient;
import io.dapr.spring6.data.repository.query.DaprPredicate;
import io.dapr.utils.TypeRef;
import org.springframework.data.keyvalue.core.query.KeyValueQuery;
import org.springframework.expression.spel.SpelNode;
import org.springframework.expression.spel.standard.SpelExpression;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.util.Assert;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* A {@link org.springframework.data.keyvalue.core.KeyValueAdapter} implementation for PostgreSQL.
*/
@SuppressWarnings("AbbreviationAsWordInName")
public class PostgreSQLDaprKeyValueAdapter extends AbstractDaprKeyValueAdapter {
private static final String DELETE_BY_KEYSPACE_PATTERN = "delete from state where key LIKE '%s'";
private static final String SELECT_BY_KEYSPACE_PATTERN = "select value from state where key LIKE '%s'";
private static final String SELECT_BY_FILTER_PATTERN =
"select value from state where key LIKE '%s' and JSONB_EXTRACT_PATH_TEXT(value, %s) = %s";
private static final String COUNT_BY_KEYSPACE_PATTERN = "select count(*) as value from state where key LIKE '%s'";
private static final String COUNT_BY_FILTER_PATTERN =
"select count(*) as value from state where key LIKE '%s' and JSONB_EXTRACT_PATH_TEXT(value, %s) = %s";
private static final TypeRef<List<List<Object>>> FILTER_TYPE_REF = new TypeRef<>() {
};
private static final TypeRef<List<List<Long>>> COUNT_TYPE_REF = new TypeRef<>() {
};
private static final SpelExpressionParser PARSER = new SpelExpressionParser();
private final DaprClient daprClient;
private final ObjectMapper mapper;
private final String stateStoreName;
private final String bindingName;
/**
* Constructs a {@link PostgreSQLDaprKeyValueAdapter}.
*
* @param daprClient The Dapr client.
* @param mapper The object mapper.
* @param stateStoreName The state store name.
* @param bindingName The binding name.
*/
public PostgreSQLDaprKeyValueAdapter(DaprClient daprClient, ObjectMapper mapper, String stateStoreName,
String bindingName) {
super(daprClient, stateStoreName);
Assert.notNull(mapper, "ObjectMapper must not be null");
Assert.hasText(bindingName, "State store binding must not be empty");
this.daprClient = daprClient;
this.mapper = mapper;
this.stateStoreName = stateStoreName;
this.bindingName = bindingName;
}
@Override
public <T> Iterable<T> getAllOf(String keyspace, Class<T> type) {
Assert.hasText(keyspace, "Keyspace must not be empty");
Assert.notNull(type, "Type must not be null");
String sql = createSql(SELECT_BY_KEYSPACE_PATTERN, keyspace);
List<List<Object>> result = queryUsingBinding(sql, FILTER_TYPE_REF);
return convertValues(result, type);
}
@Override
public void deleteAllOf(String keyspace) {
Assert.hasText(keyspace, "Keyspace must not be empty");
String sql = createSql(DELETE_BY_KEYSPACE_PATTERN, keyspace);
execUsingBinding(sql);
}
@Override
public <T> Iterable<T> find(KeyValueQuery<?> query, String keyspace, Class<T> type) {
Assert.notNull(query, "Query must not be null");
Assert.hasText(keyspace, "Keyspace must not be empty");
Assert.notNull(type, "Type must not be null");
Object criteria = query.getCriteria();
if (criteria == null) {
return getAllOf(keyspace, type);
}
String sql = createSql(SELECT_BY_FILTER_PATTERN, keyspace, criteria);
List<List<Object>> result = queryUsingBinding(sql, FILTER_TYPE_REF);
return convertValues(result, type);
}
@Override
public long count(String keyspace) {
Assert.hasText(keyspace, "Keyspace must not be empty");
String sql = createSql(COUNT_BY_KEYSPACE_PATTERN, keyspace);
List<List<Long>> result = queryUsingBinding(sql, COUNT_TYPE_REF);
return extractCount(result);
}
@Override
public long count(KeyValueQuery<?> query, String keyspace) {
Assert.notNull(query, "Query must not be null");
Assert.hasText(keyspace, "Keyspace must not be empty");
Object criteria = query.getCriteria();
if (criteria == null) {
return count(keyspace);
}
String sql = createSql(COUNT_BY_FILTER_PATTERN, keyspace, criteria);
List<List<Long>> result = queryUsingBinding(sql, COUNT_TYPE_REF);
return extractCount(result);
}
private String getKeyspaceFilter(String keyspace) {
return String.format("%s||%s-%%", stateStoreName, keyspace);
}
private String createSql(String sqlPattern, String keyspace) {
String keyspaceFilter = getKeyspaceFilter(keyspace);
return String.format(sqlPattern, keyspaceFilter);
}
private String createSql(String sqlPattern, String keyspace, Object criteria) {
String keyspaceFilter = getKeyspaceFilter(keyspace);
if (criteria instanceof DaprPredicate) {
var daprPredicate = (DaprPredicate) criteria;
String path = daprPredicate.getPath().toString();
String pathWithOutType = String.format("'%s'", path.substring(path.indexOf(".") + 1));
String value = String.format("'%s'", daprPredicate.getValue().toString());
return String.format(sqlPattern, keyspaceFilter, pathWithOutType, value);
} else if (criteria instanceof String) {
SpelExpression expression = PARSER.parseRaw(criteria.toString());
SpelNode leftNode = expression.getAST().getChild(0);
SpelNode rightNode = expression.getAST().getChild(1);
String left = String.format("'%s'", leftNode.toStringAST());
String right = rightNode.toStringAST();
return String.format(sqlPattern, keyspaceFilter, left, right);
}
return null;
}
private void execUsingBinding(String sql) {
Map<String, String> meta = Map.of("sql", sql);
daprClient.invokeBinding(bindingName, "exec", null, meta).block();
}
private <T> T queryUsingBinding(String sql, TypeRef<T> typeRef) {
Map<String, String> meta = Map.of("sql", sql);
return daprClient.invokeBinding(bindingName, "query", null, meta, typeRef).block();
}
private <T> Iterable<T> convertValues(List<List<Object>> values, Class<T> type) {
if (values == null || values.isEmpty()) {
return Collections.emptyList();
}
return values.stream()
.flatMap(Collection::stream)
.map(value -> convertValue(value, type))
.collect(Collectors.toList());
}
private <T> T convertValue(Object value, Class<T> type) {
try {
return mapper.convertValue(value, type);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private long extractCount(List<List<Long>> values) {
if (values == null || values.isEmpty()) {
return 0;
}
return values.stream()
.flatMap(Collection::stream)
.collect(Collectors.toList())
.get(0);
}
}
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/DaprRepositoriesRegistrar.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring6.data.repository.config;
import org.springframework.data.repository.config.RepositoryBeanDefinitionRegistrarSupport;
import org.springframework.data.repository.config.RepositoryConfigurationExtension;
import java.lang.annotation.Annotation;
/**
* Dapr specific {@link RepositoryBeanDefinitionRegistrarSupport} implementation.
*/
public class DaprRepositoriesRegistrar extends RepositoryBeanDefinitionRegistrarSupport {
@Override
protected Class<? extends Annotation> getAnnotation() {
return EnableDaprRepositories.class;
}
@Override
protected RepositoryConfigurationExtension getExtension() {
return new DaprRepositoryConfigurationExtension();
}
}
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/DaprRepositoryConfigurationExtension.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring6.data.repository.config;
import org.springframework.data.keyvalue.repository.config.KeyValueRepositoryConfigurationExtension;
import org.springframework.data.repository.config.RepositoryConfigurationExtension;
/**
* {@link RepositoryConfigurationExtension} for Dapr-based repositories.
*/
@SuppressWarnings("unchecked")
public class DaprRepositoryConfigurationExtension extends KeyValueRepositoryConfigurationExtension {
@Override
public String getModuleName() {
return "Dapr";
}
@Override
protected String getModulePrefix() {
return "dapr";
}
@Override
protected String getDefaultKeyValueTemplateRef() {
return "daprKeyValueTemplate";
}
}
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/EnableDaprRepositories.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring6.data.repository.config;
import io.dapr.spring6.data.repository.config.DaprRepositoriesRegistrar;
import io.dapr.spring6.data.repository.query.DaprPredicateQueryCreator;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.context.annotation.ComponentScan.Filter;
import org.springframework.context.annotation.Import;
import org.springframework.data.keyvalue.core.KeyValueOperations;
import org.springframework.data.keyvalue.repository.config.QueryCreatorType;
import org.springframework.data.keyvalue.repository.support.KeyValueRepositoryFactoryBean;
import org.springframework.data.repository.config.DefaultRepositoryBaseClass;
import org.springframework.data.repository.query.QueryLookupStrategy;
import org.springframework.data.repository.query.QueryLookupStrategy.Key;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Annotation to activate Dapr repositories. If no base package is configured through either {@link #value()},
* {@link #basePackages()} or {@link #basePackageClasses()} it will trigger scanning of the package of annotated class.
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Import(DaprRepositoriesRegistrar.class)
@QueryCreatorType(DaprPredicateQueryCreator.class)
public @interface EnableDaprRepositories {
/**
* Alias for the {@link #basePackages()} attribute. Allows for more concise annotation declarations e.g.:
* {@code @EnableJpaRepositories("org.my.pkg")} instead of {@code @EnableJpaRepositories(basePackages="org.my.pkg")}.
*
* @return alias of the base package
*/
String[] value() default {};
/**
* Base packages to scan for annotated components. {@link #value()} is an alias for (and mutually exclusive with) this
* attribute. Use {@link #basePackageClasses()} for a type-safe alternative to String-based package names.
*
* @return array of base packages
*/
String[] basePackages() default {};
/**
* Type-safe alternative to {@link #basePackages()} for specifying the packages to scan for annotated components. The
* package of each class specified will be scanned. Consider creating a special no-op marker class or interface in
* each package that serves no purpose other than being referenced by this attribute.
*
* @return array of base classes
*/
Class<?>[] basePackageClasses() default {};
/**
* Specifies which types are not eligible for component scanning.
*
* @return array of exclusion filters
*/
Filter[] excludeFilters() default {};
/**
* Specifies which types are eligible for component scanning. Further narrows the set of candidate components from
* everything in {@link #basePackages()} to everything in the base packages that matches the given filter or filters.
*
* @return array of inclusion filters
*/
Filter[] includeFilters() default {};
/**
* Returns the postfix to be used when looking up custom repository implementations. Defaults to {@literal Impl}. So
* for a repository named {@code PersonRepository} the corresponding implementation class will be looked up scanning
* for {@code PersonRepositoryImpl}.
*
* @return repository implementation post fix
*/
String repositoryImplementationPostfix() default "Impl";
/**
* Configures the location of where to find the Spring Data named queries properties file.
*
* @return named queries location
*/
String namedQueriesLocation() default "";
/**
* Returns the key of the {@link QueryLookupStrategy} to be used for lookup queries for query methods. Defaults to
* {@link Key#CREATE_IF_NOT_FOUND}.
*
* @return key lookup strategy
*/
Key queryLookupStrategy() default Key.CREATE_IF_NOT_FOUND;
/**
* Returns the {@link FactoryBean} class to be used for each repository instance. Defaults to
* {@link KeyValueRepositoryFactoryBean}.
*
* @return repository factory bean class
*/
Class<?> repositoryFactoryBeanClass() default KeyValueRepositoryFactoryBean.class;
/**
* Configure the repository base class to be used to create repository proxies for this particular configuration.
*
* @return repository base class
*/
Class<?> repositoryBaseClass() default DefaultRepositoryBaseClass.class;
/**
* Configures the name of the {@link KeyValueOperations} bean to be used with the repositories detected.
*
* @return the Key value template bean name
*/
String keyValueTemplateRef() default "daprKeyValueTemplate";
/**
* Configures whether nested repository-interfaces (e.g. defined as inner classes) should be discovered by the
* repositories infrastructure.
*
* @return whether to consider nested repository interfaces
*/
boolean considerNestedRepositories() default false;
}
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicate.java
================================================
/*
* Copyright 2021 The Dapr Authors
* Licensed 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 io.dapr.spring6.data.repository.query;
import org.springframework.beans.BeanWrapper;
import org.springframework.data.core.PropertyPath;
import org.springframework.data.util.DirectFieldAccessFallbackBeanWrapper;
import org.springframework.util.ObjectUtils;
import java.util.function.Function;
import java.util.function.Predicate;
public class DaprPredicate implements Predicate<Object> {
private final PropertyPath path;
private final Function<Object, Boolean> check;
private final Object value;
public DaprPredicate(PropertyPath path, Object expected) {
this(path, expected, (valueToCompare) -> ObjectUtils.nullSafeEquals(valueToCompare, expected));
}
/**
* Creates a new {@link DaprPredicate}.
*
* @param path The path to the property to compare.
* @param value The value to compare.
* @param check The function to check the value.
*/
public DaprPredicate(PropertyPath path, Object value, Function<Object, Boolean> check) {
this.path = path;
this.check = check;
this.value = value;
}
public PropertyPath getPath() {
return path;
}
public Object getValue() {
return value;
}
@Override
public boolean test(Object o) {
Object value = getValueByPath(o, path);
return check.apply(value);
}
private Object getValueByPath(Object root, PropertyPath path) {
Object currentValue = root;
for (PropertyPath currentPath : path) {
currentValue = wrap(currentValue).getPropertyValue(currentPath.getSegment());
if (currentValue == null) {
break;
}
}
return currentValue;
}
private BeanWrapper wrap(Object o) {
return new DirectFieldAccessFallbackBeanWrapper(o);
}
}
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicateBuilder.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring6.data.repository.query;
import io.dapr.spring6.data.repository.query.DaprPredicate;
import org.springframework.data.repository.query.parser.Part;
import org.springframework.util.ObjectUtils;
import org.springframework.util.comparator.Comparators;
import java.util.Collection;
import java.util.Map;
import java.util.Objects;
import java.util.function.Predicate;
import java.util.regex.Pattern;
class DaprPredicateBuilder {
private final Part part;
private DaprPredicateBuilder(Part part) {
this.part = part;
}
static DaprPredicateBuilder propertyValueOf(Part part) {
return new DaprPredicateBuilder(part);
}
Predicate<Object> isTrue() {
return new DaprPredicate(part.getProperty(), true);
}
public Predicate<Object> isFalse() {
return new DaprPredicate(part.getProperty(), false);
}
public Predicate<Object> isEqualTo(Object value) {
return new DaprPredicate(part.getProperty(), value, o -> {
if (!ObjectUtils.nullSafeEquals(Part.IgnoreCaseType.NEVER, part.shouldIgnoreCase())) {
if ((o instanceof String) && (value instanceof String)) {
var s1 = (String)o;
var s2 = (String)value;
return s1.equalsIgnoreCase(s2);
}
}
return ObjectUtils.nullSafeEquals(o, value);
});
}
public Predicate<Object> isNull() {
return new DaprPredicate(part.getProperty(), null, Objects::isNull);
}
public Predicate<Object> isNotNull() {
return isNull().negate();
}
public Predicate<Object> isLessThan(Object value) {
return new DaprPredicate(part.getProperty(), value, o -> Comparators.nullsHigh().compare(o, value) < 0);
}
public Predicate<Object> isLessThanEqual(Object value) {
return new DaprPredicate(part.getProperty(), value, o -> Comparators.nullsHigh().compare(o, value) <= 0);
}
public Predicate<Object> isGreaterThan(Object value) {
return new DaprPredicate(part.getProperty(), value, o -> Comparators.nullsHigh().compare(o, value) > 0);
}
public Predicate<Object> isGreaterThanEqual(Object value) {
return new DaprPredicate(part.getProperty(), value, o -> Comparators.nullsHigh().compare(o, value) >= 0);
}
public Predicate<Object> matches(Object value) {
return new DaprPredicate(part.getProperty(), value, o -> {
if (o == null || value == null) {
return ObjectUtils.nullSafeEquals(o, value);
}
if (value instanceof Pattern) {
var pattern = (Pattern)value;
return pattern.matcher(o.toString()).find();
}
return o.toString().matches(value.toString());
});
}
public Predicate<Object> in(Object value) {
return new DaprPredicate(part.getProperty(), value, o -> {
if (value instanceof Collection<?>) {
var collection = (Collection<?>)value;
if (o instanceof Collection<?>) {
var subSet = (Collection<?>)o;
return collection.containsAll(subSet);
}
return collection.contains(o);
}
if (ObjectUtils.isArray(value)) {
return ObjectUtils.containsElement(ObjectUtils.toObjectArray(value), value);
}
return false;
});
}
public Predicate<Object> contains(Object value) {
return new DaprPredicate(part.getProperty(), value, o -> {
if (o == null) {
return false;
}
if (o instanceof Collection<?>) {
var collection = (Collection<?>)o;
return collection.contains(value);
}
if (ObjectUtils.isArray(o)) {
return ObjectUtils.containsElement(ObjectUtils.toObjectArray(o), value);
}
if (o instanceof Map<?, ?>) {
var map = (Map<?, ?>)o;
return map.containsValue(value);
}
if (value == null) {
return false;
}
String s = o.toString();
if (ObjectUtils.nullSafeEquals(Part.IgnoreCaseType.NEVER, part.shouldIgnoreCase())) {
return s.contains(value.toString());
}
return s.toLowerCase().contains(value.toString().toLowerCase());
});
}
public Predicate<Object> startsWith(Object value) {
return new DaprPredicate(part.getProperty(), value, o -> {
if (!(o instanceof String)) {
return false;
}
var s = (String)o;
if (ObjectUtils.nullSafeEquals(Part.IgnoreCaseType.NEVER, part.shouldIgnoreCase())) {
return s.startsWith(value.toString());
}
return s.toLowerCase().startsWith(value.toString().toLowerCase());
});
}
public Predicate<Object> endsWith(Object value) {
return new DaprPredicate(part.getProperty(), value, o -> {
if (!(o instanceof String)) {
return false;
}
var s = (String)o;
if (ObjectUtils.nullSafeEquals(Part.IgnoreCaseType.NEVER, part.shouldIgnoreCase())) {
return s.endsWith(value.toString());
}
return s.toLowerCase().endsWith(value.toString().toLowerCase());
});
}
}
================================================
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicateQueryCreator.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring6.data.repository.query;
import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.data.domain.Sort;
import org.springframework.data.keyvalue.core.query.KeyValueQuery;
import org.springframework.data.repository.query.ParameterAccessor;
import org.springframework.data.repository.query.parser.AbstractQueryCreator;
import org.springframework.data.repository.query.parser.Part;
import org.springframework.data.repository.query.parser.PartTree;
import org.springframework.lang.Nullable;
import java.util.Iterator;
import java.util.function.Predicate;
/**
* This class is copied from https://github.com/spring-projects/spring-data-keyvalue/blob/ff441439124585042dd0cbff952f977a343444d2/src/main/java/org/springframework/data/keyvalue/repository/query/PredicateQueryCreator.java#L46
* because it has private accessors to internal classes, making it impossible to extend or use the original
* This requires to be created from scratch to not use predicates, but this is only worth it if we can prove these
* abstractions are worth the time.
*/
public class DaprPredicateQueryCreator extends AbstractQueryCreator<KeyValueQuery<Predicate<?>>, Predicate<?>> {
public DaprPredicateQueryCreator(PartTree tree, ParameterAccessor parameters) {
super(tree, parameters);
}
@Override
protected Predicate<?> create(Part part, Iterator<Object> iterator) {
DaprPredicateBuilder daprPredicateBuilder = DaprPredicateBuilder.propertyValueOf(part);
switch (part.getType()) {
case TRUE:
return daprPredicateBuilder.isTrue();
case FALSE:
return daprPredicateBuilder.isFalse();
case SIMPLE_PROPERTY:
return daprPredicateBuilder.isEqualTo(iterator.next());
case IS_NULL:
return daprPredicateBuilder.isNull();
case IS_NOT_NULL:
return daprPredicateBuilder.isNotNull();
case LIKE:
return daprPredicateBuilder.contains(iterator.next());
case STARTING_WITH:
return daprPredicateBuilder.startsWith(iterator.next());
case AFTER:
case GREATER_THAN:
return daprPredicateBuilder.isGreaterThan(iterator.next());
case GREATER_THAN_EQUAL:
return daprPredicateBuilder.isGreaterThanEqual(iterator.next());
case BEFORE:
case LESS_THAN:
return daprPredicateBuilder.isLessThan(iterator.next());
case LESS_THAN_EQUAL:
return daprPredicateBuilder.isLessThanEqual(iterator.next());
case ENDING_WITH:
return daprPredicateBuilder.endsWith(iterator.next());
case BETWEEN:
return daprPredicateBuilder.isGreaterThan(iterator.next())
.and(daprPredicateBuilder.isLessThan(iterator.next()));
case REGEX:
return daprPredicateBuilder.matches(iterator.next());
case IN:
return daprPredicateBuilder.in(iterator.next());
default:
throw new InvalidDataAccessApiUsageException(String.format("Found invalid part '%s' in query", part.getType()));
}
}
@Override
protected Predicate<?> and(Part part, Predicate<?> base, Iterator<Object> iterator) {
return base.and((Predicate) create(part, iterator));
}
@Override
protected Predicate<?> or(Predicate<?> base, Predicate<?> criteria) {
return base.or((Predicate) criteria);
}
@Override
protected KeyValueQuery<Predicate<?>> complete(@Nullable Predicate<?> criteria, Sort sort) {
if (criteria == null) {
return new KeyValueQuery<>(it -> true, sort);
}
return new KeyValueQuery<>(criteria, sort);
}
}
================================================
FILE: dapr-spring/dapr-spring-bom/pom.xml
================================================
<project
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-bom</artifactId>
<version>1.18.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>dapr-spring-bom</name>
<description>Dapr Spring Bill of Materials (BOM). Import this POM to manage versions
of dapr-sdk-springboot and all dapr-spring-* modules. Imports dapr-sdk-bom
transitively, so Spring users only need this single BOM.</description>
<url>https://dapr.io</url>
<licenses>
<license>
<name>Apache License Version 2.0</name>
<url>https://opensource.org/licenses/Apache-2.0</url>
</license>
</licenses>
<developers>
<developer>
<name>Dapr</name>
<email>daprweb@microsoft.com</email>
<organization>Dapr</organization>
<organizationUrl>https://dapr.io</organizationUrl>
</developer>
</developers>
<scm>
<url>https://github.com/dapr/java-sdk</url>
<connection>scm:git:https://github.com/dapr/java-sdk.git</connection>
<tag>HEAD</tag>
</scm>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<properties>
<gpg.skip>true</gpg.skip>
<dapr.sdk.version>1.18.0-SNAPSHOT</dapr.sdk.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.12.1</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.7.0</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://ossrh-staging-api.central.sonatype.com</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<gpgArguments>
<arg>--batch</arg>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<!-- ====================================================================== -->
<!-- Import the core Dapr SDK BOM so Spring users get all SDK modules -->
<!-- and security overrides via this single BOM. -->
<!-- ====================================================================== -->
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-bom</artifactId>
<version>${dapr.sdk.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- ====================================================================== -->
<!-- Spring integration module (groupId io.dapr) -->
<!-- ====================================================================== -->
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-springboot</artifactId>
<version>${dapr.sdk.version}</version>
</dependency>
<!-- ====================================================================== -->
<!-- Dapr Spring modules (groupId io.dapr.spring) -->
<!-- ====================================================================== -->
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-data</artifactId>
<version>${dapr.sdk.version}</version>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-6-data</artifactId>
<version>${dapr.sdk.version}</version>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-messaging</artifactId>
<version>${dapr.sdk.version}</version>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-workflows</artifactId>
<version>${dapr.sdk.version}</version>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-boot-properties</artifactId>
<version>${dapr.sdk.version}</version>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-boot-autoconfigure</artifactId>
<version>${dapr.sdk.version}</version>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-boot-4-autoconfigure</artifactId>
<version>${dapr.sdk.version}</version>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-boot-tests</artifactId>
<version>${dapr.sdk.version}</version>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-boot-starter</artifactId>
<version>${dapr.sdk.version}</version>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-boot-4-starter</artifactId>
<version>${dapr.sdk.version}</version>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-boot-starter-test</artifactId>
<version>${dapr.sdk.version}</version>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-boot-4-starter-test</artifactId>
<version>${dapr.sdk.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
================================================
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-parent</artifactId>
<version>1.18.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>dapr-spring-boot-4-autoconfigure</artifactId>
<name>dapr-spring-boot-4-autoconfigure</name>
<description>Dapr Spring Boot 4.x Autoconfigure</description>
<packaging>jar</packaging>
<properties>
<springboot4.version>4.0.5</springboot4.version>
<!-- Override JUnit version to align with Spring Boot 4.0.x -->
<junit-bom.version>6.0.2</junit-bom.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- Override Jackson 3.x for CVE SNYK-JAVA-TOOLSJACKSONCORE-15907550 (must precede SB BOM) -->
<dependency>
<groupId>tools.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>3.1.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${springboot4.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
<dependency>
<groupId>tools.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-jackson</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-6-data</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-actors</artifactId>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-messaging</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-workflows</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-boot-properties</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-keyvalue</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-observation</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.dapr.spring</groupId>
<artifactId>dapr-spring-boot-observation</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-observation-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>com.vaadin.external.google</groupId>
<artifactId>android-json</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.dapr</groupId>
<artifactId>testcontainers-dapr</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
================================================
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/java/io/dapr/spring/boot4/autoconfigure/client/DaprClientSB4AutoConfiguration.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring.boot4.autoconfigure.client;
import io.dapr.actors.client.ActorClient;
import io.dapr.actors.runtime.ActorRuntime;
import io.dapr.client.DaprClient;
import io.dapr.client.DaprClientBuilder;
import io.dapr.config.Properties;
import io.dapr.serializer.DaprObjectSerializer;
import io.dapr.spring.boot.properties.client.ClientPropertiesDaprConnectionDetails;
import io.dapr.spring.boot.properties.client.DaprClientProperties;
import io.dapr.spring.boot.properties.client.DaprConnectionDetails;
import io.dapr.spring.observation.client.ObservationDaprClient;
import io.dapr.spring.observation.client.ObservationDaprWorkflowClient;
import io.dapr.workflows.client.DaprWorkflowClient;
import io.dapr.workflows.runtime.WorkflowRuntimeBuilder;
import io.micrometer.observation.ObservationRegistry;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import java.util.HashMap;
import java.util.Map;
@AutoConfiguration
@ConditionalOnClass(DaprClient.class)
@EnableConfigurationProperties(DaprClientProperties.class)
public class DaprClientSB4AutoConfiguration {
@Bean
@ConditionalOnMissingBean(DaprConnectionDetails.class)
DaprConnectionDetails daprConnectionDetails(DaprClientProperties properties) {
return new ClientPropertiesDaprConnectionDetails(properties);
}
@Bean
@ConditionalOnMissingBean
DaprClientBuilder daprClientBuilder(DaprConnectionDetails daprConnectionDetails,
ObjectProvider<DaprObjectSerializer> serializerProvider) {
DaprClientBuilder builder = createDaprClientBuilder();
DaprObjectSerializer serializer = serializerProvider.getIfAvailable();
if (serializer != null) {
builder.withObjectSerializer(serializer);
builder.withStateSerializer(serializer);
}
String httpEndpoint = daprConnectionDetails.getHttpEndpoint();
if (httpEndpoint != null) {
builder.withPropertyOverride(Properties.HTTP_ENDPOINT, httpEndpoint);
}
String grpcEndpoint = daprConnectionDetails.getGrpcEndpoint();
if (grpcEndpoint != null) {
builder.withPropertyOverride(Properties.GRPC_ENDPOINT, grpcEndpoint);
}
Integer httpPort = daprConnectionDetails.getHttpPort();
if (httpPort != null) {
builder.withPropertyOverride(Properties.HTTP_PORT, String.valueOf(httpPort));
}
Integer grpcPort = daprConnectionDetails.getGrpcPort();
if (grpcPort != null) {
builder.withPropertyOverride(Properties.GRPC_PORT, String.valueOf(grpcPort));
}
String apiToken = daprConnectionDetails.getApiToken();
if (apiToken != null) {
builder.withPropertyOverride(Properties.API_TOKEN, apiToken);
}
return builder;
}
@Bean
@ConditionalOnMissingBean
DaprClient daprClient(DaprClientBuilder daprClientBuilder,
ObjectProvider<ObservationRegistry> observationRegistryProvider) {
DaprClient client = daprClientBuilder.build();
ObservationRegistry registry = observationRegistryProvider.getIfAvailable();
if (registry != null && !registry.isNoop()) {
return new ObservationDaprClient(client, registry);
}
return client;
}
@Bean
@ConditionalOnMissingBean
DaprWorkflowClient daprWorkflowClient(DaprConnectionDetails daprConnectionDetails,
ObjectProvider<ObservationRegistry> observationRegistryProvider) {
Properties properties = createPropertiesFromConnectionDetails(daprConnectionDetails);
ObservationRegistry registry = observationRegistryProvider.getIfAvailable();
if (registry != null && !registry.isNoop()) {
return new ObservationDaprWorkflowClient(properties, registry);
}
return new DaprWorkflowClient(properties);
}
@Bean
@ConditionalOnMissingBean
ActorClient daprActorClient(DaprConnectionDetails daprConnectionDetails) {
Properties properties = createPropertiesFromConnectionDetails(daprConnectionDetails);
return new ActorClient(properties);
}
@Bean
@ConditionalOnMissingBean
ActorRuntime daprActorRuntime(DaprConnectionDetails daprConnectionDetails) {
Properties properties = createPropertiesFromConnectionDetails(daprConnectionDetails);
return ActorRuntime.getInstance(properties);
}
@Bean
@ConditionalOnMissingBean
WorkflowRuntimeBuilder daprWorkflowRuntimeBuilder(DaprConnectionDetails daprConnectionDetails) {
Properties properties = createPropertiesFromConnectionDetails(daprConnectionDetails);
return new WorkflowRuntimeBuilder(properties);
}
/**
* We use this method in tests to override the default DaprClientBuilder.
*/
protected DaprClientBuilder createDaprClientBuilder() {
return new DaprClientBuilder();
}
/**
* Creates a Properties object from the DaprConnectionDetails.
*
* @param daprConnectionDetails the DaprConnectionDetails
* @return the Properties object
*/
protected Properties createPropertiesFromConnectionDetails(DaprConnectionDetails daprConnectionDetails) {
Map<String, String> propertyOverrides = new HashMap<>();
String httpEndpoint = daprConnectionDetails.getHttpEndpoint();
if (httpEndpoint != null) {
propertyOverrides.put(Properties.HTTP_ENDPOINT.getName(), httpEndpoint);
}
Integer httpPort = daprConnectionDetails.getHttpPort();
if (httpPort != null) {
propertyOverrides.put(Properties.HTTP_PORT.getName(), String.valueOf(httpPort));
}
String grpcEndpoint = daprConnectionDetails.getGrpcEndpoint();
if (grpcEndpoint != null) {
propertyOverrides.put(Properties.GRPC_ENDPOINT.getName(), grpcEndpoint);
}
Integer grpcPort = daprConnectionDetails.getGrpcPort();
if (grpcPort != null) {
propertyOverrides.put(Properties.GRPC_PORT.getName(), String.valueOf(grpcPort));
}
String apiToken = daprConnectionDetails.getApiToken();
if (apiToken != null) {
propertyOverrides.put(Properties.API_TOKEN.getName(), apiToken);
}
return new Properties(propertyOverrides);
}
}
================================================
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/java/io/dapr/spring/boot4/autoconfigure/client/DaprJackson3SB4AutoConfiguration.java
================================================
/*
* Copyright 2025 The Dapr Authors
* Licensed 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 io.dapr.spring.boot4.autoconfigure.client;
import io.dapr.serializer.DaprObjectSerializer;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration;
import org.springframework.context.annotation.Bean;
import tools.jackson.databind.json.JsonMapper;
/**
* Auto-configuration that bridges Jackson 3's {@link JsonMapper} into a {@link DaprObjectSerializer}.
*
* <p>Activates only when Jackson 3 is on the classpath and no other {@link DaprObjectSerializer}
* bean has been defined. Runs after {@link JacksonAutoConfiguration} (which creates the
* {@link JsonMapper} bean) and before {@link DaprClientSB4AutoConfiguration} (which consumes it).
*/
@AutoConfiguration(after = JacksonAutoConfiguration.class, before = DaprClientSB4AutoConfiguration.class)
@ConditionalOnClass(JsonMapper.class)
public class DaprJackson3SB4AutoConfiguration {
@Bean
@ConditionalOnMissingBean(DaprObjectSerializer.class)
DaprObjectSerializer daprObjectSerializer(JsonMapper jsonMapper) {
return new Jackson3ObjectSerializer(jsonMapper);
}
}
================================================
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/java/io/dapr/spring/boot4/autoconfigure/client/Jackson3ObjectSerializer.java
================================================
/*
* Copyright 2025 The Dapr Authors
* Licensed 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 io.dapr.spring.boot4.autoconfigure.client;
import io.dapr.serializer.DaprObjectSerializer;
import io.dapr.utils.TypeRef;
import tools.jackson.databind.JavaType;
import tools.jackson.databind.json.JsonMapper;
import java.io.IOException;
/**
* {@link DaprObjectSerializer} implementation backed by Jackson 3's {@link JsonMapper}.
*/
public class Jackson3ObjectSerializer implements DaprObjectSerializer {
private final JsonMapper jsonMapper;
public Jackson3ObjectSerializer(JsonMapper jsonMapper) {
this.jsonMapper = jsonMapper;
}
@Override
public byte[] serialize(Object o) throws IOException {
if (o == null) {
return null;
}
if (o.getClass() == Void.class) {
return null;
}
if (o instanceof byte[]) {
return (byte[]) o;
}
try {
return jsonMapper.writeValueAsBytes(o);
} catch (tools.jackson.core.JacksonException e) {
throw new IOException(e);
}
}
@Override
public <T> T deserialize(byte[] data, TypeRef<T> type) throws IOException {
JavaType javaType = jsonMapper.constructType(type.getType());
if (javaType.isTypeOrSubTypeOf(Void.class)) {
return null;
}
if (javaType.isPrimitive()) {
return deserializePrimitives(data, javaType);
}
if (data == null) {
return null;
}
if (javaType.hasRawClass(byte[].class)) {
return (T) data;
}
if (data.length == 0) {
return null;
}
try {
return jsonMapper.readValue(data, javaType);
} catch (tools.jackson.core.JacksonException e) {
throw new IOException(e);
}
}
@Override
public String getContentType() {
return "application/json";
}
@SuppressWarnings("unchecked")
private <T> T deserializePrimitives(byte[] content, JavaType javaType) throws IOException {
if (content == null || content.length == 0) {
if (javaType.hasRawClass(boolean.class)) {
return (T) Boolean.FALSE;
}
if (javaType.hasRawClass(byte.class)) {
return (T) Byte.valueOf((byte) 0);
}
if (javaType.hasRawClass(short.class)) {
return (T) Short.valueOf((short) 0);
}
if (javaType.hasRawClass(int.class)) {
return (T) Integer.valueOf(0);
}
if (javaType.hasRawClass(long.class)) {
return (T) Long.valueOf(0L);
}
if (javaType.hasRawClass(float.class)) {
return (T) Float.valueOf(0);
}
if (javaType.hasRawClass(double.class)) {
return (T) Double.valueOf(0);
}
if (javaType.hasRawClass(char.class)) {
return (T) Character.valueOf(Character.MIN_VALUE);
}
return null;
}
try {
return jsonMapper.readValue(content, javaType);
} catch (tools.jackson.core.JacksonException e) {
throw new IOException(e);
}
}
}
================================================
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
================================================
io.dapr.spring.boot4.autoconfigure.client.DaprJackson3SB4AutoConfiguration
io.dapr.spring.boot4.autoconfigure.client.DaprClientSB4AutoConfiguration
================================================
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/DaprClientAutoConfigurationTest.java
================================================
/*
* Copyright 2024 The Dapr Authors
* Licensed 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 io.dapr.spring.boot4.autoconfigure.client;
import io.dapr.client.DaprClient;
import io.dapr.client.DaprClientBuilder;
import io.dapr.config.Properties;
import io.dapr.serializer.DaprObjectSerializer;
import io.dapr.spring.boot.properties.client.DaprConnectionDetails;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
/**
* Unit tests for {@link DaprClientSB4AutoConfiguration}.
*/
@ExtendWith(MockitoExtension.class)
class DaprClientAutoConfigurationTest {
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(DaprClientSB4AutoConfiguration.class));
@Mock
private DaprConnectionDetails connectionDetails;
@Mock
private DaprClientBuilder builder;
private DaprClientSB4AutoConfiguration configuration;
@Mock
private ObjectProvider<DaprObjectSerializer> serializerProvider;
@Test
void daprClientBuilder() {
contextRunner.run(context -> assertThat(context).hasSingleBean(DaprClientBuilder.class));
}
@Test
void daprClient() {
contextRunner.run(context -> assertThat(context).hasSingleBean(DaprClient.class));
}
@BeforeEach
void setUp() {
configuration = new TestDaprClientAutoConfiguration(builder);
}
@Test
@DisplayName("Should override HTTP endpoint if it exists")
void shouldOverrideHttpEndpointIfExists() {
String httpEndpoint = "http://localhost:3500";
when(connectionDetails.getHttpEndpoint()).thenReturn(httpEndpoint);
configuration.daprClientBuilder(connectionDetails, serializerProvider);
verify(builder).withPropertyOverride(Properties.HTTP_ENDPOINT, httpEndpoint);
}
@Test
@DisplayName("Should override GRPC endpoint if it exists")
void shouldOverrideGrpcEndpointIfExists() {
String grpcEndpoint = "grpc://localhost:5001";
when(connectionDetails.getGrpcEndpoint()).thenReturn(grpcEndpoint);
configuration.daprClientBuilder(connectionDetails, serializerProvider);
verify(builder).withPropertyOverride(Properties.GRPC_ENDPOINT, grpcEndpoint);
}
@Test
@DisplayName("Should override HTTP port if it exists")
void shouldOverrideHttpPortIfExists() {
Integer httpPort = 3600;
when(connectionDetails.getHttpPort()).thenReturn(httpPort);
configuration.daprClientBuilder(connectionDetails, serializerProvider);
verify(builder).withPropertyOverride(Properties.HTTP_PORT, String.valueOf(httpPort));
}
@Test
@DisplayName("Should override GRPC port if it exists")
void shouldOverrideGrpcPortIfExists() {
Integer grpcPort = 6001;
when(connectionDetails.getGrpcPort()).thenReturn(grpcPort);
configuration.daprClientBuilder(connectionDetails, serializerProvider);
verify(builder).withPropertyOverride(Properties.GRPC_PORT, String.valueOf(grpcPort));
}
@Test
@DisplayName("Should override API token if it exists")
void shouldOverrideApiTokenIfExists() {
String apiToken = "token";
when(connectionDetails.getApiToken()).thenReturn(apiToken);
configuration.daprClientBuilder(connectionDetails, serializerProvider);
verify(builder).withPropertyOverride(Properties.API_TOKEN, apiToken);
}
@Test
@DisplayName("Should override HTTP endpoint in properties if it exists")
void shouldOverrideHttpEndpointInPropertiesIfExists() {
String httpEndpoint = "http://localhost:3500";
when(connectionDetails.getHttpEndpoint()).thenReturn(httpEndpoint);
Properties reuslt = configuration.createPropertiesFromConnectionDetails(connectionDetails);
assertThat(reuslt.getValue(Properties.HTTP_ENDPOINT)).isEqualTo(httpEndpoint);
}
@Test
@DisplayName("Should override GRPC endpoint in properties if it exists")
void shouldOverrideGrpcEndpointPropertiesIfExists() {
String grpcEndpoint = "grpc://localhost:3500";
when(connectionDetails.getGrpcEndpoint()).thenReturn(grpcEndpoint);
Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails);
assertThat(result.getValue(Properties.GRPC_ENDPOINT)).isEqualTo(grpcEndpoint);
}
@Test
@DisplayName("Should override HTTP port in properties if it exists")
void shouldOverrideHttpPortPropertiesIfExists() {
Integer httpPort = 3600;
when(connectionDetails.getHttpPort()).thenReturn(httpPort);
Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails);
assertThat(result.getValue(Properties.HTTP_PORT)).isEqualTo(httpPort);
}
@Test
@DisplayName("Should override GRPC port in properties if it exists")
void shouldOverrideGrpcPortPropertiesIfExists() {
Integer grpcPort = 6001;
when(connectionDetails.getGrpcPort()).thenReturn(grpcPort);
Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails);
assertThat(result.getValue(Properties.GRPC_PORT)).isEqualTo(grpcPort);
}
@Test
@DisplayName("Should override API token in properties if it exists")
void shouldOverrideApiTokenPropertiesIfExists() {
String apiToken = "token";
when(connectionDetails.getApiToken()).thenReturn(apiToken);
Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails);
assertThat(result.getValue(Properties.API_TOKEN)).isEqualTo(apiToken);
}
private static class TestDaprClientAutoConfiguration extends DaprClientSB4AutoConfiguration {
private final DaprClientBuilder daprClientBuilder;
public TestDaprClientAutoConfiguration(DaprClientBuilder daprClientBuilder) {
this.daprClientBuilder = daprClientBuilder;
}
@Override
protected DaprClientBuilder createDaprClientBuilder() {
return daprClientBuilder;
}
}
}
================================================
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/DaprJackson3SB4AutoConfigurationTest.java
================================================
/*
* Copyright 2025 The Dapr Authors
* Licensed 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 io.dapr.spring.boot4.autoconfigure.client;
import io.dapr.serializer.DaprObjectSerializer;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration;
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import tools.jackson.databind.json.JsonMapper;
import static org.assertj.core.api.Assertions.assertThat;
class DaprJackson3SB4AutoConfigurationTest {
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(
JacksonAutoConfiguration.class,
DaprJackson3SB4AutoConfiguration.class));
@Test
@Disp
gitextract_5uciof7p/
├── .codecov.yaml
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ ├── discussion.md
│ │ ├── feature_request.md
│ │ ├── proposal.md
│ │ └── question.md
│ ├── dependabot.yml
│ ├── holopin.yml
│ ├── pull_request_template.md
│ ├── scripts/
│ │ ├── automerge.py
│ │ ├── create-release.sh
│ │ ├── update_docs.sh
│ │ └── update_sdk_version.sh
│ └── workflows/
│ ├── automerge-bot.yml
│ ├── backport.yaml
│ ├── build.yml
│ ├── create-release.yml
│ ├── dapr_bot.yml
│ ├── fossa.yml
│ ├── validate-docs.yml
│ └── validate.yml
├── .gitignore
├── .gitmodules
├── .java_header
├── .mvn/
│ └── wrapper/
│ └── maven-wrapper.properties
├── .sdkmanrc
├── CODEOWNERS
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── checkstyle.xml
├── dapr-spring/
│ ├── dapr-spring-6-data/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring6/
│ │ └── data/
│ │ ├── AbstractDaprKeyValueAdapter.java
│ │ ├── DaprKeyValueAdapterResolver.java
│ │ ├── DaprKeyValueTemplate.java
│ │ ├── DefaultIdentifierGenerator.java
│ │ ├── GeneratingIdAccessor.java
│ │ ├── KeyValueAdapterResolver.java
│ │ ├── MySQLDaprKeyValueAdapter.java
│ │ ├── PostgreSQLDaprKeyValueAdapter.java
│ │ └── repository/
│ │ ├── config/
│ │ │ ├── DaprRepositoriesRegistrar.java
│ │ │ ├── DaprRepositoryConfigurationExtension.java
│ │ │ └── EnableDaprRepositories.java
│ │ └── query/
│ │ ├── DaprPredicate.java
│ │ ├── DaprPredicateBuilder.java
│ │ └── DaprPredicateQueryCreator.java
│ ├── dapr-spring-bom/
│ │ └── pom.xml
│ ├── dapr-spring-boot-4-autoconfigure/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── spring/
│ │ │ │ └── boot4/
│ │ │ │ └── autoconfigure/
│ │ │ │ └── client/
│ │ │ │ ├── DaprClientSB4AutoConfiguration.java
│ │ │ │ ├── DaprJackson3SB4AutoConfiguration.java
│ │ │ │ └── Jackson3ObjectSerializer.java
│ │ │ └── resources/
│ │ │ └── META-INF/
│ │ │ └── spring/
│ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports
│ │ └── test/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── boot4/
│ │ └── autoconfigure/
│ │ └── client/
│ │ ├── DaprClientAutoConfigurationTest.java
│ │ ├── DaprJackson3SB4AutoConfigurationTest.java
│ │ ├── DaprWorkflowsRegistrationTests.java
│ │ ├── Jackson3ObjectSerializerTest.java
│ │ ├── WorkflowTestApplication.java
│ │ └── workflows/
│ │ ├── TestActivity.java
│ │ └── TestWorkflow.java
│ ├── dapr-spring-boot-autoconfigure/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── spring/
│ │ │ │ └── boot/
│ │ │ │ └── autoconfigure/
│ │ │ │ └── client/
│ │ │ │ └── DaprClientAutoConfiguration.java
│ │ │ └── resources/
│ │ │ └── META-INF/
│ │ │ └── spring/
│ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports
│ │ └── test/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── boot/
│ │ └── autoconfigure/
│ │ └── client/
│ │ ├── DaprClientAutoConfigurationTest.java
│ │ ├── DaprClientObservationAutoConfigurationTest.java
│ │ ├── DaprWorkflowsRegistrationTests.java
│ │ ├── WorkflowTestApplication.java
│ │ └── workflows/
│ │ ├── TestActivity.java
│ │ └── TestWorkflow.java
│ ├── dapr-spring-boot-observation/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ └── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── spring/
│ │ │ └── observation/
│ │ │ └── client/
│ │ │ ├── ObservationDaprClient.java
│ │ │ ├── ObservationDaprWorkflowClient.java
│ │ │ └── TraceContextFormat.java
│ │ └── test/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── observation/
│ │ └── client/
│ │ ├── ObservationDaprClientTest.java
│ │ └── ObservationDaprWorkflowClientTest.java
│ ├── dapr-spring-boot-properties/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ └── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── spring/
│ │ │ └── boot/
│ │ │ └── properties/
│ │ │ ├── client/
│ │ │ │ ├── ClientPropertiesDaprConnectionDetails.java
│ │ │ │ ├── DaprClientProperties.java
│ │ │ │ └── DaprConnectionDetails.java
│ │ │ ├── pubsub/
│ │ │ │ └── DaprPubSubProperties.java
│ │ │ └── statestore/
│ │ │ └── DaprStateStoreProperties.java
│ │ └── test/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── boot/
│ │ └── properties/
│ │ ├── client/
│ │ │ └── DaprClientPropertiesTest.java
│ │ ├── pubsub/
│ │ │ └── DaprPubSubPropertiesTest.java
│ │ └── statestore/
│ │ └── DaprStateStorePropertiesTest.java
│ ├── dapr-spring-boot-starters/
│ │ ├── dapr-spring-boot-4-starter/
│ │ │ └── pom.xml
│ │ ├── dapr-spring-boot-4-starter-test/
│ │ │ └── pom.xml
│ │ ├── dapr-spring-boot-starter/
│ │ │ └── pom.xml
│ │ └── dapr-spring-boot-starter-test/
│ │ └── pom.xml
│ ├── dapr-spring-boot-tests/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── spring/
│ │ │ └── boot/
│ │ │ └── testcontainers/
│ │ │ └── service/
│ │ │ └── connection/
│ │ │ └── DaprContainerConnectionDetailsFactory.java
│ │ └── resources/
│ │ └── META-INF/
│ │ └── spring.factories
│ ├── dapr-spring-data/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── data/
│ │ ├── AbstractDaprKeyValueAdapter.java
│ │ ├── DaprKeyValueAdapterResolver.java
│ │ ├── DaprKeyValueTemplate.java
│ │ ├── DefaultIdentifierGenerator.java
│ │ ├── GeneratingIdAccessor.java
│ │ ├── KeyValueAdapterResolver.java
│ │ ├── MySQLDaprKeyValueAdapter.java
│ │ ├── PostgreSQLDaprKeyValueAdapter.java
│ │ └── repository/
│ │ ├── config/
│ │ │ ├── DaprRepositoriesRegistrar.java
│ │ │ ├── DaprRepositoryConfigurationExtension.java
│ │ │ └── EnableDaprRepositories.java
│ │ └── query/
│ │ ├── DaprPredicate.java
│ │ ├── DaprPredicateBuilder.java
│ │ └── DaprPredicateQueryCreator.java
│ ├── dapr-spring-messaging/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── messaging/
│ │ ├── DaprMessagingOperations.java
│ │ ├── DaprMessagingTemplate.java
│ │ └── observation/
│ │ ├── DaprMessagingObservationConvention.java
│ │ ├── DaprMessagingObservationDocumentation.java
│ │ ├── DaprMessagingSenderContext.java
│ │ └── DefaultDaprMessagingObservationConvention.java
│ ├── dapr-spring-workflows/
│ │ ├── pom.xml
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── spring/
│ │ └── workflows/
│ │ └── config/
│ │ ├── DaprWorkflowsConfiguration.java
│ │ ├── EnableDaprWorkflows.java
│ │ └── annotations/
│ │ ├── ActivityMetadata.java
│ │ └── WorkflowMetadata.java
│ ├── pom.xml
│ └── spotbugs-exclude.xml
├── docs/
│ ├── allclasses-index.html
│ ├── allpackages-index.html
│ ├── constant-values.html
│ ├── css/
│ │ ├── maven-base.css
│ │ ├── maven-theme.css
│ │ ├── print.css
│ │ └── site.css
│ ├── dapr-sdk-springboot/
│ │ └── css/
│ │ ├── maven-base.css
│ │ ├── maven-theme.css
│ │ ├── print.css
│ │ └── site.css
│ ├── dapr-sdk-workflows/
│ │ ├── allclasses-index.html
│ │ ├── allpackages-index.html
│ │ ├── css/
│ │ │ ├── maven-base.css
│ │ │ ├── maven-theme.css
│ │ │ ├── print.css
│ │ │ └── site.css
│ │ ├── element-list
│ │ ├── help-doc.html
│ │ ├── index-all.html
│ │ ├── index.html
│ │ ├── io/
│ │ │ └── dapr/
│ │ │ └── workflows/
│ │ │ ├── Workflow.html
│ │ │ ├── WorkflowContext.html
│ │ │ ├── WorkflowStub.html
│ │ │ ├── class-use/
│ │ │ │ ├── Workflow.html
│ │ │ │ ├── WorkflowContext.html
│ │ │ │ └── WorkflowStub.html
│ │ │ ├── client/
│ │ │ │ ├── DaprWorkflowClient.html
│ │ │ │ ├── WorkflowFailureDetails.html
│ │ │ │ ├── WorkflowInstanceStatus.html
│ │ │ │ ├── class-use/
│ │ │ │ │ ├── DaprWorkflowClient.html
│ │ │ │ │ ├── WorkflowFailureDetails.html
│ │ │ │ │ └── WorkflowInstanceStatus.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── internal/
│ │ │ │ ├── ApiTokenClientInterceptor.html
│ │ │ │ ├── class-use/
│ │ │ │ │ └── ApiTokenClientInterceptor.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ ├── package-use.html
│ │ │ └── runtime/
│ │ │ ├── WorkflowRuntime.html
│ │ │ ├── WorkflowRuntimeBuilder.html
│ │ │ ├── class-use/
│ │ │ │ ├── WorkflowRuntime.html
│ │ │ │ └── WorkflowRuntimeBuilder.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── jquery-ui.overrides.css
│ │ ├── legal/
│ │ │ ├── ADDITIONAL_LICENSE_INFO
│ │ │ ├── ASSEMBLY_EXCEPTION
│ │ │ ├── LICENSE
│ │ │ ├── jquery.md
│ │ │ └── jqueryUI.md
│ │ ├── member-search-index.js
│ │ ├── module-search-index.js
│ │ ├── overview-summary.html
│ │ ├── overview-tree.html
│ │ ├── package-search-index.js
│ │ ├── project-reports.html
│ │ ├── script.js
│ │ ├── search.js
│ │ ├── stylesheet.css
│ │ ├── tag-search-index.js
│ │ └── type-search-index.js
│ ├── deprecated-list.html
│ ├── element-list
│ ├── help-doc.html
│ ├── index-all.html
│ ├── index.html
│ ├── io/
│ │ └── dapr/
│ │ ├── Rule.html
│ │ ├── Topic.html
│ │ ├── actors/
│ │ │ ├── ActorId.html
│ │ │ ├── ActorMethod.html
│ │ │ ├── ActorTrace.html
│ │ │ ├── ActorType.html
│ │ │ ├── ActorUtils.html
│ │ │ ├── class-use/
│ │ │ │ ├── ActorId.html
│ │ │ │ ├── ActorMethod.html
│ │ │ │ ├── ActorTrace.html
│ │ │ │ ├── ActorType.html
│ │ │ │ └── ActorUtils.html
│ │ │ ├── client/
│ │ │ │ ├── ActorClient.html
│ │ │ │ ├── ActorProxy.html
│ │ │ │ ├── ActorProxyBuilder.html
│ │ │ │ ├── class-use/
│ │ │ │ │ ├── ActorClient.html
│ │ │ │ │ ├── ActorProxy.html
│ │ │ │ │ └── ActorProxyBuilder.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ ├── package-use.html
│ │ │ └── runtime/
│ │ │ ├── AbstractActor.html
│ │ │ ├── ActorFactory.html
│ │ │ ├── ActorMethodContext.html
│ │ │ ├── ActorObjectSerializer.html
│ │ │ ├── ActorRuntime.html
│ │ │ ├── ActorRuntimeConfig.html
│ │ │ ├── ActorRuntimeContext.html
│ │ │ ├── ActorStateChange.html
│ │ │ ├── ActorStateChangeKind.html
│ │ │ ├── ActorStateManager.html
│ │ │ ├── ActorTypeConfig.html
│ │ │ ├── Remindable.html
│ │ │ ├── class-use/
│ │ │ │ ├── AbstractActor.html
│ │ │ │ ├── ActorFactory.html
│ │ │ │ ├── ActorMethodContext.html
│ │ │ │ ├── ActorObjectSerializer.html
│ │ │ │ ├── ActorRuntime.html
│ │ │ │ ├── ActorRuntimeConfig.html
│ │ │ │ ├── ActorRuntimeContext.html
│ │ │ │ ├── ActorStateChange.html
│ │ │ │ ├── ActorStateChangeKind.html
│ │ │ │ ├── ActorStateManager.html
│ │ │ │ ├── ActorTypeConfig.html
│ │ │ │ └── Remindable.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── class-use/
│ │ │ ├── Rule.html
│ │ │ └── Topic.html
│ │ ├── client/
│ │ │ ├── DaprClient.html
│ │ │ ├── DaprClientBuilder.html
│ │ │ ├── DaprClientImpl.html
│ │ │ ├── DaprHttp.HttpMethods.html
│ │ │ ├── DaprHttp.Response.html
│ │ │ ├── DaprHttp.html
│ │ │ ├── DaprHttpBuilder.html
│ │ │ ├── DaprPreviewClient.html
│ │ │ ├── Headers.html
│ │ │ ├── ObjectSerializer.html
│ │ │ ├── class-use/
│ │ │ │ ├── DaprClient.html
│ │ │ │ ├── DaprClientBuilder.html
│ │ │ │ ├── DaprClientImpl.html
│ │ │ │ ├── DaprHttp.HttpMethods.html
│ │ │ │ ├── DaprHttp.Response.html
│ │ │ │ ├── DaprHttp.html
│ │ │ │ ├── DaprHttpBuilder.html
│ │ │ │ ├── DaprPreviewClient.html
│ │ │ │ ├── Headers.html
│ │ │ │ └── ObjectSerializer.html
│ │ │ ├── domain/
│ │ │ │ ├── ActorMetadata.html
│ │ │ │ ├── AppConnectionPropertiesHealthMetadata.html
│ │ │ │ ├── AppConnectionPropertiesMetadata.html
│ │ │ │ ├── BulkPublishEntry.html
│ │ │ │ ├── BulkPublishRequest.html
│ │ │ │ ├── BulkPublishResponse.html
│ │ │ │ ├── BulkPublishResponseFailedEntry.html
│ │ │ │ ├── BulkSubscribeAppResponse.html
│ │ │ │ ├── BulkSubscribeAppResponseEntry.html
│ │ │ │ ├── BulkSubscribeAppResponseStatus.html
│ │ │ │ ├── BulkSubscribeMessage.html
│ │ │ │ ├── BulkSubscribeMessageEntry.html
│ │ │ │ ├── CloudEvent.html
│ │ │ │ ├── ComponentMetadata.html
│ │ │ │ ├── ConfigurationItem.html
│ │ │ │ ├── DaprMetadata.html
│ │ │ │ ├── DeleteStateRequest.html
│ │ │ │ ├── ExecuteStateTransactionRequest.html
│ │ │ │ ├── GetBulkSecretRequest.html
│ │ │ │ ├── GetBulkStateRequest.html
│ │ │ │ ├── GetConfigurationRequest.html
│ │ │ │ ├── GetSecretRequest.html
│ │ │ │ ├── GetStateRequest.html
│ │ │ │ ├── HttpEndpointMetadata.html
│ │ │ │ ├── HttpExtension.html
│ │ │ │ ├── InvokeBindingRequest.html
│ │ │ │ ├── InvokeMethodRequest.html
│ │ │ │ ├── LockRequest.html
│ │ │ │ ├── Metadata.html
│ │ │ │ ├── PublishEventRequest.html
│ │ │ │ ├── QueryStateItem.html
│ │ │ │ ├── QueryStateRequest.html
│ │ │ │ ├── QueryStateResponse.html
│ │ │ │ ├── RuleMetadata.html
│ │ │ │ ├── SaveStateRequest.html
│ │ │ │ ├── State.html
│ │ │ │ ├── StateOptions.Concurrency.html
│ │ │ │ ├── StateOptions.Consistency.html
│ │ │ │ ├── StateOptions.StateOptionDurationDeserializer.html
│ │ │ │ ├── StateOptions.StateOptionDurationSerializer.html
│ │ │ │ ├── StateOptions.html
│ │ │ │ ├── SubscribeConfigurationRequest.html
│ │ │ │ ├── SubscribeConfigurationResponse.html
│ │ │ │ ├── SubscriptionMetadata.html
│ │ │ │ ├── TransactionalStateOperation.OperationType.html
│ │ │ │ ├── TransactionalStateOperation.html
│ │ │ │ ├── TransactionalStateRequest.html
│ │ │ │ ├── UnlockRequest.html
│ │ │ │ ├── UnlockResponseStatus.html
│ │ │ │ ├── UnsubscribeConfigurationRequest.html
│ │ │ │ ├── UnsubscribeConfigurationResponse.html
│ │ │ │ ├── class-use/
│ │ │ │ │ ├── ActorMetadata.html
│ │ │ │ │ ├── AppConnectionPropertiesHealthMetadata.html
│ │ │ │ │ ├── AppConnectionPropertiesMetadata.html
│ │ │ │ │ ├── BulkPublishEntry.html
│ │ │ │ │ ├── BulkPublishRequest.html
│ │ │ │ │ ├── BulkPublishResponse.html
│ │ │ │ │ ├── BulkPublishResponseFailedEntry.html
│ │ │ │ │ ├── BulkSubscribeAppResponse.html
│ │ │ │ │ ├── BulkSubscribeAppResponseEntry.html
│ │ │ │ │ ├── BulkSubscribeAppResponseStatus.html
│ │ │ │ │ ├── BulkSubscribeMessage.html
│ │ │ │ │ ├── BulkSubscribeMessageEntry.html
│ │ │ │ │ ├── CloudEvent.html
│ │ │ │ │ ├── ComponentMetadata.html
│ │ │ │ │ ├── ConfigurationItem.html
│ │ │ │ │ ├── DaprMetadata.html
│ │ │ │ │ ├── DeleteStateRequest.html
│ │ │ │ │ ├── ExecuteStateTransactionRequest.html
│ │ │ │ │ ├── GetBulkSecretRequest.html
│ │ │ │ │ ├── GetBulkStateRequest.html
│ │ │ │ │ ├── GetConfigurationRequest.html
│ │ │ │ │ ├── GetSecretRequest.html
│ │ │ │ │ ├── GetStateRequest.html
│ │ │ │ │ ├── HttpEndpointMetadata.html
│ │ │ │ │ ├── HttpExtension.html
│ │ │ │ │ ├── InvokeBindingRequest.html
│ │ │ │ │ ├── InvokeMethodRequest.html
│ │ │ │ │ ├── LockRequest.html
│ │ │ │ │ ├── Metadata.html
│ │ │ │ │ ├── PublishEventRequest.html
│ │ │ │ │ ├── QueryStateItem.html
│ │ │ │ │ ├── QueryStateRequest.html
│ │ │ │ │ ├── QueryStateResponse.html
│ │ │ │ │ ├── RuleMetadata.html
│ │ │ │ │ ├── SaveStateRequest.html
│ │ │ │ │ ├── State.html
│ │ │ │ │ ├── StateOptions.Concurrency.html
│ │ │ │ │ ├── StateOptions.Consistency.html
│ │ │ │ │ ├── StateOptions.StateOptionDurationDeserializer.html
│ │ │ │ │ ├── StateOptions.StateOptionDurationSerializer.html
│ │ │ │ │ ├── StateOptions.html
│ │ │ │ │ ├── SubscribeConfigurationRequest.html
│ │ │ │ │ ├── SubscribeConfigurationResponse.html
│ │ │ │ │ ├── SubscriptionMetadata.html
│ │ │ │ │ ├── TransactionalStateOperation.OperationType.html
│ │ │ │ │ ├── TransactionalStateOperation.html
│ │ │ │ │ ├── TransactionalStateRequest.html
│ │ │ │ │ ├── UnlockRequest.html
│ │ │ │ │ ├── UnlockResponseStatus.html
│ │ │ │ │ ├── UnsubscribeConfigurationRequest.html
│ │ │ │ │ └── UnsubscribeConfigurationResponse.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ ├── package-use.html
│ │ │ │ └── query/
│ │ │ │ ├── Pagination.html
│ │ │ │ ├── Query.html
│ │ │ │ ├── Sorting.Order.html
│ │ │ │ ├── Sorting.html
│ │ │ │ ├── class-use/
│ │ │ │ │ ├── Pagination.html
│ │ │ │ │ ├── Query.html
│ │ │ │ │ ├── Sorting.Order.html
│ │ │ │ │ └── Sorting.html
│ │ │ │ ├── filters/
│ │ │ │ │ ├── AndFilter.html
│ │ │ │ │ ├── EqFilter.html
│ │ │ │ │ ├── Filter.html
│ │ │ │ │ ├── InFilter.html
│ │ │ │ │ ├── OrFilter.html
│ │ │ │ │ ├── class-use/
│ │ │ │ │ │ ├── AndFilter.html
│ │ │ │ │ │ ├── EqFilter.html
│ │ │ │ │ │ ├── Filter.html
│ │ │ │ │ │ ├── InFilter.html
│ │ │ │ │ │ └── OrFilter.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ ├── package-use.html
│ │ │ └── resiliency/
│ │ │ ├── ResiliencyOptions.html
│ │ │ ├── class-use/
│ │ │ │ └── ResiliencyOptions.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── config/
│ │ │ ├── BooleanProperty.html
│ │ │ ├── GenericProperty.html
│ │ │ ├── IntegerProperty.html
│ │ │ ├── MillisecondsDurationProperty.html
│ │ │ ├── Properties.html
│ │ │ ├── Property.html
│ │ │ ├── StringProperty.html
│ │ │ ├── class-use/
│ │ │ │ ├── BooleanProperty.html
│ │ │ │ ├── GenericProperty.html
│ │ │ │ ├── IntegerProperty.html
│ │ │ │ ├── MillisecondsDurationProperty.html
│ │ │ │ ├── Properties.html
│ │ │ │ ├── Property.html
│ │ │ │ └── StringProperty.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── exceptions/
│ │ │ ├── DaprError.html
│ │ │ ├── DaprErrorDetails.ErrorDetailType.html
│ │ │ ├── DaprErrorDetails.html
│ │ │ ├── DaprException.html
│ │ │ ├── class-use/
│ │ │ │ ├── DaprError.html
│ │ │ │ ├── DaprErrorDetails.ErrorDetailType.html
│ │ │ │ ├── DaprErrorDetails.html
│ │ │ │ └── DaprException.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── internal/
│ │ │ ├── grpc/
│ │ │ │ ├── DaprClientGrpcInterceptors.html
│ │ │ │ ├── class-use/
│ │ │ │ │ └── DaprClientGrpcInterceptors.html
│ │ │ │ ├── interceptors/
│ │ │ │ │ ├── DaprApiTokenInterceptor.html
│ │ │ │ │ ├── DaprAppIdInterceptor.html
│ │ │ │ │ ├── DaprTimeoutInterceptor.html
│ │ │ │ │ ├── DaprTracingInterceptor.html
│ │ │ │ │ ├── class-use/
│ │ │ │ │ │ ├── DaprApiTokenInterceptor.html
│ │ │ │ │ │ ├── DaprAppIdInterceptor.html
│ │ │ │ │ │ ├── DaprTimeoutInterceptor.html
│ │ │ │ │ │ └── DaprTracingInterceptor.html
│ │ │ │ │ ├── package-summary.html
│ │ │ │ │ ├── package-tree.html
│ │ │ │ │ └── package-use.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ ├── opencensus/
│ │ │ │ ├── GrpcHelper.html
│ │ │ │ ├── class-use/
│ │ │ │ │ └── GrpcHelper.html
│ │ │ │ ├── package-summary.html
│ │ │ │ ├── package-tree.html
│ │ │ │ └── package-use.html
│ │ │ └── resiliency/
│ │ │ ├── RetryPolicy.html
│ │ │ ├── TimeoutPolicy.html
│ │ │ ├── class-use/
│ │ │ │ ├── RetryPolicy.html
│ │ │ │ └── TimeoutPolicy.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── package-summary.html
│ │ ├── package-tree.html
│ │ ├── package-use.html
│ │ ├── serializer/
│ │ │ ├── DaprObjectSerializer.html
│ │ │ ├── DefaultObjectSerializer.html
│ │ │ ├── class-use/
│ │ │ │ ├── DaprObjectSerializer.html
│ │ │ │ └── DefaultObjectSerializer.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── utils/
│ │ │ ├── DefaultContentTypeConverter.html
│ │ │ ├── DurationUtils.html
│ │ │ ├── NetworkUtils.html
│ │ │ ├── TypeRef.html
│ │ │ ├── Version.html
│ │ │ ├── class-use/
│ │ │ │ ├── DefaultContentTypeConverter.html
│ │ │ │ ├── DurationUtils.html
│ │ │ │ ├── NetworkUtils.html
│ │ │ │ ├── TypeRef.html
│ │ │ │ └── Version.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── v1/
│ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub.html
│ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub.html
│ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaImplBase.html
│ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaStub.html
│ │ │ ├── AppCallbackAlphaGrpc.AsyncService.html
│ │ │ ├── AppCallbackAlphaGrpc.html
│ │ │ ├── AppCallbackGrpc.AppCallbackBlockingStub.html
│ │ │ ├── AppCallbackGrpc.AppCallbackFutureStub.html
│ │ │ ├── AppCallbackGrpc.AppCallbackImplBase.html
│ │ │ ├── AppCallbackGrpc.AppCallbackStub.html
│ │ │ ├── AppCallbackGrpc.AsyncService.html
│ │ │ ├── AppCallbackGrpc.html
│ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub.html
│ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub.html
│ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase.html
│ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub.html
│ │ │ ├── AppCallbackHealthCheckGrpc.AsyncService.html
│ │ │ ├── AppCallbackHealthCheckGrpc.html
│ │ │ ├── CommonProtos.ConfigurationItem.Builder.html
│ │ │ ├── CommonProtos.ConfigurationItem.html
│ │ │ ├── CommonProtos.ConfigurationItemOrBuilder.html
│ │ │ ├── CommonProtos.Etag.Builder.html
│ │ │ ├── CommonProtos.Etag.html
│ │ │ ├── CommonProtos.EtagOrBuilder.html
│ │ │ ├── CommonProtos.HTTPExtension.Builder.html
│ │ │ ├── CommonProtos.HTTPExtension.Verb.html
│ │ │ ├── CommonProtos.HTTPExtension.html
│ │ │ ├── CommonProtos.HTTPExtensionOrBuilder.html
│ │ │ ├── CommonProtos.InvokeRequest.Builder.html
│ │ │ ├── CommonProtos.InvokeRequest.html
│ │ │ ├── CommonProtos.InvokeRequestOrBuilder.html
│ │ │ ├── CommonProtos.InvokeResponse.Builder.html
│ │ │ ├── CommonProtos.InvokeResponse.html
│ │ │ ├── CommonProtos.InvokeResponseOrBuilder.html
│ │ │ ├── CommonProtos.StateItem.Builder.html
│ │ │ ├── CommonProtos.StateItem.html
│ │ │ ├── CommonProtos.StateItemOrBuilder.html
│ │ │ ├── CommonProtos.StateOptions.Builder.html
│ │ │ ├── CommonProtos.StateOptions.StateConcurrency.html
│ │ │ ├── CommonProtos.StateOptions.StateConsistency.html
│ │ │ ├── CommonProtos.StateOptions.html
│ │ │ ├── CommonProtos.StateOptionsOrBuilder.html
│ │ │ ├── CommonProtos.StreamPayload.Builder.html
│ │ │ ├── CommonProtos.StreamPayload.html
│ │ │ ├── CommonProtos.StreamPayloadOrBuilder.html
│ │ │ ├── CommonProtos.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventRequest.Builder.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventRequest.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventRequestOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.html
│ │ │ ├── DaprAppCallbackProtos.BindingEventResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfig.Builder.html
│ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfig.html
│ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.HealthCheckResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.HealthCheckResponse.html
│ │ │ ├── DaprAppCallbackProtos.HealthCheckResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.JobEventRequest.Builder.html
│ │ │ ├── DaprAppCallbackProtos.JobEventRequest.html
│ │ │ ├── DaprAppCallbackProtos.JobEventRequestOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.JobEventResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.JobEventResponse.html
│ │ │ ├── DaprAppCallbackProtos.JobEventResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponse.html
│ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponse.html
│ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequest.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequest.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponse.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntry.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventCERequest.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventCERequest.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventCERequestOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventRequest.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventRequest.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventRequestOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.html
│ │ │ ├── DaprAppCallbackProtos.TopicEventResponseOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicRoutes.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicRoutes.html
│ │ │ ├── DaprAppCallbackProtos.TopicRoutesOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicRule.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicRule.html
│ │ │ ├── DaprAppCallbackProtos.TopicRuleOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.TopicSubscription.Builder.html
│ │ │ ├── DaprAppCallbackProtos.TopicSubscription.html
│ │ │ ├── DaprAppCallbackProtos.TopicSubscriptionOrBuilder.html
│ │ │ ├── DaprAppCallbackProtos.html
│ │ │ ├── DaprGrpc.AsyncService.html
│ │ │ ├── DaprGrpc.DaprBlockingStub.html
│ │ │ ├── DaprGrpc.DaprFutureStub.html
│ │ │ ├── DaprGrpc.DaprImplBase.html
│ │ │ ├── DaprGrpc.DaprStub.html
│ │ │ ├── DaprGrpc.html
│ │ │ ├── DaprProtos.ShutdownRequest.Builder.html
│ │ │ ├── DaprProtos.ShutdownRequest.html
│ │ │ ├── DaprProtos.ShutdownRequestOrBuilder.html
│ │ │ ├── DaprProtos.html
│ │ │ ├── class-use/
│ │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaBlockingStub.html
│ │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaFutureStub.html
│ │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaImplBase.html
│ │ │ │ ├── AppCallbackAlphaGrpc.AppCallbackAlphaStub.html
│ │ │ │ ├── AppCallbackAlphaGrpc.AsyncService.html
│ │ │ │ ├── AppCallbackAlphaGrpc.html
│ │ │ │ ├── AppCallbackGrpc.AppCallbackBlockingStub.html
│ │ │ │ ├── AppCallbackGrpc.AppCallbackFutureStub.html
│ │ │ │ ├── AppCallbackGrpc.AppCallbackImplBase.html
│ │ │ │ ├── AppCallbackGrpc.AppCallbackStub.html
│ │ │ │ ├── AppCallbackGrpc.AsyncService.html
│ │ │ │ ├── AppCallbackGrpc.html
│ │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckBlockingStub.html
│ │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckFutureStub.html
│ │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckImplBase.html
│ │ │ │ ├── AppCallbackHealthCheckGrpc.AppCallbackHealthCheckStub.html
│ │ │ │ ├── AppCallbackHealthCheckGrpc.AsyncService.html
│ │ │ │ ├── AppCallbackHealthCheckGrpc.html
│ │ │ │ ├── CommonProtos.ConfigurationItem.Builder.html
│ │ │ │ ├── CommonProtos.ConfigurationItem.html
│ │ │ │ ├── CommonProtos.ConfigurationItemOrBuilder.html
│ │ │ │ ├── CommonProtos.Etag.Builder.html
│ │ │ │ ├── CommonProtos.Etag.html
│ │ │ │ ├── CommonProtos.EtagOrBuilder.html
│ │ │ │ ├── CommonProtos.HTTPExtension.Builder.html
│ │ │ │ ├── CommonProtos.HTTPExtension.Verb.html
│ │ │ │ ├── CommonProtos.HTTPExtension.html
│ │ │ │ ├── CommonProtos.HTTPExtensionOrBuilder.html
│ │ │ │ ├── CommonProtos.InvokeRequest.Builder.html
│ │ │ │ ├── CommonProtos.InvokeRequest.html
│ │ │ │ ├── CommonProtos.InvokeRequestOrBuilder.html
│ │ │ │ ├── CommonProtos.InvokeResponse.Builder.html
│ │ │ │ ├── CommonProtos.InvokeResponse.html
│ │ │ │ ├── CommonProtos.InvokeResponseOrBuilder.html
│ │ │ │ ├── CommonProtos.StateItem.Builder.html
│ │ │ │ ├── CommonProtos.StateItem.html
│ │ │ │ ├── CommonProtos.StateItemOrBuilder.html
│ │ │ │ ├── CommonProtos.StateOptions.Builder.html
│ │ │ │ ├── CommonProtos.StateOptions.StateConcurrency.html
│ │ │ │ ├── CommonProtos.StateOptions.StateConsistency.html
│ │ │ │ ├── CommonProtos.StateOptions.html
│ │ │ │ ├── CommonProtos.StateOptionsOrBuilder.html
│ │ │ │ ├── CommonProtos.StreamPayload.Builder.html
│ │ │ │ ├── CommonProtos.StreamPayload.html
│ │ │ │ ├── CommonProtos.StreamPayloadOrBuilder.html
│ │ │ │ ├── CommonProtos.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventRequest.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventRequest.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventRequestOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.BindingEventConcurrency.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.BindingEventResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfig.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfig.html
│ │ │ │ ├── DaprAppCallbackProtos.BulkSubscribeConfigOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.HealthCheckResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.HealthCheckResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.HealthCheckResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.JobEventRequest.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.JobEventRequest.html
│ │ │ │ ├── DaprAppCallbackProtos.JobEventRequestOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.JobEventResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.JobEventResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.JobEventResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.ListInputBindingsResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.ListTopicSubscriptionsResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequest.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequest.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.EventCase.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntry.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestEntryOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkRequestOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntry.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntry.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseEntryOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventBulkResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventCERequest.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventCERequest.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventCERequestOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventRequest.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventRequest.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventRequestOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.TopicEventResponseStatus.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventResponse.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicEventResponseOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicRoutes.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicRoutes.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicRoutesOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicRule.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicRule.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicRuleOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicSubscription.Builder.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicSubscription.html
│ │ │ │ ├── DaprAppCallbackProtos.TopicSubscriptionOrBuilder.html
│ │ │ │ ├── DaprAppCallbackProtos.html
│ │ │ │ ├── DaprGrpc.AsyncService.html
│ │ │ │ ├── DaprGrpc.DaprBlockingStub.html
│ │ │ │ ├── DaprGrpc.DaprFutureStub.html
│ │ │ │ ├── DaprGrpc.DaprImplBase.html
│ │ │ │ ├── DaprGrpc.DaprStub.html
│ │ │ │ ├── DaprGrpc.html
│ │ │ │ ├── DaprProtos.ShutdownRequest.Builder.html
│ │ │ │ ├── DaprProtos.ShutdownRequest.html
│ │ │ │ ├── DaprProtos.ShutdownRequestOrBuilder.html
│ │ │ │ └── DaprProtos.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ └── workflows/
│ │ ├── Workflow.html
│ │ ├── WorkflowContext.html
│ │ ├── WorkflowStub.html
│ │ ├── class-use/
│ │ │ ├── Workflow.html
│ │ │ ├── WorkflowContext.html
│ │ │ └── WorkflowStub.html
│ │ ├── client/
│ │ │ ├── DaprWorkflowClient.html
│ │ │ ├── WorkflowFailureDetails.html
│ │ │ ├── WorkflowInstanceStatus.html
│ │ │ ├── class-use/
│ │ │ │ ├── DaprWorkflowClient.html
│ │ │ │ ├── WorkflowFailureDetails.html
│ │ │ │ └── WorkflowInstanceStatus.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── internal/
│ │ │ ├── ApiTokenClientInterceptor.html
│ │ │ ├── class-use/
│ │ │ │ └── ApiTokenClientInterceptor.html
│ │ │ ├── package-summary.html
│ │ │ ├── package-tree.html
│ │ │ └── package-use.html
│ │ ├── package-summary.html
│ │ ├── package-tree.html
│ │ ├── package-use.html
│ │ └── runtime/
│ │ ├── WorkflowRuntime.html
│ │ ├── WorkflowRuntimeBuilder.html
│ │ ├── class-use/
│ │ │ ├── WorkflowRuntime.html
│ │ │ └── WorkflowRuntimeBuilder.html
│ │ ├── package-summary.html
│ │ ├── package-tree.html
│ │ └── package-use.html
│ ├── jquery-ui.overrides.css
│ ├── legal/
│ │ ├── ADDITIONAL_LICENSE_INFO
│ │ ├── ASSEMBLY_EXCEPTION
│ │ ├── LICENSE
│ │ ├── jquery.md
│ │ └── jqueryUI.md
│ ├── member-search-index.js
│ ├── module-search-index.js
│ ├── overview-summary.html
│ ├── overview-tree.html
│ ├── package-search-index.js
│ ├── project-reports.html
│ ├── script.js
│ ├── search.js
│ ├── serialized-form.html
│ ├── stylesheet.css
│ ├── tag-search-index.js
│ └── type-search-index.js
├── durabletask-client/
│ ├── pom.xml
│ └── src/
│ ├── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── durabletask/
│ │ ├── CompositeTaskFailedException.java
│ │ ├── DataConverter.java
│ │ ├── DurableTaskClient.java
│ │ ├── DurableTaskGrpcClient.java
│ │ ├── DurableTaskGrpcClientBuilder.java
│ │ ├── DurableTaskGrpcWorker.java
│ │ ├── DurableTaskGrpcWorkerBuilder.java
│ │ ├── FailureDetails.java
│ │ ├── Helpers.java
│ │ ├── JacksonDataConverter.java
│ │ ├── NewOrchestrationInstanceOptions.java
│ │ ├── NonDeterministicOrchestratorException.java
│ │ ├── OrchestrationMetadata.java
│ │ ├── OrchestrationRunner.java
│ │ ├── OrchestrationRuntimeStatus.java
│ │ ├── OrchestratorFunction.java
│ │ ├── PurgeInstanceCriteria.java
│ │ ├── PurgeResult.java
│ │ ├── RetryContext.java
│ │ ├── RetryHandler.java
│ │ ├── RetryPolicy.java
│ │ ├── Task.java
│ │ ├── TaskActivity.java
│ │ ├── TaskActivityContext.java
│ │ ├── TaskActivityExecutor.java
│ │ ├── TaskActivityFactory.java
│ │ ├── TaskCanceledException.java
│ │ ├── TaskFailedException.java
│ │ ├── TaskOptions.java
│ │ ├── TaskOrchestration.java
│ │ ├── TaskOrchestrationContext.java
│ │ ├── TaskOrchestrationExecutor.java
│ │ ├── TaskOrchestratorResult.java
│ │ ├── interruption/
│ │ │ ├── ContinueAsNewInterruption.java
│ │ │ └── OrchestratorBlockedException.java
│ │ ├── orchestration/
│ │ │ ├── TaskOrchestrationFactories.java
│ │ │ ├── TaskOrchestrationFactory.java
│ │ │ └── exception/
│ │ │ └── VersionNotRegisteredException.java
│ │ ├── runner/
│ │ │ ├── ActivityRunner.java
│ │ │ ├── DurableRunner.java
│ │ │ └── OrchestratorRunner.java
│ │ └── util/
│ │ └── UuidGenerator.java
│ └── test/
│ └── java/
│ └── io/
│ └── dapr/
│ └── durabletask/
│ ├── DurableTaskClientIT.java
│ ├── DurableTaskGrpcClientTlsTest.java
│ ├── DurableTaskGrpcWorkerReconnectTest.java
│ ├── DurableTaskGrpcWorkerShutdownTest.java
│ ├── ErrorHandlingIT.java
│ ├── IntegrationTestBase.java
│ ├── SubOrchestrationCrossAppTest.java
│ └── TaskOptionsTest.java
├── examples/
│ ├── components/
│ │ ├── actors/
│ │ │ └── redis.yaml
│ │ ├── bindings/
│ │ │ └── kafka_bindings.yaml
│ │ ├── configuration/
│ │ │ └── redis_configstore.yaml
│ │ ├── conversation/
│ │ │ └── conversation.yaml
│ │ ├── crypto/
│ │ │ ├── keys/
│ │ │ │ └── .gitkeep
│ │ │ └── localstorage.yaml
│ │ ├── lock/
│ │ │ └── redis_lockstore.yaml
│ │ ├── pubsub/
│ │ │ └── redis_messagebus.yaml
│ │ ├── secrets/
│ │ │ └── local_file.yaml
│ │ ├── state/
│ │ │ ├── mongo.yaml
│ │ │ └── redis.yaml
│ │ └── workflows/
│ │ └── redis.yaml
│ ├── pom.xml
│ ├── proto/
│ │ └── helloworld.proto
│ ├── spotbugs-exclude.xml
│ └── src/
│ └── main/
│ ├── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── examples/
│ │ ├── DaprApplication.java
│ │ ├── DaprConfig.java
│ │ ├── DaprMainApplication.java
│ │ ├── OpenTelemetryConfig.java
│ │ ├── OpenTelemetryInterceptor.java
│ │ ├── OpenTelemetryInterceptorConfig.java
│ │ ├── actors/
│ │ │ ├── DemoActor.java
│ │ │ ├── DemoActorClient.java
│ │ │ ├── DemoActorImpl.java
│ │ │ ├── DemoActorService.java
│ │ │ └── README.md
│ │ ├── baggage/
│ │ │ ├── BaggageClient.java
│ │ │ └── README.md
│ │ ├── bindings/
│ │ │ └── http/
│ │ │ ├── InputBindingController.java
│ │ │ ├── InputBindingExample.java
│ │ │ ├── OutputBindingExample.java
│ │ │ ├── README.md
│ │ │ └── docker-compose-single-kafka.yml
│ │ ├── configuration/
│ │ │ ├── ConfigurationClient.java
│ │ │ └── README.md
│ │ ├── conversation/
│ │ │ ├── AssistantMessageDemo.java
│ │ │ ├── README.md
│ │ │ ├── ToolsCallDemo.java
│ │ │ ├── UsageUtils.java
│ │ │ └── UserMessageDemo.java
│ │ ├── crypto/
│ │ │ ├── CryptoExample.java
│ │ │ ├── README.md
│ │ │ └── StreamingCryptoExample.java
│ │ ├── exception/
│ │ │ ├── Client.java
│ │ │ └── README.md
│ │ ├── invoke/
│ │ │ ├── grpc/
│ │ │ │ ├── HelloWorldClient.java
│ │ │ │ ├── HelloWorldService.java
│ │ │ │ └── README.md
│ │ │ └── http/
│ │ │ ├── DemoService.java
│ │ │ ├── DemoServiceController.java
│ │ │ ├── InvokeClient.java
│ │ │ └── README.md
│ │ ├── jobs/
│ │ │ ├── DemoJobsClient.java
│ │ │ ├── DemoJobsSpringApplication.java
│ │ │ ├── JobsController.java
│ │ │ └── README.md
│ │ ├── lock/
│ │ │ ├── DistributedLockGrpcClient.java
│ │ │ └── README.md
│ │ ├── pubsub/
│ │ │ ├── BulkPublisher.java
│ │ │ ├── CloudEventBulkPublisher.java
│ │ │ ├── CloudEventPublisher.java
│ │ │ ├── Publisher.java
│ │ │ ├── PublisherWithTracing.java
│ │ │ ├── README.md
│ │ │ ├── grpc/
│ │ │ │ ├── Subscriber.java
│ │ │ │ └── SubscriberGrpcService.java
│ │ │ ├── http/
│ │ │ │ ├── Subscriber.java
│ │ │ │ └── SubscriberController.java
│ │ │ └── stream/
│ │ │ ├── README.md
│ │ │ ├── Subscriber.java
│ │ │ └── SubscriberCloudEvent.java
│ │ ├── querystate/
│ │ │ ├── Listing.java
│ │ │ ├── QuerySavedState.java
│ │ │ ├── README.md
│ │ │ └── docker-compose-single-mongo.yml
│ │ ├── secrets/
│ │ │ ├── README.md
│ │ │ ├── SecretClient.java
│ │ │ └── config.yaml
│ │ ├── state/
│ │ │ ├── README.md
│ │ │ ├── StateClient.java
│ │ │ └── docker-compose-single-mongo.yml
│ │ ├── tracing/
│ │ │ ├── InvokeClient.java
│ │ │ ├── README.md
│ │ │ ├── TracingDemoMiddleServiceController.java
│ │ │ ├── TracingDemoService.java
│ │ │ ├── TracingDemoServiceController.java
│ │ │ └── Validation.java
│ │ ├── unittesting/
│ │ │ ├── DaprExampleTest.java
│ │ │ ├── DaprWorkflowExampleTest.java
│ │ │ └── README.md
│ │ └── workflows/
│ │ ├── README.md
│ │ ├── chain/
│ │ │ ├── DemoChainClient.java
│ │ │ ├── DemoChainWorker.java
│ │ │ ├── DemoChainWorkflow.java
│ │ │ └── ToUpperCaseActivity.java
│ │ ├── childworkflow/
│ │ │ ├── DemoChildWorkerflowClient.java
│ │ │ ├── DemoChildWorkflow.java
│ │ │ ├── DemoChildWorkflowWorker.java
│ │ │ ├── DemoWorkflow.java
│ │ │ └── ReverseActivity.java
│ │ ├── compensation/
│ │ │ ├── BookCarActivity.java
│ │ │ ├── BookFlightActivity.java
│ │ │ ├── BookHotelActivity.java
│ │ │ ├── BookTripClient.java
│ │ │ ├── BookTripWorker.java
│ │ │ ├── BookTripWorkflow.java
│ │ │ ├── CancelCarActivity.java
│ │ │ ├── CancelFlightActivity.java
│ │ │ └── CancelHotelActivity.java
│ │ ├── continueasnew/
│ │ │ ├── CleanUpActivity.java
│ │ │ ├── DemoContinueAsNewClient.java
│ │ │ ├── DemoContinueAsNewWorker.java
│ │ │ └── DemoContinueAsNewWorkflow.java
│ │ ├── externalevent/
│ │ │ ├── ApproveActivity.java
│ │ │ ├── DemoExternalEventClient.java
│ │ │ ├── DemoExternalEventWorker.java
│ │ │ ├── DemoExternalEventWorkflow.java
│ │ │ └── DenyActivity.java
│ │ ├── faninout/
│ │ │ ├── CountWordsActivity.java
│ │ │ ├── DemoFanInOutClient.java
│ │ │ ├── DemoFanInOutWorker.java
│ │ │ └── DemoFanInOutWorkflow.java
│ │ ├── multiapp/
│ │ │ ├── App2TransformActivity.java
│ │ │ ├── App2Worker.java
│ │ │ ├── App3FinalizeActivity.java
│ │ │ ├── App3Worker.java
│ │ │ ├── MultiAppWorker.java
│ │ │ ├── MultiAppWorkflow.java
│ │ │ └── MultiAppWorkflowClient.java
│ │ ├── suspendresume/
│ │ │ ├── DemoSuspendResumeClient.java
│ │ │ └── DemoSuspendResumeWorker.java
│ │ └── utils/
│ │ ├── PropertyUtils.java
│ │ └── RetryUtils.java
│ └── resources/
│ └── logback.xml
├── mise.toml
├── mvnw
├── mvnw.cmd
├── pom.xml
├── sdk/
│ ├── pom.xml
│ ├── spotbugs-exclude.xml
│ └── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ ├── Rule.java
│ │ │ ├── Topic.java
│ │ │ ├── client/
│ │ │ │ ├── AbstractDaprClient.java
│ │ │ │ ├── DaprClient.java
│ │ │ │ ├── DaprClientBuilder.java
│ │ │ │ ├── DaprClientImpl.java
│ │ │ │ ├── DaprHttp.java
│ │ │ │ ├── DaprHttpBuilder.java
│ │ │ │ ├── DaprPreviewClient.java
│ │ │ │ ├── GrpcChannelFacade.java
│ │ │ │ ├── Headers.java
│ │ │ │ ├── ObjectSerializer.java
│ │ │ │ ├── ProtobufValueHelper.java
│ │ │ │ ├── Subscription.java
│ │ │ │ ├── SubscriptionListener.java
│ │ │ │ ├── domain/
│ │ │ │ │ ├── ActorMetadata.java
│ │ │ │ │ ├── AppConnectionPropertiesHealthMetadata.java
│ │ │ │ │ ├── AppConnectionPropertiesMetadata.java
│ │ │ │ │ ├── AssistantMessage.java
│ │ │ │ │ ├── BulkPublishEntry.java
│ │ │ │ │ ├── BulkPublishRequest.java
│ │ │ │ │ ├── BulkPublishResponse.java
│ │ │ │ │ ├── BulkPublishResponseFailedEntry.java
│ │ │ │ │ ├── BulkSubscribeAppResponse.java
│ │ │ │ │ ├── BulkSubscribeAppResponseEntry.java
│ │ │ │ │ ├── BulkSubscribeAppResponseStatus.java
│ │ │ │ │ ├── BulkSubscribeMessage.java
│ │ │ │ │ ├── BulkSubscribeMessageEntry.java
│ │ │ │ │ ├── CloudEvent.java
│ │ │ │ │ ├── ComponentMetadata.java
│ │ │ │ │ ├── ConfigurationItem.java
│ │ │ │ │ ├── ConstantFailurePolicy.java
│ │ │ │ │ ├── ConversationInput.java
│ │ │ │ │ ├── ConversationInputAlpha2.java
│ │ │ │ │ ├── ConversationMessage.java
│ │ │ │ │ ├── ConversationMessageContent.java
│ │ │ │ │ ├── ConversationMessageRole.java
│ │ │ │ │ ├── ConversationOutput.java
│ │ │ │ │ ├── ConversationRequest.java
│ │ │ │ │ ├── ConversationRequestAlpha2.java
│ │ │ │ │ ├── ConversationResponse.java
│ │ │ │ │ ├── ConversationResponseAlpha2.java
│ │ │ │ │ ├── ConversationResultAlpha2.java
│ │ │ │ │ ├── ConversationResultChoices.java
│ │ │ │ │ ├── ConversationResultCompletionUsage.java
│ │ │ │ │ ├── ConversationResultCompletionUsageDetails.java
│ │ │ │ │ ├── ConversationResultMessage.java
│ │ │ │ │ ├── ConversationResultPromptUsageDetails.java
│ │ │ │ │ ├── ConversationToolCalls.java
│ │ │ │ │ ├── ConversationToolCallsOfFunction.java
│ │ │ │ │ ├── ConversationTools.java
│ │ │ │ │ ├── ConversationToolsFunction.java
│ │ │ │ │ ├── DaprMetadata.java
│ │ │ │ │ ├── DecryptRequestAlpha1.java
│ │ │ │ │ ├── DeleteJobRequest.java
│ │ │ │ │ ├── DeleteStateRequest.java
│ │ │ │ │ ├── DeveloperMessage.java
│ │ │ │ │ ├── DropFailurePolicy.java
│ │ │ │ │ ├── EncryptRequestAlpha1.java
│ │ │ │ │ ├── ExecuteStateTransactionRequest.java
│ │ │ │ │ ├── FailurePolicy.java
│ │ │ │ │ ├── FailurePolicyType.java
│ │ │ │ │ ├── GetBulkSecretRequest.java
│ │ │ │ │ ├── GetBulkStateRequest.java
│ │ │ │ │ ├── GetConfigurationRequest.java
│ │ │ │ │ ├── GetJobRequest.java
│ │ │ │ │ ├── GetJobResponse.java
│ │ │ │ │ ├── GetSecretRequest.java
│ │ │ │ │ ├── GetStateRequest.java
│ │ │ │ │ ├── HttpEndpointMetadata.java
│ │ │ │ │ ├── HttpExtension.java
│ │ │ │ │ ├── InvokeBindingRequest.java
│ │ │ │ │ ├── InvokeMethodRequest.java
│ │ │ │ │ ├── JobSchedule.java
│ │ │ │ │ ├── LockRequest.java
│ │ │ │ │ ├── Metadata.java
│ │ │ │ │ ├── PublishEventRequest.java
│ │ │ │ │ ├── QueryStateItem.java
│ │ │ │ │ ├── QueryStateRequest.java
│ │ │ │ │ ├── QueryStateResponse.java
│ │ │ │ │ ├── RuleMetadata.java
│ │ │ │ │ ├── SaveStateRequest.java
│ │ │ │ │ ├── ScheduleJobRequest.java
│ │ │ │ │ ├── State.java
│ │ │ │ │ ├── StateOptions.java
│ │ │ │ │ ├── SubscribeConfigurationRequest.java
│ │ │ │ │ ├── SubscribeConfigurationResponse.java
│ │ │ │ │ ├── SubscriptionMetadata.java
│ │ │ │ │ ├── SystemMessage.java
│ │ │ │ │ ├── ToolMessage.java
│ │ │ │ │ ├── TransactionalStateOperation.java
│ │ │ │ │ ├── TransactionalStateRequest.java
│ │ │ │ │ ├── UnlockRequest.java
│ │ │ │ │ ├── UnlockResponseStatus.java
│ │ │ │ │ ├── UnsubscribeConfigurationRequest.java
│ │ │ │ │ ├── UnsubscribeConfigurationResponse.java
│ │ │ │ │ ├── UserMessage.java
│ │ │ │ │ └── query/
│ │ │ │ │ ├── Pagination.java
│ │ │ │ │ ├── Query.java
│ │ │ │ │ ├── Sorting.java
│ │ │ │ │ └── filters/
│ │ │ │ │ ├── AndFilter.java
│ │ │ │ │ ├── EqFilter.java
│ │ │ │ │ ├── Filter.java
│ │ │ │ │ ├── InFilter.java
│ │ │ │ │ └── OrFilter.java
│ │ │ │ └── resiliency/
│ │ │ │ └── ResiliencyOptions.java
│ │ │ ├── config/
│ │ │ │ ├── BooleanProperty.java
│ │ │ │ ├── GenericProperty.java
│ │ │ │ ├── IntegerProperty.java
│ │ │ │ ├── MillisecondsDurationProperty.java
│ │ │ │ ├── Properties.java
│ │ │ │ ├── Property.java
│ │ │ │ ├── SecondsDurationProperty.java
│ │ │ │ └── StringProperty.java
│ │ │ ├── exceptions/
│ │ │ │ ├── DaprError.java
│ │ │ │ ├── DaprErrorDetails.java
│ │ │ │ └── DaprException.java
│ │ │ ├── internal/
│ │ │ │ ├── exceptions/
│ │ │ │ │ └── DaprHttpException.java
│ │ │ │ ├── grpc/
│ │ │ │ │ ├── DaprClientGrpcInterceptors.java
│ │ │ │ │ └── interceptors/
│ │ │ │ │ ├── DaprApiTokenInterceptor.java
│ │ │ │ │ ├── DaprAppIdInterceptor.java
│ │ │ │ │ ├── DaprBaggageInterceptor.java
│ │ │ │ │ ├── DaprMetadataReceiverInterceptor.java
│ │ │ │ │ ├── DaprTimeoutInterceptor.java
│ │ │ │ │ └── DaprTracingInterceptor.java
│ │ │ │ ├── opencensus/
│ │ │ │ │ ├── BigendianEncoding.java
│ │ │ │ │ ├── BinaryFormatImpl.java
│ │ │ │ │ ├── GrpcHelper.java
│ │ │ │ │ ├── SpanContext.java
│ │ │ │ │ ├── SpanId.java
│ │ │ │ │ ├── TraceContextFormat.java
│ │ │ │ │ ├── TraceId.java
│ │ │ │ │ ├── TraceOptions.java
│ │ │ │ │ ├── Tracestate.java
│ │ │ │ │ └── Utils.java
│ │ │ │ ├── resiliency/
│ │ │ │ │ ├── RetryPolicy.java
│ │ │ │ │ └── TimeoutPolicy.java
│ │ │ │ └── subscription/
│ │ │ │ └── EventSubscriberStreamObserver.java
│ │ │ ├── serializer/
│ │ │ │ ├── CustomizableObjectSerializer.java
│ │ │ │ ├── DaprObjectSerializer.java
│ │ │ │ └── DefaultObjectSerializer.java
│ │ │ └── utils/
│ │ │ ├── DefaultContentTypeConverter.java
│ │ │ ├── DurationUtils.java
│ │ │ ├── FailurePolicyUtils.java
│ │ │ ├── NetworkUtils.java
│ │ │ ├── ProtobufUtils.java
│ │ │ ├── TypeRef.java
│ │ │ └── Version.java
│ │ └── resources/
│ │ └── sdk_version.properties
│ └── test/
│ ├── java/
│ │ └── io/
│ │ └── dapr/
│ │ ├── client/
│ │ │ ├── CloudEventCustom.java
│ │ │ ├── CloudEventCustomTest.java
│ │ │ ├── CloudEventTest.java
│ │ │ ├── DaprClientBuilderTest.java
│ │ │ ├── DaprClientGrpcBaggageTest.java
│ │ │ ├── DaprClientGrpcTelemetryTest.java
│ │ │ ├── DaprClientGrpcTest.java
│ │ │ ├── DaprClientHttpTest.java
│ │ │ ├── DaprClientTestBuilder.java
│ │ │ ├── DaprExceptionTest.java
│ │ │ ├── DaprHttpBuilderTest.java
│ │ │ ├── DaprHttpStub.java
│ │ │ ├── DaprHttpTest.java
│ │ │ ├── DaprPreviewClientGrpcTest.java
│ │ │ ├── MockHttpResponse.java
│ │ │ ├── ProtobufValueHelperTest.java
│ │ │ └── domain/
│ │ │ ├── BulkPublishEntryTest.java
│ │ │ ├── BulkPublishRequestTest.java
│ │ │ ├── ConfigurationItemTest.java
│ │ │ ├── DecryptRequestAlpha1Test.java
│ │ │ ├── DeleteStateRequestTest.java
│ │ │ ├── EncryptRequestAlpha1Test.java
│ │ │ ├── ExecuteStateTransactionRequestTest.java
│ │ │ ├── GetBulkSecretRequestTest.java
│ │ │ ├── GetBulkStateRequestTest.java
│ │ │ ├── GetSecretRequestTest.java
│ │ │ ├── GetStateRequestTest.java
│ │ │ ├── HttpExtensionTest.java
│ │ │ ├── InvokeBindingRequestTest.java
│ │ │ ├── JobsScheduleTest.java
│ │ │ ├── PublishEventRequestTest.java
│ │ │ ├── QueryStateRequestTest.java
│ │ │ ├── SaveStateRequestTest.java
│ │ │ ├── StateTest.java
│ │ │ ├── TestData.java
│ │ │ ├── TransactionalStateRequestTest.java
│ │ │ └── query/
│ │ │ ├── QueryTest.java
│ │ │ └── filters/
│ │ │ ├── AndFilterTest.java
│ │ │ ├── EqFilterTest.java
│ │ │ ├── InFilterTest.java
│ │ │ └── OrFilterTest.java
│ │ ├── config/
│ │ │ └── IntegerPropertyTest.java
│ │ ├── internal/
│ │ │ └── subscription/
│ │ │ └── EventSubscriberStreamObserverTest.java
│ │ ├── resiliency/
│ │ │ └── RetryPolicyTest.java
│ │ ├── runtime/
│ │ │ ├── Dapr.java
│ │ │ ├── DaprRuntime.java
│ │ │ ├── DaprRuntimeTest.java
│ │ │ ├── MethodListener.java
│ │ │ └── TopicListener.java
│ │ ├── serializer/
│ │ │ ├── CustomObjectSerializerTest.java
│ │ │ ├── DefaultObjectSerializerTest.java
│ │ │ └── FailurePolicySerializerTest.java
│ │ └── utils/
│ │ ├── DefaultContentTypeConverterTest.java
│ │ ├── DurationUtilsTest.java
│ │ ├── NetworkUtilsTest.java
│ │ ├── TestUtils.java
│ │ └── TypeRefTest.java
│ └── resources/
│ ├── certs/
│ │ ├── test-ca-cert.key
│ │ ├── test-ca-cert.pem
│ │ ├── test-cert.key
│ │ └── test-cert.pem
│ └── mockito-extensions/
│ └── org.mockito.plugins.MockMaker
├── sdk-actors/
│ ├── pom.xml
│ ├── spotbugs-exclude.xml
│ └── src/
│ ├── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── actors/
│ │ ├── ActorId.java
│ │ ├── ActorMethod.java
│ │ ├── ActorTrace.java
│ │ ├── ActorType.java
│ │ ├── ActorUtils.java
│ │ ├── Undefined.java
│ │ ├── client/
│ │ │ ├── ActorClient.java
│ │ │ ├── ActorProxy.java
│ │ │ ├── ActorProxyBuilder.java
│ │ │ ├── ActorProxyImpl.java
│ │ │ ├── DaprClient.java
│ │ │ └── DaprClientImpl.java
│ │ └── runtime/
│ │ ├── AbstractActor.java
│ │ ├── ActorCallType.java
│ │ ├── ActorFactory.java
│ │ ├── ActorManager.java
│ │ ├── ActorMethodContext.java
│ │ ├── ActorMethodInfoMap.java
│ │ ├── ActorObjectSerializer.java
│ │ ├── ActorReminderParams.java
│ │ ├── ActorRuntime.java
│ │ ├── ActorRuntimeConfig.java
│ │ ├── ActorRuntimeContext.java
│ │ ├── ActorStateChange.java
│ │ ├── ActorStateChangeKind.java
│ │ ├── ActorStateManager.java
│ │ ├── ActorStateOperation.java
│ │ ├── ActorTimerParams.java
│ │ ├── ActorTypeConfig.java
│ │ ├── ActorTypeInformation.java
│ │ ├── ActorTypeUtilities.java
│ │ ├── DaprClient.java
│ │ ├── DaprClientImpl.java
│ │ ├── DaprStateAsyncProvider.java
│ │ ├── DefaultActorFactory.java
│ │ └── Remindable.java
│ └── test/
│ ├── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── actors/
│ │ ├── ActorIdTest.java
│ │ ├── TestUtils.java
│ │ ├── client/
│ │ │ ├── ActorProxyBuilderTest.java
│ │ │ ├── ActorProxyImplForTests.java
│ │ │ ├── ActorProxyImplTest.java
│ │ │ ├── DaprClientStub.java
│ │ │ └── DaprGrpcClientTest.java
│ │ └── runtime/
│ │ ├── ActorCustomSerializerTest.java
│ │ ├── ActorManagerTest.java
│ │ ├── ActorMethodInfoMapTest.java
│ │ ├── ActorNoStateTest.java
│ │ ├── ActorReminderParamsTest.java
│ │ ├── ActorRuntimeTest.java
│ │ ├── ActorStatefulTest.java
│ │ ├── ActorTimerTest.java
│ │ ├── ActorTypeInformationTest.java
│ │ ├── ActorTypeUtilitiesTest.java
│ │ ├── DaprGrpcClientTest.java
│ │ ├── DaprInMemoryStateProvider.java
│ │ ├── DaprStateAsyncProviderTest.java
│ │ ├── DefaultActorFactoryTest.java
│ │ ├── DerivedActorTest.java
│ │ ├── JavaSerializer.java
│ │ └── ThrowFromPreAndPostActorMethodsTest.java
│ └── resources/
│ └── mockito-extensions/
│ └── org.mockito.plugins.MockMaker
├── sdk-autogen/
│ ├── pom.xml
│ └── src/
│ ├── main/
│ │ └── java/
│ │ └── .keepme
│ └── test/
│ └── java/
│ └── .keepme
├── sdk-bom/
│ └── pom.xml
├── sdk-springboot/
│ ├── pom.xml
│ ├── spotbugs-exclude.xml
│ └── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ ├── DaprAutoConfiguration.java
│ │ │ ├── DaprBeanPostProcessor.java
│ │ │ ├── DaprController.java
│ │ │ ├── DaprRuntime.java
│ │ │ ├── DaprSubscriptionBuilder.java
│ │ │ ├── DaprTopicBulkSubscribe.java
│ │ │ ├── DaprTopicKey.java
│ │ │ ├── DaprTopicRoutes.java
│ │ │ ├── DaprTopicRule.java
│ │ │ ├── DaprTopicSubscription.java
│ │ │ └── annotations/
│ │ │ └── BulkSubscribe.java
│ │ └── resources/
│ │ └── META-INF/
│ │ └── spring/
│ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports
│ └── test/
│ └── java/
│ └── io/
│ └── dapr/
│ └── springboot/
│ ├── DaprBeanPostProcessorSubscribeTest.java
│ ├── DaprBeanPostProcessorTest.java
│ ├── DaprRuntimeTest.java
│ ├── DaprTopicBulkSubscribeTest.java
│ ├── MockController.java
│ ├── MockControllerNoClazzAnnotation.java
│ ├── MockControllerWithSubscribe.java
│ └── MockStringValueResolver.java
├── sdk-tests/
│ ├── .hashicorp_vault_token
│ ├── components/
│ │ ├── http_binding.yaml
│ │ ├── kafka_bindings.yaml
│ │ ├── mongo-statestore.yml
│ │ ├── pubsub.yaml
│ │ ├── redisconfigstore.yaml
│ │ ├── resiliency.yaml
│ │ ├── secret.json
│ │ ├── secretstore.yaml
│ │ └── statestore.yaml
│ ├── configurations/
│ │ └── configuration.yaml
│ ├── deploy/
│ │ └── local-test.yml
│ ├── pom.xml
│ ├── proto/
│ │ └── methodinvokeservice.proto
│ └── src/
│ └── test/
│ ├── java/
│ │ └── io/
│ │ └── dapr/
│ │ ├── actors/
│ │ │ └── runtime/
│ │ │ └── DaprClientHttpUtils.java
│ │ ├── grpc/
│ │ │ └── GrpcHealthCheckService.java
│ │ ├── it/
│ │ │ ├── AppRun.java
│ │ │ ├── BaseIT.java
│ │ │ ├── Command.java
│ │ │ ├── DaprPorts.java
│ │ │ ├── DaprRun.java
│ │ │ ├── DaprRunConfig.java
│ │ │ ├── Retry.java
│ │ │ ├── Stoppable.java
│ │ │ ├── TestUtils.java
│ │ │ ├── ToxiProxyRun.java
│ │ │ ├── actors/
│ │ │ │ ├── ActivationDeactivationIT.java
│ │ │ │ ├── ActorExceptionIT.java
│ │ │ │ ├── ActorMethodNameIT.java
│ │ │ │ ├── ActorReminderFailoverIT.java
│ │ │ │ ├── ActorReminderRecoveryIT.java
│ │ │ │ ├── ActorSdkResiliencyIT.java
│ │ │ │ ├── ActorStateIT.java
│ │ │ │ ├── ActorTimerRecoveryIT.java
│ │ │ │ ├── ActorTurnBasedConcurrencyIT.java
│ │ │ │ ├── MethodEntryTracker.java
│ │ │ │ ├── MyActorTestUtils.java
│ │ │ │ ├── app/
│ │ │ │ │ ├── ActorReminderDataParam.java
│ │ │ │ │ ├── MyActor.java
│ │ │ │ │ ├── MyActorBase.java
│ │ │ │ │ ├── MyActorBinaryImpl.java
│ │ │ │ │ ├── MyActorObjectImpl.java
│ │ │ │ │ ├── MyActorService.java
│ │ │ │ │ ├── MyActorStringImpl.java
│ │ │ │ │ ├── MyObject.java
│ │ │ │ │ └── TestApplication.java
│ │ │ │ └── services/
│ │ │ │ └── springboot/
│ │ │ │ ├── DaprApplication.java
│ │ │ │ ├── DemoActor.java
│ │ │ │ ├── DemoActorImpl.java
│ │ │ │ ├── DemoActorService.java
│ │ │ │ ├── StatefulActor.java
│ │ │ │ ├── StatefulActorImpl.java
│ │ │ │ └── StatefulActorService.java
│ │ │ ├── api/
│ │ │ │ └── ApiIT.java
│ │ │ ├── binding/
│ │ │ │ └── http/
│ │ │ │ ├── BindingIT.java
│ │ │ │ ├── InputBindingController.java
│ │ │ │ └── InputBindingService.java
│ │ │ ├── configuration/
│ │ │ │ └── ConfigurationClientIT.java
│ │ │ ├── methodinvoke/
│ │ │ │ ├── grpc/
│ │ │ │ │ ├── MethodInvokeIT.java
│ │ │ │ │ └── MethodInvokeService.java
│ │ │ │ └── http/
│ │ │ │ ├── MethodInvokeController.java
│ │ │ │ ├── MethodInvokeIT.java
│ │ │ │ ├── MethodInvokeService.java
│ │ │ │ └── Person.java
│ │ │ ├── pubsub/
│ │ │ │ ├── http/
│ │ │ │ │ ├── PubSubIT.java
│ │ │ │ │ ├── SubscriberController.java
│ │ │ │ │ └── SubscriberService.java
│ │ │ │ └── stream/
│ │ │ │ └── PubSubStreamIT.java
│ │ │ ├── resiliency/
│ │ │ │ ├── SdkResiliencyIT.java
│ │ │ │ └── WaitForSidecarIT.java
│ │ │ ├── secrets/
│ │ │ │ └── SecretsClientIT.java
│ │ │ ├── spring/
│ │ │ │ ├── data/
│ │ │ │ │ ├── CustomMySQLContainer.java
│ │ │ │ │ ├── DaprKeyValueRepositoryIT.java
│ │ │ │ │ ├── DaprSpringDataConstants.java
│ │ │ │ │ ├── MySQLDaprKeyValueTemplateIT.java
│ │ │ │ │ ├── PostgreSQLDaprKeyValueTemplateIT.java
│ │ │ │ │ ├── TestDaprSpringDataConfiguration.java
│ │ │ │ │ ├── TestType.java
│ │ │ │ │ └── TestTypeRepository.java
│ │ │ │ └── messaging/
│ │ │ │ ├── DaprSpringMessagingIT.java
│ │ │ │ ├── TestApplication.java
│ │ │ │ └── TestRestController.java
│ │ │ ├── state/
│ │ │ │ ├── AbstractStateClientIT.java
│ │ │ │ ├── GRPCStateClientIT.java
│ │ │ │ ├── HelloWorldClientIT.java
│ │ │ │ ├── HelloWorldGrpcStateService.java
│ │ │ │ └── MyData.java
│ │ │ ├── testcontainers/
│ │ │ │ ├── ContainerConstants.java
│ │ │ │ ├── DaprClientConfiguration.java
│ │ │ │ ├── DaprClientFactory.java
│ │ │ │ ├── DaprPreviewClientConfiguration.java
│ │ │ │ ├── SubscriptionsRestController.java
│ │ │ │ ├── actors/
│ │ │ │ │ ├── DaprActorsIT.java
│ │ │ │ │ ├── TestActor.java
│ │ │ │ │ ├── TestActorImpl.java
│ │ │ │ │ ├── TestActorsApplication.java
│ │ │ │ │ └── TestDaprActorsConfiguration.java
│ │ │ │ ├── conversations/
│ │ │ │ │ ├── DaprConversationAlpha2IT.java
│ │ │ │ │ ├── DaprConversationIT.java
│ │ │ │ │ └── TestConversationApplication.java
│ │ │ │ ├── core/
│ │ │ │ │ ├── DaprContainerIT.java
│ │ │ │ │ ├── DaprPlacementContainerIT.java
│ │ │ │ │ └── DaprSchedulerContainerIT.java
│ │ │ │ ├── crypto/
│ │ │ │ │ └── DaprPreviewClientCryptoIT.java
│ │ │ │ ├── jobs/
│ │ │ │ │ ├── DaprJobsIT.java
│ │ │ │ │ └── TestJobsApplication.java
│ │ │ │ ├── pubsub/
│ │ │ │ │ ├── http/
│ │ │ │ │ │ ├── DaprPubSubIT.java
│ │ │ │ │ │ ├── SubscriberController.java
│ │ │ │ │ │ └── TestPubSubApplication.java
│ │ │ │ │ └── outbox/
│ │ │ │ │ ├── DaprPubSubOutboxIT.java
│ │ │ │ │ ├── Product.java
│ │ │ │ │ ├── ProductWebhookController.java
│ │ │ │ │ └── TestPubsubOutboxApplication.java
│ │ │ │ └── workflows/
│ │ │ │ ├── DaprWorkflowsIT.java
│ │ │ │ ├── FirstActivity.java
│ │ │ │ ├── KeyStore.java
│ │ │ │ ├── SecondActivity.java
│ │ │ │ ├── TaskExecutionIdActivity.java
│ │ │ │ ├── TestExecutionKeysWorkflow.java
│ │ │ │ ├── TestNamedActivitiesWorkflow.java
│ │ │ │ ├── TestWorkflow.java
│ │ │ │ ├── TestWorkflowPayload.java
│ │ │ │ ├── TestWorkflowsApplication.java
│ │ │ │ ├── TestWorkflowsConfiguration.java
│ │ │ │ ├── multiapp/
│ │ │ │ │ ├── App2TransformActivity.java
│ │ │ │ │ ├── App2Worker.java
│ │ │ │ │ ├── App3FinalizeActivity.java
│ │ │ │ │ ├── App3Worker.java
│ │ │ │ │ ├── ChildTransformActivity.java
│ │ │ │ │ ├── MultiAppWorker.java
│ │ │ │ │ ├── MultiAppWorkflow.java
│ │ │ │ │ ├── SubOrchestrationChildWorker.java
│ │ │ │ │ ├── SubOrchestrationChildWorkflow.java
│ │ │ │ │ ├── SubOrchestrationParentWorker.java
│ │ │ │ │ ├── SubOrchestrationParentWorkflow.java
│ │ │ │ │ ├── WorkflowsMultiAppCallActivityIT.java
│ │ │ │ │ └── WorkflowsMultiAppSubOrchestrationIT.java
│ │ │ │ └── version/
│ │ │ │ ├── full/
│ │ │ │ │ ├── FullVersioningWorkflowsIT.java
│ │ │ │ │ ├── VersionedWorkflows.java
│ │ │ │ │ ├── WorkflowV1Worker.java
│ │ │ │ │ └── WorkflowV2Worker.java
│ │ │ │ └── patch/
│ │ │ │ ├── PatchVersioningWorkflowsIT.java
│ │ │ │ ├── PatchedWorkflows.java
│ │ │ │ ├── WorkflowV1Worker.java
│ │ │ │ └── WorkflowV2Worker.java
│ │ │ └── tracing/
│ │ │ ├── OpenTelemetry.java
│ │ │ ├── Validation.java
│ │ │ ├── grpc/
│ │ │ │ ├── Service.java
│ │ │ │ └── TracingIT.java
│ │ │ └── http/
│ │ │ ├── Controller.java
│ │ │ ├── OpenTelemetryConfig.java
│ │ │ ├── OpenTelemetryInterceptor.java
│ │ │ ├── OpenTelemetryInterceptorConfig.java
│ │ │ ├── Service.java
│ │ │ └── TracingIT.java
│ │ └── testcontainers/
│ │ └── internal/
│ │ ├── DaprContainerFactory.java
│ │ ├── DaprSidecarContainer.java
│ │ └── spring/
│ │ ├── DaprSpringBootContextInitializer.java
│ │ ├── DaprSpringBootExtension.java
│ │ └── DaprSpringBootTest.java
│ └── resources/
│ ├── logback.xml
│ └── query.json
├── sdk-workflows/
│ ├── pom.xml
│ ├── spotbugs-exclude.xml
│ └── src/
│ ├── main/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── workflows/
│ │ ├── Workflow.java
│ │ ├── WorkflowActivity.java
│ │ ├── WorkflowActivityContext.java
│ │ ├── WorkflowContext.java
│ │ ├── WorkflowStub.java
│ │ ├── WorkflowTaskOptions.java
│ │ ├── WorkflowTaskRetryContext.java
│ │ ├── WorkflowTaskRetryHandler.java
│ │ ├── WorkflowTaskRetryPolicy.java
│ │ ├── client/
│ │ │ ├── DaprWorkflowClient.java
│ │ │ ├── NewWorkflowOptions.java
│ │ │ ├── WorkflowFailureDetails.java
│ │ │ ├── WorkflowInstanceStatus.java
│ │ │ ├── WorkflowRuntimeStatus.java
│ │ │ └── WorkflowState.java
│ │ ├── internal/
│ │ │ └── ApiTokenClientInterceptor.java
│ │ └── runtime/
│ │ ├── DefaultWorkflowActivityContext.java
│ │ ├── DefaultWorkflowContext.java
│ │ ├── DefaultWorkflowFailureDetails.java
│ │ ├── DefaultWorkflowInstanceStatus.java
│ │ ├── DefaultWorkflowState.java
│ │ ├── WorkflowActivityClassWrapper.java
│ │ ├── WorkflowActivityInstanceWrapper.java
│ │ ├── WorkflowClassWrapper.java
│ │ ├── WorkflowInstanceWrapper.java
│ │ ├── WorkflowRuntime.java
│ │ ├── WorkflowRuntimeBuilder.java
│ │ ├── WorkflowRuntimeStatusConverter.java
│ │ └── WorkflowVersionWrapper.java
│ └── test/
│ └── java/
│ └── io/
│ └── dapr/
│ └── workflows/
│ ├── DefaultWorkflowContextTest.java
│ ├── WorkflowTaskOptionsTest.java
│ ├── WorkflowTest.java
│ ├── client/
│ │ ├── DaprWorkflowClientTest.java
│ │ ├── NewWorkflowOptionsTest.java
│ │ ├── WorkflowInstanceStatusTest.java
│ │ └── WorkflowStateTest.java
│ └── runtime/
│ ├── DefaultWorkflowActivityContextTest.java
│ ├── WorkflowActivityClassWrapperTest.java
│ ├── WorkflowActivityInstanceWrapperTest.java
│ ├── WorkflowClassWrapperTest.java
│ ├── WorkflowInstanceWrapperTest.java
│ ├── WorkflowRuntimeBuilderTest.java
│ ├── WorkflowRuntimeStatusConverterTest.java
│ ├── WorkflowRuntimeTest.java
│ └── WorkflowVersionWrapperTest.java
├── settings.xml
├── spotbugs-exclude.xml
├── spring-boot-4-examples/
│ ├── consumer-app/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot4/
│ │ │ │ └── examples/
│ │ │ │ └── consumer/
│ │ │ │ ├── ConsumerApplication.java
│ │ │ │ ├── Order.java
│ │ │ │ └── SubscriberRestController.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── springboot4/
│ │ └── examples/
│ │ └── consumer/
│ │ ├── ConsumerAppIT.java
│ │ ├── ConsumerAppTestConfiguration.java
│ │ ├── DaprTestContainersConfig.java
│ │ └── TestConsumerApplication.java
│ ├── pom.xml
│ ├── producer-app/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot4/
│ │ │ │ └── examples/
│ │ │ │ └── producer/
│ │ │ │ ├── Customer.java
│ │ │ │ ├── CustomerStore.java
│ │ │ │ ├── CustomersRestController.java
│ │ │ │ ├── Jackson3SerializerConfiguration.java
│ │ │ │ ├── Order.java
│ │ │ │ ├── OrderDTO.java
│ │ │ │ ├── OrderRepository.java
│ │ │ │ ├── OrdersRestController.java
│ │ │ │ ├── ProducerAppConfiguration.java
│ │ │ │ ├── ProducerApplication.java
│ │ │ │ └── workflow/
│ │ │ │ ├── CustomerFollowupActivity.java
│ │ │ │ ├── CustomerWorkflow.java
│ │ │ │ └── RegisterCustomerActivity.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ └── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── springboot4/
│ │ └── examples/
│ │ └── producer/
│ │ ├── DaprTestContainersConfig.java
│ │ ├── ProducerAppIT.java
│ │ ├── TestProducerApplication.java
│ │ └── TestSubscriberRestController.java
│ └── workflows/
│ ├── multi-app/
│ │ ├── README.md
│ │ ├── orchestrator/
│ │ │ ├── pom.xml
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── java/
│ │ │ │ │ └── io/
│ │ │ │ │ └── dapr/
│ │ │ │ │ └── springboot4/
│ │ │ │ │ └── examples/
│ │ │ │ │ └── orchestrator/
│ │ │ │ │ ├── Customer.java
│ │ │ │ │ ├── CustomerWorkflow.java
│ │ │ │ │ ├── CustomersRestController.java
│ │ │ │ │ └── OrchestratorApplication.java
│ │ │ │ └── resources/
│ │ │ │ └── application.properties
│ │ │ └── test/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot4/
│ │ │ │ └── examples/
│ │ │ │ └── orchestrator/
│ │ │ │ ├── DaprTestContainersConfig.java
│ │ │ │ ├── DockerImages.java
│ │ │ │ ├── OrchestratorAppIT.java
│ │ │ │ └── TestOrchestratorApplication.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ ├── pom.xml
│ │ ├── spotbugs-exclude.xml
│ │ ├── worker-one/
│ │ │ ├── pom.xml
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── java/
│ │ │ │ │ └── io/
│ │ │ │ │ └── dapr/
│ │ │ │ │ └── springboot4/
│ │ │ │ │ └── examples/
│ │ │ │ │ └── workerone/
│ │ │ │ │ ├── Customer.java
│ │ │ │ │ ├── RegisterCustomerActivity.java
│ │ │ │ │ └── WorkerOneApplication.java
│ │ │ │ └── resources/
│ │ │ │ └── application.properties
│ │ │ └── test/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot4/
│ │ │ │ └── examples/
│ │ │ │ └── workerone/
│ │ │ │ ├── DaprTestContainersConfig.java
│ │ │ │ ├── TestWorkerOneApplication.java
│ │ │ │ └── WorkerOneAppIT.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── worker-two/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot4/
│ │ │ │ └── examples/
│ │ │ │ └── workertwo/
│ │ │ │ ├── Customer.java
│ │ │ │ ├── CustomerFollowupActivity.java
│ │ │ │ └── WorkerTwoApplication.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot4/
│ │ │ └── examples/
│ │ │ └── workertwo/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ ├── TestWorkerTwoApplication.java
│ │ │ └── WorkerTwoAppIT.java
│ │ └── resources/
│ │ └── application.properties
│ ├── patterns/
│ │ ├── README.md
│ │ ├── body.json
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot4/
│ │ │ │ └── examples/
│ │ │ │ └── wfp/
│ │ │ │ ├── WorkflowPatternsApplication.java
│ │ │ │ ├── WorkflowPatternsConfiguration.java
│ │ │ │ ├── WorkflowPatternsRestController.java
│ │ │ │ ├── chain/
│ │ │ │ │ ├── ChainWorkflow.java
│ │ │ │ │ └── ToUpperCaseActivity.java
│ │ │ │ ├── child/
│ │ │ │ │ ├── ChildWorkflow.java
│ │ │ │ │ ├── ParentWorkflow.java
│ │ │ │ │ └── ReverseActivity.java
│ │ │ │ ├── continueasnew/
│ │ │ │ │ ├── CleanUpActivity.java
│ │ │ │ │ ├── CleanUpLog.java
│ │ │ │ │ └── ContinueAsNewWorkflow.java
│ │ │ │ ├── externalevent/
│ │ │ │ │ ├── ApproveActivity.java
│ │ │ │ │ ├── Decision.java
│ │ │ │ │ ├── DenyActivity.java
│ │ │ │ │ └── ExternalEventWorkflow.java
│ │ │ │ ├── fanoutin/
│ │ │ │ │ ├── CountWordsActivity.java
│ │ │ │ │ ├── FanOutInWorkflow.java
│ │ │ │ │ └── Result.java
│ │ │ │ ├── remoteendpoint/
│ │ │ │ │ ├── CallRemoteEndpointActivity.java
│ │ │ │ │ ├── Payload.java
│ │ │ │ │ └── RemoteEndpointWorkflow.java
│ │ │ │ ├── suspendresume/
│ │ │ │ │ ├── PerformTaskActivity.java
│ │ │ │ │ └── SuspendResumeWorkflow.java
│ │ │ │ └── timer/
│ │ │ │ ├── DurationTimerWorkflow.java
│ │ │ │ ├── LogActivity.java
│ │ │ │ ├── TimerLogService.java
│ │ │ │ └── ZonedDateTimeTimerWorkflow.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot4/
│ │ │ └── examples/
│ │ │ └── wfp/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ ├── TestWorkflowPatternsApplication.java
│ │ │ └── WorkflowPatternsAppIT.java
│ │ └── resources/
│ │ ├── application.properties
│ │ └── third-parties/
│ │ └── remote-http-service.yaml
│ ├── pom.xml
│ └── spotbugs-exclude.xml
├── spring-boot-4-sdk-tests/
│ ├── pom.xml
│ └── src/
│ └── test/
│ └── java/
│ └── io/
│ └── dapr/
│ └── it/
│ └── springboot4/
│ └── testcontainers/
│ ├── ContainerConstants.java
│ ├── DaprClientConfiguration.java
│ ├── DaprClientFactory.java
│ ├── DaprContainerFactory.java
│ ├── DaprPreviewClientConfiguration.java
│ ├── DaprSidecarContainer.java
│ ├── Retry.java
│ ├── SubscriptionsRestController.java
│ ├── TestUtils.java
│ ├── actors/
│ │ ├── DaprActorsIT.java
│ │ ├── TestActor.java
│ │ ├── TestActorImpl.java
│ │ ├── TestActorsApplication.java
│ │ └── TestDaprActorsConfiguration.java
│ ├── conversations/
│ │ ├── DaprConversationAlpha2IT.java
│ │ ├── DaprConversationIT.java
│ │ └── TestConversationApplication.java
│ ├── core/
│ │ ├── DaprContainerIT.java
│ │ ├── DaprPlacementContainerIT.java
│ │ └── DaprSchedulerContainerIT.java
│ ├── crypto/
│ │ └── DaprPreviewClientCryptoIT.java
│ ├── jobs/
│ │ ├── DaprJobsIT.java
│ │ └── TestJobsApplication.java
│ ├── pubsub/
│ │ ├── http/
│ │ │ ├── DaprPubSubIT.java
│ │ │ ├── SubscriberController.java
│ │ │ └── TestPubSubApplication.java
│ │ └── outbox/
│ │ ├── DaprPubSubOutboxIT.java
│ │ ├── Product.java
│ │ ├── ProductWebhookController.java
│ │ └── TestPubsubOutboxApplication.java
│ ├── spring/
│ │ ├── DaprSpringBootContextInitializer.java
│ │ ├── DaprSpringBootExtension.java
│ │ └── DaprSpringBootTest.java
│ └── workflows/
│ ├── DaprWorkflowsIT.java
│ ├── FirstActivity.java
│ ├── KeyStore.java
│ ├── SecondActivity.java
│ ├── TaskExecutionIdActivity.java
│ ├── TestExecutionKeysWorkflow.java
│ ├── TestNamedActivitiesWorkflow.java
│ ├── TestWorkflow.java
│ ├── TestWorkflowPayload.java
│ ├── TestWorkflowsApplication.java
│ ├── TestWorkflowsConfiguration.java
│ └── multiapp/
│ ├── App2TransformActivity.java
│ ├── App2Worker.java
│ ├── App3FinalizeActivity.java
│ ├── App3Worker.java
│ ├── MultiAppWorker.java
│ ├── MultiAppWorkflow.java
│ └── WorkflowsMultiAppCallActivityIT.java
├── spring-boot-examples/
│ ├── README.md
│ ├── consumer-app/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── consumer/
│ │ │ │ ├── ConsumerApplication.java
│ │ │ │ ├── Order.java
│ │ │ │ └── SubscriberRestController.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── consumer/
│ │ │ ├── ConsumerAppIT.java
│ │ │ ├── ConsumerAppTestConfiguration.java
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ └── TestConsumerApplication.java
│ │ └── resources/
│ │ └── application.properties
│ ├── kubernetes/
│ │ ├── README.md
│ │ ├── consumer-app.yaml
│ │ ├── kind-with-registry.sh
│ │ ├── kvbinding.yaml
│ │ ├── kvstore.yaml
│ │ ├── producer-app.yaml
│ │ └── pubsub.yaml
│ ├── pom.xml
│ ├── producer-app/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── producer/
│ │ │ │ ├── Customer.java
│ │ │ │ ├── CustomerStore.java
│ │ │ │ ├── CustomersRestController.java
│ │ │ │ ├── Order.java
│ │ │ │ ├── OrderDTO.java
│ │ │ │ ├── OrderRepository.java
│ │ │ │ ├── OrdersRestController.java
│ │ │ │ ├── ProducerAppConfiguration.java
│ │ │ │ ├── ProducerApplication.java
│ │ │ │ └── workflow/
│ │ │ │ ├── CustomerFollowupActivity.java
│ │ │ │ ├── CustomerWorkflow.java
│ │ │ │ └── RegisterCustomerActivity.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── producer/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ ├── ProducerAppIT.java
│ │ │ ├── TestProducerApplication.java
│ │ │ └── TestSubscriberRestController.java
│ │ └── resources/
│ │ └── application.properties
│ ├── spotbugs-exclude.xml
│ └── workflows/
│ ├── multi-app/
│ │ ├── README.md
│ │ ├── orchestrator/
│ │ │ ├── pom.xml
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── java/
│ │ │ │ │ └── io/
│ │ │ │ │ └── dapr/
│ │ │ │ │ └── springboot/
│ │ │ │ │ └── examples/
│ │ │ │ │ └── orchestrator/
│ │ │ │ │ ├── Customer.java
│ │ │ │ │ ├── CustomerWorkflow.java
│ │ │ │ │ ├── CustomersRestController.java
│ │ │ │ │ └── OrchestratorApplication.java
│ │ │ │ └── resources/
│ │ │ │ └── application.properties
│ │ │ └── test/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── orchestrator/
│ │ │ │ ├── DaprTestContainersConfig.java
│ │ │ │ ├── DockerImages.java
│ │ │ │ ├── OrchestratorAppIT.java
│ │ │ │ └── TestOrchestratorApplication.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ ├── pom.xml
│ │ ├── spotbugs-exclude.xml
│ │ ├── worker-one/
│ │ │ ├── pom.xml
│ │ │ └── src/
│ │ │ ├── main/
│ │ │ │ ├── java/
│ │ │ │ │ └── io/
│ │ │ │ │ └── dapr/
│ │ │ │ │ └── springboot/
│ │ │ │ │ └── examples/
│ │ │ │ │ └── workerone/
│ │ │ │ │ ├── Customer.java
│ │ │ │ │ ├── RegisterCustomerActivity.java
│ │ │ │ │ └── WorkerOneApplication.java
│ │ │ │ └── resources/
│ │ │ │ └── application.properties
│ │ │ └── test/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── workerone/
│ │ │ │ ├── DaprTestContainersConfig.java
│ │ │ │ ├── TestWorkerOneApplication.java
│ │ │ │ └── WorkerOneAppIT.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── worker-two/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── workertwo/
│ │ │ │ ├── Customer.java
│ │ │ │ ├── CustomerFollowupActivity.java
│ │ │ │ └── WorkerTwoApplication.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── workertwo/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ ├── TestWorkerTwoApplication.java
│ │ │ └── WorkerTwoAppIT.java
│ │ └── resources/
│ │ └── application.properties
│ ├── patterns/
│ │ ├── README.md
│ │ ├── body.json
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── wfp/
│ │ │ │ ├── WorkflowPatternsApplication.java
│ │ │ │ ├── WorkflowPatternsConfiguration.java
│ │ │ │ ├── WorkflowPatternsRestController.java
│ │ │ │ ├── chain/
│ │ │ │ │ ├── ChainWorkflow.java
│ │ │ │ │ └── ToUpperCaseActivity.java
│ │ │ │ ├── child/
│ │ │ │ │ ├── ChildWorkflow.java
│ │ │ │ │ ├── ParentWorkflow.java
│ │ │ │ │ └── ReverseActivity.java
│ │ │ │ ├── continueasnew/
│ │ │ │ │ ├── CleanUpActivity.java
│ │ │ │ │ ├── CleanUpLog.java
│ │ │ │ │ └── ContinueAsNewWorkflow.java
│ │ │ │ ├── externalevent/
│ │ │ │ │ ├── ApproveActivity.java
│ │ │ │ │ ├── Decision.java
│ │ │ │ │ ├── DenyActivity.java
│ │ │ │ │ └── ExternalEventWorkflow.java
│ │ │ │ ├── fanoutin/
│ │ │ │ │ ├── CountWordsActivity.java
│ │ │ │ │ ├── FanOutInWorkflow.java
│ │ │ │ │ └── Result.java
│ │ │ │ ├── remoteendpoint/
│ │ │ │ │ ├── CallRemoteEndpointActivity.java
│ │ │ │ │ ├── Payload.java
│ │ │ │ │ └── RemoteEndpointWorkflow.java
│ │ │ │ ├── suspendresume/
│ │ │ │ │ ├── PerformTaskActivity.java
│ │ │ │ │ └── SuspendResumeWorkflow.java
│ │ │ │ └── timer/
│ │ │ │ ├── DurationTimerWorkflow.java
│ │ │ │ ├── LogActivity.java
│ │ │ │ ├── TimerLogService.java
│ │ │ │ └── ZonedDateTimeTimerWorkflow.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── wfp/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ ├── TestWorkflowPatternsApplication.java
│ │ │ └── WorkflowPatternsAppIT.java
│ │ └── resources/
│ │ ├── application.properties
│ │ └── third-parties/
│ │ └── remote-http-service.yaml
│ ├── pom.xml
│ ├── spotbugs-exclude.xml
│ └── versioning/
│ ├── README.md
│ ├── full-version-worker-one/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── workerone/
│ │ │ │ ├── FullVersionWorkerOneApplication.java
│ │ │ │ ├── RegisterV1Components.java
│ │ │ │ └── WorkflowController.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── workerone/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ └── TestWorkerOneApplication.java
│ │ └── resources/
│ │ └── application.properties
│ ├── full-version-worker-two/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── workertwo/
│ │ │ │ ├── FullVersionWorkerTwoApplication.java
│ │ │ │ ├── RegisterV2Components.java
│ │ │ │ └── WorkflowController.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── workertwo/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ └── TestWorkerTwoApplication.java
│ │ └── resources/
│ │ └── application.properties
│ ├── patch-version-worker-one/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── workerone/
│ │ │ │ ├── PatchVersionWorkerOneApplication.java
│ │ │ │ ├── RegisterComponents.java
│ │ │ │ └── WorkflowController.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── workerone/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ └── TestWorkerOneApplication.java
│ │ └── resources/
│ │ └── application.properties
│ ├── patch-version-worker-two/
│ │ ├── pom.xml
│ │ └── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── io/
│ │ │ │ └── dapr/
│ │ │ │ └── springboot/
│ │ │ │ └── examples/
│ │ │ │ └── workertwo/
│ │ │ │ ├── PatchVersionWorkerTwoApplication.java
│ │ │ │ ├── RegisterPatchedComponents.java
│ │ │ │ └── WorkflowController.java
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ └── test/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── workertwo/
│ │ │ ├── DaprTestContainersConfig.java
│ │ │ └── TestWorkerOneApplication.java
│ │ └── resources/
│ │ └── application.properties
│ ├── pom.xml
│ ├── spotbugs-exclude.xml
│ └── version-orchestrator/
│ ├── pom.xml
│ └── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── io/
│ │ │ └── dapr/
│ │ │ └── springboot/
│ │ │ └── examples/
│ │ │ └── orchestrator/
│ │ │ ├── FullVersionRestController.java
│ │ │ ├── PatchVersionRestController.java
│ │ │ └── VersionOrchestratorApplication.java
│ │ └── resources/
│ │ └── application.properties
│ └── test/
│ ├── java/
│ │ └── io/
│ │ └── dapr/
│ │ └── springboot/
│ │ └── examples/
│ │ └── orchestrator/
│ │ ├── DaprTestContainersConfig.java
│ │ ├── DockerImages.java
│ │ └── TestOrchestratorApplication.java
│ └── resources/
│ └── application.properties
└── testcontainers-dapr/
├── pom.xml
└── src/
├── main/
│ └── java/
│ └── io/
│ └── dapr/
│ └── testcontainers/
│ ├── AppHttpPipeline.java
│ ├── Component.java
│ ├── Configuration.java
│ ├── ConfigurationSettings.java
│ ├── DaprContainer.java
│ ├── DaprContainerConstants.java
│ ├── DaprLogLevel.java
│ ├── DaprPlacementContainer.java
│ ├── DaprProtocol.java
│ ├── DaprSchedulerContainer.java
│ ├── HttpEndpoint.java
│ ├── ListEntry.java
│ ├── MetadataEntry.java
│ ├── OtelTracingConfigurationSettings.java
│ ├── Subscription.java
│ ├── TracingConfigurationSettings.java
│ ├── WorkflowDashboardContainer.java
│ ├── ZipkinTracingConfigurationSettings.java
│ ├── converter/
│ │ ├── ComponentYamlConverter.java
│ │ ├── ConfigurationYamlConverter.java
│ │ ├── HttpEndpointYamlConverter.java
│ │ ├── SubscriptionYamlConverter.java
│ │ ├── YamlConverter.java
│ │ └── YamlMapperFactory.java
│ └── wait/
│ └── strategy/
│ ├── AbstractDaprWaitStrategy.java
│ ├── ActorWaitStrategy.java
│ ├── DaprWait.java
│ ├── SubscriptionWaitStrategy.java
│ └── metadata/
│ ├── Actor.java
│ ├── Component.java
│ ├── Metadata.java
│ └── Subscription.java
└── test/
├── java/
│ └── io/
│ └── dapr/
│ └── testcontainers/
│ ├── DaprComponentTest.java
│ ├── DaprContainerTest.java
│ ├── DaprWorkflowDashboardTest.java
│ ├── converter/
│ │ ├── ComponentYamlConverterTest.java
│ │ ├── ConfigurationYamlConverterTest.java
│ │ ├── HttpEndpointYamlConverterTest.java
│ │ └── SubscriptionYamlConverterTest.java
│ └── wait/
│ └── strategy/
│ ├── ActorWaitStrategyTest.java
│ ├── DaprWaitTest.java
│ ├── SubscriptionWaitStrategyTest.java
│ └── metadata/
│ └── MetadataTest.java
└── resources/
└── dapr-resources/
└── statestore.yaml
Showing preview only (581K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (6717 symbols across 945 files)
FILE: .github/scripts/automerge.py
function fetch_pulls (line 22) | def fetch_pulls(mergeable_state):
function is_approved (line 26) | def is_approved(pr):
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/AbstractDaprKeyValueAdapter.java
class AbstractDaprKeyValueAdapter (line 28) | public abstract class AbstractDaprKeyValueAdapter implements KeyValueAda...
method AbstractDaprKeyValueAdapter (line 35) | protected AbstractDaprKeyValueAdapter(DaprClient daprClient, String st...
method destroy (line 43) | @Override
method clear (line 48) | @Override
method put (line 53) | @Override
method contains (line 68) | @Override
method get (line 73) | @Override
method get (line 83) | @Override
method delete (line 95) | @Override
method delete (line 110) | @Override
method getAllOf (line 125) | @Override
method entries (line 130) | @Override
method resolveKey (line 135) | private String resolveKey(String keyspace, Object id) {
method resolveValue (line 139) | private <T> T resolveValue(Mono<State<T>> state) {
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DaprKeyValueAdapterResolver.java
class DaprKeyValueAdapterResolver (line 25) | public class DaprKeyValueAdapterResolver implements KeyValueAdapterResol...
method DaprKeyValueAdapterResolver (line 41) | public DaprKeyValueAdapterResolver(DaprClient daprClient, ObjectMapper...
method resolve (line 49) | @Override
method shouldUseMySQL (line 74) | @SuppressWarnings("AbbreviationAsWordInName")
method shouldUsePostgreSQL (line 82) | @SuppressWarnings("AbbreviationAsWordInName")
method matchBy (line 90) | private boolean matchBy(String name, Set<String> markers, ComponentMet...
method getTypeAndVersion (line 94) | private String getTypeAndVersion(ComponentMetadata component) {
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DaprKeyValueTemplate.java
class DaprKeyValueTemplate (line 45) | public class DaprKeyValueTemplate implements KeyValueOperations, Applica...
method DaprKeyValueTemplate (line 67) | public DaprKeyValueTemplate(KeyValueAdapterResolver resolver) {
method DaprKeyValueTemplate (line 77) | @SuppressWarnings("LineLength")
method DaprKeyValueTemplate (line 90) | @SuppressWarnings("LineLength")
method typeCheck (line 103) | private static boolean typeCheck(Class<?> requiredType, @Nullable Obje...
method setExceptionTranslator (line 107) | public void setExceptionTranslator(PersistenceExceptionTranslator exce...
method setEventTypesToPublish (line 117) | @SuppressWarnings("rawtypes")
method setApplicationEventPublisher (line 127) | @Override
method insert (line 132) | @Override
method insert (line 145) | @Override
method update (line 170) | @Override
method update (line 182) | @Override
method findById (line 199) | @Override
method delete (line 223) | @Override
method delete (line 240) | @SuppressWarnings("unchecked")
method delete (line 256) | @Override
method execute (line 272) | @Nullable
method executeRequired (line 284) | protected <T> T executeRequired(KeyValueCallback<T> action) {
method find (line 294) | @Override
method findAll (line 311) | @Override
method findAll (line 329) | @SuppressWarnings("rawtypes")
method findInRange (line 335) | @SuppressWarnings("rawtypes")
method findInRange (line 341) | @SuppressWarnings("rawtypes")
method count (line 347) | @Override
method count (line 353) | @Override
method exists (line 358) | @Override
method getMappingContext (line 363) | @Override
method getKeyValueAdapter (line 368) | @Override
method destroy (line 373) | @Override
method getKeyValuePersistentEntity (line 378) | private KeyValuePersistentEntity<?, ?> getKeyValuePersistentEntity(Obj...
method resolveKeySpace (line 382) | private String resolveKeySpace(Class<?> type) {
method resolveExceptionIfPossible (line 386) | private RuntimeException resolveExceptionIfPossible(RuntimeException e) {
method potentiallyPublishEvent (line 392) | @SuppressWarnings("rawtypes")
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DefaultIdentifierGenerator.java
type DefaultIdentifierGenerator (line 32) | enum DefaultIdentifierGenerator implements IdentifierGenerator {
method generateIdentifierOfType (line 38) | @Override
method getSecureRandom (line 59) | private SecureRandom getSecureRandom() {
class OsTools (line 85) | private static class OsTools {
method secureRandomAlgorithmNames (line 93) | static List<String> secureRandomAlgorithmNames() {
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/GeneratingIdAccessor.java
class GeneratingIdAccessor (line 28) | class GeneratingIdAccessor implements IdentifierAccessor {
method GeneratingIdAccessor (line 42) | GeneratingIdAccessor(PersistentPropertyAccessor<?> accessor, Persisten...
method getIdentifier (line 54) | @Override
method getOrGenerateIdentifier (line 59) | Object getOrGenerateIdentifier() {
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/KeyValueAdapterResolver.java
type KeyValueAdapterResolver (line 18) | public interface KeyValueAdapterResolver {
method resolve (line 19) | KeyValueAdapter resolve();
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/MySQLDaprKeyValueAdapter.java
class MySQLDaprKeyValueAdapter (line 36) | @SuppressWarnings("AbbreviationAsWordInName")
method MySQLDaprKeyValueAdapter (line 66) | public MySQLDaprKeyValueAdapter(DaprClient daprClient, ObjectMapper ma...
method getAllOf (line 79) | @Override
method deleteAllOf (line 90) | @Override
method find (line 99) | @Override
method count (line 117) | @Override
method count (line 127) | @Override
method getKeyspaceFilter (line 144) | private String getKeyspaceFilter(String keyspace) {
method createSql (line 148) | private String createSql(String sqlPattern, String keyspace) {
method createSql (line 154) | private String createSql(String sqlPattern, String keyspace, Object cr...
method execUsingBinding (line 165) | private void execUsingBinding(String sql) {
method queryUsingBinding (line 171) | private <T> T queryUsingBinding(String sql, TypeRef<T> typeRef) {
method convertValues (line 177) | private <T> List<T> convertValues(List<JsonNode> values, Class<T> type) {
method convertValue (line 187) | private <T> T convertValue(JsonNode value, Class<T> type) {
method extractCount (line 206) | private long extractCount(List<JsonNode> values) {
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/PostgreSQLDaprKeyValueAdapter.java
class PostgreSQLDaprKeyValueAdapter (line 35) | @SuppressWarnings("AbbreviationAsWordInName")
method PostgreSQLDaprKeyValueAdapter (line 64) | public PostgreSQLDaprKeyValueAdapter(DaprClient daprClient, ObjectMapp...
method getAllOf (line 77) | @Override
method deleteAllOf (line 88) | @Override
method find (line 97) | @Override
method count (line 115) | @Override
method count (line 125) | @Override
method getKeyspaceFilter (line 142) | private String getKeyspaceFilter(String keyspace) {
method createSql (line 146) | private String createSql(String sqlPattern, String keyspace) {
method createSql (line 152) | private String createSql(String sqlPattern, String keyspace, Object cr...
method execUsingBinding (line 175) | private void execUsingBinding(String sql) {
method queryUsingBinding (line 181) | private <T> T queryUsingBinding(String sql, TypeRef<T> typeRef) {
method convertValues (line 187) | private <T> Iterable<T> convertValues(List<List<Object>> values, Class...
method convertValue (line 198) | private <T> T convertValue(Object value, Class<T> type) {
method extractCount (line 206) | private long extractCount(List<List<Long>> values) {
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/DaprRepositoriesRegistrar.java
class DaprRepositoriesRegistrar (line 24) | public class DaprRepositoriesRegistrar extends RepositoryBeanDefinitionR...
method getAnnotation (line 26) | @Override
method getExtension (line 31) | @Override
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/DaprRepositoryConfigurationExtension.java
class DaprRepositoryConfigurationExtension (line 22) | @SuppressWarnings("unchecked")
method getModuleName (line 25) | @Override
method getModulePrefix (line 30) | @Override
method getDefaultKeyValueTemplateRef (line 35) | @Override
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicate.java
class DaprPredicate (line 24) | public class DaprPredicate implements Predicate<Object> {
method DaprPredicate (line 30) | public DaprPredicate(PropertyPath path, Object expected) {
method DaprPredicate (line 41) | public DaprPredicate(PropertyPath path, Object value, Function<Object,...
method getPath (line 47) | public PropertyPath getPath() {
method getValue (line 51) | public Object getValue() {
method test (line 55) | @Override
method getValueByPath (line 61) | private Object getValueByPath(Object root, PropertyPath path) {
method wrap (line 75) | private BeanWrapper wrap(Object o) {
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicateBuilder.java
class DaprPredicateBuilder (line 27) | class DaprPredicateBuilder {
method DaprPredicateBuilder (line 31) | private DaprPredicateBuilder(Part part) {
method propertyValueOf (line 35) | static DaprPredicateBuilder propertyValueOf(Part part) {
method isTrue (line 39) | Predicate<Object> isTrue() {
method isFalse (line 43) | public Predicate<Object> isFalse() {
method isEqualTo (line 47) | public Predicate<Object> isEqualTo(Object value) {
method isNull (line 61) | public Predicate<Object> isNull() {
method isNotNull (line 65) | public Predicate<Object> isNotNull() {
method isLessThan (line 69) | public Predicate<Object> isLessThan(Object value) {
method isLessThanEqual (line 73) | public Predicate<Object> isLessThanEqual(Object value) {
method isGreaterThan (line 77) | public Predicate<Object> isGreaterThan(Object value) {
method isGreaterThanEqual (line 81) | public Predicate<Object> isGreaterThanEqual(Object value) {
method matches (line 85) | public Predicate<Object> matches(Object value) {
method in (line 100) | public Predicate<Object> in(Object value) {
method contains (line 120) | public Predicate<Object> contains(Object value) {
method startsWith (line 154) | public Predicate<Object> startsWith(Object value) {
method endsWith (line 169) | public Predicate<Object> endsWith(Object value) {
FILE: dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicateQueryCreator.java
class DaprPredicateQueryCreator (line 34) | public class DaprPredicateQueryCreator extends AbstractQueryCreator<KeyV...
method DaprPredicateQueryCreator (line 36) | public DaprPredicateQueryCreator(PartTree tree, ParameterAccessor para...
method create (line 40) | @Override
method and (line 84) | @Override
method or (line 89) | @Override
method complete (line 94) | @Override
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/java/io/dapr/spring/boot4/autoconfigure/client/DaprClientSB4AutoConfiguration.java
class DaprClientSB4AutoConfiguration (line 40) | @AutoConfiguration
method daprConnectionDetails (line 45) | @Bean
method daprClientBuilder (line 51) | @Bean
method daprClient (line 95) | @Bean
method daprWorkflowClient (line 107) | @Bean
method daprActorClient (line 119) | @Bean
method daprActorRuntime (line 126) | @Bean
method daprWorkflowRuntimeBuilder (line 133) | @Bean
method createDaprClientBuilder (line 144) | protected DaprClientBuilder createDaprClientBuilder() {
method createPropertiesFromConnectionDetails (line 154) | protected Properties createPropertiesFromConnectionDetails(DaprConnect...
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/java/io/dapr/spring/boot4/autoconfigure/client/DaprJackson3SB4AutoConfiguration.java
class DaprJackson3SB4AutoConfiguration (line 31) | @AutoConfiguration(after = JacksonAutoConfiguration.class, before = Dapr...
method daprObjectSerializer (line 35) | @Bean
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/java/io/dapr/spring/boot4/autoconfigure/client/Jackson3ObjectSerializer.java
class Jackson3ObjectSerializer (line 26) | public class Jackson3ObjectSerializer implements DaprObjectSerializer {
method Jackson3ObjectSerializer (line 30) | public Jackson3ObjectSerializer(JsonMapper jsonMapper) {
method serialize (line 34) | @Override
method deserialize (line 55) | @Override
method getContentType (line 86) | @Override
method deserializePrimitives (line 91) | @SuppressWarnings("unchecked")
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/DaprClientAutoConfigurationTest.java
class DaprClientAutoConfigurationTest (line 38) | @ExtendWith(MockitoExtension.class)
method daprClientBuilder (line 55) | @Test
method daprClient (line 60) | @Test
method setUp (line 65) | @BeforeEach
method shouldOverrideHttpEndpointIfExists (line 70) | @Test
method shouldOverrideGrpcEndpointIfExists (line 82) | @Test
method shouldOverrideHttpPortIfExists (line 94) | @Test
method shouldOverrideGrpcPortIfExists (line 106) | @Test
method shouldOverrideApiTokenIfExists (line 118) | @Test
method shouldOverrideHttpEndpointInPropertiesIfExists (line 130) | @Test
method shouldOverrideGrpcEndpointPropertiesIfExists (line 142) | @Test
method shouldOverrideHttpPortPropertiesIfExists (line 154) | @Test
method shouldOverrideGrpcPortPropertiesIfExists (line 166) | @Test
method shouldOverrideApiTokenPropertiesIfExists (line 178) | @Test
class TestDaprClientAutoConfiguration (line 190) | private static class TestDaprClientAutoConfiguration extends DaprClien...
method TestDaprClientAutoConfiguration (line 194) | public TestDaprClientAutoConfiguration(DaprClientBuilder daprClientB...
method createDaprClientBuilder (line 198) | @Override
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/DaprJackson3SB4AutoConfigurationTest.java
class DaprJackson3SB4AutoConfigurationTest (line 28) | class DaprJackson3SB4AutoConfigurationTest {
method shouldCreateSerializerBean (line 35) | @Test
method shouldReturnJsonContentType (line 45) | @Test
method shouldBackOffWhenCustomSerializerProvided (line 54) | @Test
method shouldUseSpringJsonMapper (line 66) | @Test
class CustomSerializerConfiguration (line 75) | @Configuration(proxyBeanMethods = false)
method customSerializer (line 78) | @Bean
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/DaprWorkflowsRegistrationTests.java
class DaprWorkflowsRegistrationTests (line 13) | @SpringBootTest(classes = {WorkflowTestApplication.class, DaprClientSB4A...
method testWorkflowInjection (line 28) | @Test
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/Jackson3ObjectSerializerTest.java
class Jackson3ObjectSerializerTest (line 29) | class Jackson3ObjectSerializerTest {
method setUp (line 33) | @BeforeEach
method getContentType (line 38) | @Test
method serializeNull (line 44) | @Test
method serializeVoid (line 50) | @Test
method serializeByteArray (line 57) | @Test
method serializeString (line 64) | @Test
method serializeObject (line 71) | @Test
method deserializeVoid (line 83) | @Test
method deserializeNullData (line 89) | @Test
method deserializeByteArray (line 95) | @Test
method deserializeEmptyData (line 103) | @Test
method deserializeString (line 109) | @Test
method deserializeObject (line 117) | @Test
method deserializeGenericType (line 126) | @Test
method deserializeIntPrimitiveNull (line 134) | @Test
method deserializeIntPrimitiveEmpty (line 141) | @Test
method deserializeBooleanPrimitiveNull (line 148) | @Test
method deserializeIntPrimitiveWithData (line 155) | @Test
method roundTrip (line 163) | @Test
method deserializeMap (line 173) | @Test
method deserializeBooleanPrimitiveEmpty (line 183) | @Test
method deserializeBytePrimitiveNull (line 190) | @Test
method deserializeBytePrimitiveEmpty (line 197) | @Test
method deserializeShortPrimitiveNull (line 204) | @Test
method deserializeShortPrimitiveEmpty (line 211) | @Test
method deserializeLongPrimitiveNull (line 218) | @Test
method deserializeLongPrimitiveEmpty (line 225) | @Test
method deserializeFloatPrimitiveNull (line 232) | @Test
method deserializeFloatPrimitiveEmpty (line 239) | @Test
method deserializeDoublePrimitiveNull (line 246) | @Test
method deserializeDoublePrimitiveEmpty (line 253) | @Test
method deserializeCharPrimitiveNull (line 260) | @Test
method deserializeCharPrimitiveEmpty (line 267) | @Test
method deserializeBooleanPrimitiveWithData (line 276) | @Test
method deserializeLongPrimitiveWithData (line 284) | @Test
method deserializeFloatPrimitiveWithData (line 292) | @Test
method deserializeDoublePrimitiveWithData (line 300) | @Test
method deserializeShortPrimitiveWithData (line 308) | @Test
method deserializeVoidPrimitiveNull (line 318) | @Test
method deserializeVoidPrimitiveEmpty (line 324) | @Test
method serializeInvalidObjectThrowsIOException (line 332) | @Test
method deserializeInvalidJsonThrowsIOException (line 345) | @Test
method deserializeInvalidJsonForPrimitiveThrowsIOException (line 353) | @Test
method deserializeNullDataForByteArray (line 363) | @Test
method serializeInteger (line 370) | @Test
method serializeBoolean (line 377) | @Test
method serializeList (line 384) | @Test
method roundTripList (line 391) | @Test
class TestData (line 400) | public static class TestData {
method TestData (line 404) | public TestData() {
method TestData (line 407) | public TestData(String name, int value) {
method getName (line 412) | public String getName() {
method setName (line 416) | public void setName(String name) {
method getValue (line 420) | public int getValue() {
method setValue (line 424) | public void setValue(int value) {
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/WorkflowTestApplication.java
class WorkflowTestApplication (line 10) | @SpringBootApplication
method main (line 13) | public static void main(String[] args) {
class Config (line 17) | @Configuration
method restTemplate (line 19) | @Bean
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/workflows/TestActivity.java
class TestActivity (line 8) | public class TestActivity implements WorkflowActivity {
method run (line 13) | @Override
method getRestTemplate (line 18) | public RestTemplate getRestTemplate() {
FILE: dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/workflows/TestWorkflow.java
class TestWorkflow (line 8) | public class TestWorkflow implements Workflow {
method create (line 13) | @Override
method getRestTemplate (line 20) | public RestTemplate getRestTemplate() {
FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfiguration.java
class DaprClientAutoConfiguration (line 39) | @AutoConfiguration
method daprConnectionDetails (line 44) | @Bean
method daprClientBuilder (line 50) | @Bean
method daprClient (line 86) | @Bean
method daprWorkflowClient (line 98) | @Bean
method daprActorClient (line 110) | @Bean
method daprActorRuntime (line 117) | @Bean
method daprWorkflowRuntimeBuilder (line 124) | @Bean
method createDaprClientBuilder (line 135) | protected DaprClientBuilder createDaprClientBuilder() {
method createPropertiesFromConnectionDetails (line 145) | protected Properties createPropertiesFromConnectionDetails(DaprConnect...
FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfigurationTest.java
class DaprClientAutoConfigurationTest (line 36) | @ExtendWith(MockitoExtension.class)
method daprClientBuilder (line 50) | @Test
method daprClient (line 55) | @Test
method setUp (line 60) | @BeforeEach
method shouldOverrideHttpEndpointIfExists (line 65) | @Test
method shouldOverrideGrpcEndpointIfExists (line 77) | @Test
method shouldOverrideHttpPortIfExists (line 89) | @Test
method shouldOverrideGrpcPortIfExists (line 101) | @Test
method shouldOverrideApiTokenIfExists (line 113) | @Test
method shouldOverrideHttpEndpointInPropertiesIfExists (line 125) | @Test
method shouldOverrideGrpcEndpointPropertiesIfExists (line 137) | @Test
method shouldOverrideHttpPortPropertiesIfExists (line 149) | @Test
method shouldOverrideGrpcPortPropertiesIfExists (line 161) | @Test
method shouldOverrideApiTokenPropertiesIfExists (line 173) | @Test
class TestDaprClientAutoConfiguration (line 185) | private static class TestDaprClientAutoConfiguration extends DaprClien...
method TestDaprClientAutoConfiguration (line 189) | public TestDaprClientAutoConfiguration(DaprClientBuilder daprClientB...
method createDaprClientBuilder (line 193) | @Override
FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientObservationAutoConfigurationTest.java
class DaprClientObservationAutoConfigurationTest (line 43) | class DaprClientObservationAutoConfigurationTest {
method daprClientIsPlainWhenNoRegistry (line 52) | @Test
method daprClientIsObservationWrappedWhenRegistryPresent (line 68) | @Test
method daprWorkflowClientIsObservationWrappedWhenRegistryPresent (line 81) | @Test
method daprClientInjectableByBaseType (line 98) | @Test
method daprWorkflowClientInjectableByBaseType (line 112) | @Test
method noopRegistryResultsInPlainClient (line 126) | @Test
method userProvidedDaprClientIsNotReplaced (line 139) | @Test
method mockBuilderReturningMockClient (line 156) | private static DaprClientBuilder mockBuilderReturningMockClient() {
FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprWorkflowsRegistrationTests.java
class DaprWorkflowsRegistrationTests (line 13) | @SpringBootTest(classes = {WorkflowTestApplication.class, DaprClientAuto...
method testWorkflowInjection (line 28) | @Test
FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/WorkflowTestApplication.java
class WorkflowTestApplication (line 10) | @SpringBootApplication
method main (line 13) | public static void main(String[] args) {
class Config (line 17) | @Configuration
method restTemplate (line 19) | @Bean
FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/workflows/TestActivity.java
class TestActivity (line 8) | public class TestActivity implements WorkflowActivity {
method run (line 13) | @Override
method getRestTemplate (line 18) | public RestTemplate getRestTemplate() {
FILE: dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/workflows/TestWorkflow.java
class TestWorkflow (line 8) | public class TestWorkflow implements Workflow {
method create (line 13) | @Override
method getRestTemplate (line 20) | public RestTemplate getRestTemplate() {
FILE: dapr-spring/dapr-spring-boot-observation/src/main/java/io/dapr/spring/observation/client/ObservationDaprClient.java
class ObservationDaprClient (line 68) | public class ObservationDaprClient implements DaprClient {
method ObservationDaprClient (line 79) | public ObservationDaprClient(DaprClient delegate, ObservationRegistry ...
method observe (line 89) | private <T> Mono<T> observe(Observation obs, Supplier<Mono<T>> monoSup...
method observeFlux (line 107) | private <T> Flux<T> observeFlux(Observation obs, Supplier<Flux<T>> flu...
method enrichWithSpanContext (line 127) | private static Context enrichWithSpanContext(Context ctx, SpanContext ...
method safe (line 139) | private static String safe(String value) {
method observation (line 143) | private Observation observation(String name) {
method waitForSidecar (line 151) | @Override
method shutdown (line 157) | @Override
method close (line 163) | @Override
method publishEvent (line 172) | @Override
method publishEvent (line 181) | @Override
method publishEvent (line 191) | @Override
method publishEvents (line 200) | @Override
method publishEvents (line 209) | @Override
method publishEvents (line 219) | @Override
method publishEvents (line 230) | @Override
method publishEvents (line 242) | @Override
method invokeMethod (line 259) | @Override
method invokeMethod (line 267) | @Override
method invokeMethod (line 275) | @Override
method invokeMethod (line 282) | @Override
method invokeMethod (line 289) | @Override
method invokeMethod (line 296) | @Override
method invokeMethod (line 303) | @Override
method invokeMethod (line 310) | @Override
method invokeMethod (line 317) | @Override
method invokeMethod (line 324) | @Override
method invokeMethod (line 331) | @Override
method invokeBinding (line 341) | @Override
method invokeBinding (line 350) | @Override
method invokeBinding (line 360) | @Override
method invokeBinding (line 370) | @Override
method invokeBinding (line 380) | @Override
method invokeBinding (line 390) | @Override
method invokeBinding (line 400) | @Override
method invokeBinding (line 409) | @Override
method getState (line 422) | @Override
method getState (line 431) | @Override
method getState (line 440) | @Override
method getState (line 449) | @Override
method getState (line 458) | @Override
method getState (line 468) | @Override
method getState (line 478) | @Override
method getBulkState (line 487) | @Override
method getBulkState (line 496) | @Override
method getBulkState (line 505) | @Override
method executeStateTransaction (line 513) | @Override
method executeStateTransaction (line 522) | @Override
method saveBulkState (line 530) | @Override
method saveBulkState (line 538) | @Override
method saveState (line 546) | @Override
method saveState (line 555) | @Override
method saveState (line 565) | @Override
method deleteState (line 575) | @Override
method deleteState (line 584) | @Override
method deleteState (line 594) | @Override
method getSecret (line 607) | @Override
method getSecret (line 617) | @Override
method getSecret (line 626) | @Override
method getBulkSecret (line 635) | @Override
method getBulkSecret (line 643) | @Override
method getBulkSecret (line 652) | @Override
method getConfiguration (line 664) | @Override
method getConfiguration (line 673) | @Override
method getConfiguration (line 683) | @Override
method getConfiguration (line 691) | @Override
method getConfiguration (line 700) | @Override
method subscribeConfiguration (line 708) | @Override
method subscribeConfiguration (line 717) | @Override
method subscribeConfiguration (line 727) | @Override
method unsubscribeConfiguration (line 736) | @Override
method unsubscribeConfiguration (line 745) | @Override
method newGrpcStub (line 758) | @Override
method getMetadata (line 767) | @Override
method scheduleJob (line 776) | @Override
method getJob (line 784) | @Override
method deleteJob (line 792) | @Override
FILE: dapr-spring/dapr-spring-boot-observation/src/main/java/io/dapr/spring/observation/client/ObservationDaprWorkflowClient.java
class ObservationDaprWorkflowClient (line 59) | public class ObservationDaprWorkflowClient extends DaprWorkflowClient {
method ObservationDaprWorkflowClient (line 72) | public ObservationDaprWorkflowClient(Properties properties,
method observation (line 83) | private Observation observation(String name) {
method scheduleNewWorkflow (line 93) | @Override
method scheduleNewWorkflow (line 110) | @Override
method scheduleNewWorkflow (line 127) | @Override
method scheduleNewWorkflow (line 147) | @Override
method suspendWorkflow (line 172) | @Override
method resumeWorkflow (line 189) | @Override
method terminateWorkflow (line 206) | @Override
method getWorkflowState (line 227) | @Override
method waitForWorkflowStart (line 249) | @Override
method waitForWorkflowCompletion (line 271) | @Override
method raiseEvent (line 298) | @Override
method purgeWorkflow (line 320) | @Override
class OtelTracingClientInterceptor (line 353) | private static final class OtelTracingClientInterceptor implements Cli...
method interceptCall (line 355) | @Override
FILE: dapr-spring/dapr-spring-boot-observation/src/main/java/io/dapr/spring/observation/client/TraceContextFormat.java
class TraceContextFormat (line 27) | final class TraceContextFormat {
method TraceContextFormat (line 29) | private TraceContextFormat() {
method formatW3cTraceparent (line 35) | static String formatW3cTraceparent(SpanContext spanCtx) {
method formatTraceState (line 44) | static String formatTraceState(SpanContext spanCtx) {
FILE: dapr-spring/dapr-spring-boot-observation/src/test/java/io/dapr/spring/observation/client/ObservationDaprClientTest.java
class ObservationDaprClientTest (line 56) | @ExtendWith(MockitoExtension.class)
method setUp (line 65) | @BeforeEach
method isAssignableToDaprClient (line 75) | @Test
method publishEventCreatesSpan (line 85) | @Test
method publishEventRequestCreatesSpan (line 99) | @Test
method publishEventRecordsError (line 111) | @Test
method invokeBindingCreatesSpan (line 130) | @Test
method invokeBindingRequestCreatesSpan (line 144) | @Test
method getStateCreatesSpan (line 160) | @Test
method saveStateCreatesSpan (line 174) | @Test
method deleteStateCreatesSpan (line 188) | @Test
method getBulkStateCreatesSpan (line 202) | @Test
method executeStateTransactionCreatesSpan (line 214) | @Test
method getSecretCreatesSpan (line 229) | @Test
method getBulkSecretCreatesSpan (line 243) | @Test
method getConfigurationCreatesSpan (line 258) | @Test
method subscribeConfigurationCreatesSpan (line 271) | @Test
method unsubscribeConfigurationCreatesSpan (line 282) | @Test
method getMetadataCreatesSpan (line 297) | @Test
method waitForSidecarCreatesSpan (line 308) | @Test
method shutdownCreatesSpan (line 319) | @Test
method scheduleJobCreatesSpan (line 334) | @Test
method observationDoesNotStartWithoutSubscription (line 353) | @Test
method deprecatedInvokeMethodDoesNotCreateSpan (line 367) | @Test
FILE: dapr-spring/dapr-spring-boot-observation/src/test/java/io/dapr/spring/observation/client/ObservationDaprWorkflowClientTest.java
class ObservationDaprWorkflowClientTest (line 42) | class ObservationDaprWorkflowClientTest {
method setUp (line 47) | @BeforeEach
method isAssignableToDaprWorkflowClient (line 58) | @Test
method scheduleNewWorkflowByNameCreatesSpan (line 68) | @Test
method scheduleNewWorkflowByClassDelegatesToStringOverload (line 82) | @Test
method scheduleNewWorkflowWithInstanceIdCreatesSpan (line 97) | @Test
method suspendWorkflowCreatesSpan (line 114) | @Test
method resumeWorkflowCreatesSpan (line 127) | @Test
method terminateWorkflowCreatesSpan (line 140) | @Test
method getWorkflowStateCreatesSpan (line 157) | @Test
method raiseEventCreatesSpan (line 174) | @Test
method purgeWorkflowCreatesSpan (line 192) | @Test
method deprecatedGetInstanceStateDoesNotCreateSpan (line 209) | @Test
class DummyWorkflow (line 225) | static class DummyWorkflow implements io.dapr.workflows.Workflow {
method create (line 226) | @Override
FILE: dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/client/ClientPropertiesDaprConnectionDetails.java
class ClientPropertiesDaprConnectionDetails (line 16) | public class ClientPropertiesDaprConnectionDetails implements DaprConnec...
method ClientPropertiesDaprConnectionDetails (line 20) | public ClientPropertiesDaprConnectionDetails(DaprClientProperties dapr...
method getHttpEndpoint (line 24) | @Override
method getGrpcEndpoint (line 29) | @Override
method getHttpPort (line 34) | @Override
method getGrpcPort (line 39) | @Override
method getApiToken (line 44) | @Override
FILE: dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/client/DaprClientProperties.java
class DaprClientProperties (line 18) | @ConfigurationProperties(prefix = "dapr.client")
method DaprClientProperties (line 29) | public DaprClientProperties() {
method DaprClientProperties (line 40) | public DaprClientProperties(String httpEndpoint, String grpcEndpoint, ...
method getHttpEndpoint (line 49) | public String getHttpEndpoint() {
method getGrpcEndpoint (line 53) | public String getGrpcEndpoint() {
method getHttpPort (line 57) | public Integer getHttpPort() {
method getGrpcPort (line 61) | public Integer getGrpcPort() {
method setHttpEndpoint (line 65) | public void setHttpEndpoint(String httpEndpoint) {
method setGrpcEndpoint (line 69) | public void setGrpcEndpoint(String grpcEndpoint) {
method setHttpPort (line 73) | public void setHttpPort(Integer httpPort) {
method setGrpcPort (line 77) | public void setGrpcPort(Integer grpcPort) {
method getApiToken (line 81) | public String getApiToken() {
method setApiToken (line 85) | public void setApiToken(String apiToken) {
FILE: dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/client/DaprConnectionDetails.java
type DaprConnectionDetails (line 18) | public interface DaprConnectionDetails extends ConnectionDetails {
method getHttpEndpoint (line 20) | String getHttpEndpoint();
method getGrpcEndpoint (line 22) | String getGrpcEndpoint();
method getHttpPort (line 24) | Integer getHttpPort();
method getGrpcPort (line 26) | Integer getGrpcPort();
method getApiToken (line 28) | String getApiToken();
FILE: dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/pubsub/DaprPubSubProperties.java
class DaprPubSubProperties (line 18) | @ConfigurationProperties(prefix = DaprPubSubProperties.CONFIG_PREFIX)
method getName (line 29) | public String getName() {
method setName (line 33) | public void setName(String name) {
method isObservationEnabled (line 37) | public boolean isObservationEnabled() {
method setObservationEnabled (line 41) | public void setObservationEnabled(boolean observationEnabled) {
FILE: dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/statestore/DaprStateStoreProperties.java
class DaprStateStoreProperties (line 18) | @ConfigurationProperties(prefix = DaprStateStoreProperties.CONFIG_PREFIX)
method getName (line 29) | public String getName() {
method setName (line 33) | public void setName(String name) {
method getBinding (line 37) | public String getBinding() {
method setBinding (line 41) | public void setBinding(String binding) {
FILE: dapr-spring/dapr-spring-boot-properties/src/test/java/io/dapr/spring/boot/properties/client/DaprClientPropertiesTest.java
class DaprClientPropertiesTest (line 23) | public class DaprClientPropertiesTest {
method shouldCreateDaprClientPropertiesCorrectly (line 29) | @Test
method shouldSetDaprClientPropertiesCorrectly (line 46) | @Test
method shouldMapDaprClientProperties (line 67) | @Test
method shouldMapDaprClientPropertiesCamelCase (line 88) | @Test
class EnableDaprClientProperties (line 108) | @EnableConfigurationProperties(DaprClientProperties.class)
FILE: dapr-spring/dapr-spring-boot-properties/src/test/java/io/dapr/spring/boot/properties/pubsub/DaprPubSubPropertiesTest.java
class DaprPubSubPropertiesTest (line 22) | public class DaprPubSubPropertiesTest {
method shouldSetProperties (line 28) | @Test
method shouldMapDaprPubSubPropertiesCorrectly (line 41) | @Test
class EnableDaprPubSubProperties (line 57) | @EnableConfigurationProperties(DaprPubSubProperties.class)
FILE: dapr-spring/dapr-spring-boot-properties/src/test/java/io/dapr/spring/boot/properties/statestore/DaprStateStorePropertiesTest.java
class DaprStateStorePropertiesTest (line 22) | public class DaprStateStorePropertiesTest {
method shouldSetDaprStateStorePropertiesCorrectly (line 28) | @Test
method shouldMapDaprStateStoreProperties (line 41) | @Test
class EnableDaprStateStoreProperties (line 58) | @EnableConfigurationProperties(DaprStateStoreProperties.class)
FILE: dapr-spring/dapr-spring-boot-tests/src/main/java/io/dapr/spring/boot/testcontainers/service/connection/DaprContainerConnectionDetailsFactory.java
class DaprContainerConnectionDetailsFactory (line 21) | public class DaprContainerConnectionDetailsFactory
method DaprContainerConnectionDetailsFactory (line 24) | DaprContainerConnectionDetailsFactory() {
method getContainerConnectionDetails (line 27) | protected DaprConnectionDetails getContainerConnectionDetails(Containe...
class DaprContainerConnectionDetails (line 31) | private static final class DaprContainerConnectionDetails
method DaprContainerConnectionDetails (line 34) | private DaprContainerConnectionDetails(ContainerConnectionSource<Dap...
method getHttpEndpoint (line 38) | @Override
method getGrpcEndpoint (line 43) | @Override
method getHttpPort (line 48) | @Override
method getGrpcPort (line 53) | @Override
method getApiToken (line 61) | @Override
FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/AbstractDaprKeyValueAdapter.java
class AbstractDaprKeyValueAdapter (line 29) | public abstract class AbstractDaprKeyValueAdapter implements KeyValueAda...
method AbstractDaprKeyValueAdapter (line 36) | protected AbstractDaprKeyValueAdapter(DaprClient daprClient, String st...
method destroy (line 44) | @Override
method clear (line 49) | @Override
method put (line 54) | @Override
method contains (line 69) | @Override
method get (line 74) | @Override
method get (line 84) | @Override
method delete (line 96) | @Override
method delete (line 111) | @Override
method getAllOf (line 126) | @Override
method entries (line 131) | @Override
method resolveKey (line 136) | private String resolveKey(String keyspace, Object id) {
method resolveValue (line 140) | private <T> T resolveValue(Mono<State<T>> state) {
FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/DaprKeyValueAdapterResolver.java
class DaprKeyValueAdapterResolver (line 25) | public class DaprKeyValueAdapterResolver implements KeyValueAdapterResol...
method DaprKeyValueAdapterResolver (line 41) | public DaprKeyValueAdapterResolver(DaprClient daprClient, ObjectMapper...
method resolve (line 49) | @Override
method shouldUseMySQL (line 74) | @SuppressWarnings("AbbreviationAsWordInName")
method shouldUsePostgreSQL (line 82) | @SuppressWarnings("AbbreviationAsWordInName")
method matchBy (line 90) | private boolean matchBy(String name, Set<String> markers, ComponentMet...
method getTypeAndVersion (line 94) | private String getTypeAndVersion(ComponentMetadata component) {
FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/DaprKeyValueTemplate.java
class DaprKeyValueTemplate (line 45) | public class DaprKeyValueTemplate implements KeyValueOperations, Applica...
method DaprKeyValueTemplate (line 67) | public DaprKeyValueTemplate(KeyValueAdapterResolver resolver) {
method DaprKeyValueTemplate (line 77) | @SuppressWarnings("LineLength")
method DaprKeyValueTemplate (line 90) | @SuppressWarnings("LineLength")
method typeCheck (line 103) | private static boolean typeCheck(Class<?> requiredType, @Nullable Obje...
method setExceptionTranslator (line 107) | public void setExceptionTranslator(PersistenceExceptionTranslator exce...
method setEventTypesToPublish (line 117) | @SuppressWarnings("rawtypes")
method setApplicationEventPublisher (line 127) | @Override
method insert (line 132) | @Override
method insert (line 145) | @Override
method update (line 170) | @Override
method update (line 182) | @Override
method findById (line 199) | @Override
method delete (line 223) | @Override
method delete (line 240) | @SuppressWarnings("unchecked")
method delete (line 256) | @Override
method execute (line 272) | @Nullable
method executeRequired (line 284) | protected <T> T executeRequired(KeyValueCallback<T> action) {
method find (line 294) | @Override
method findAll (line 311) | @Override
method findAll (line 329) | @SuppressWarnings("rawtypes")
method findInRange (line 335) | @SuppressWarnings("rawtypes")
method findInRange (line 341) | @SuppressWarnings("rawtypes")
method count (line 347) | @Override
method count (line 353) | @Override
method exists (line 358) | @Override
method getMappingContext (line 363) | @Override
method getKeyValueAdapter (line 368) | @Override
method destroy (line 373) | @Override
method getKeyValuePersistentEntity (line 378) | private KeyValuePersistentEntity<?, ?> getKeyValuePersistentEntity(Obj...
method resolveKeySpace (line 382) | private String resolveKeySpace(Class<?> type) {
method resolveExceptionIfPossible (line 386) | private RuntimeException resolveExceptionIfPossible(RuntimeException e) {
method potentiallyPublishEvent (line 392) | @SuppressWarnings("rawtypes")
FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/DefaultIdentifierGenerator.java
type DefaultIdentifierGenerator (line 32) | enum DefaultIdentifierGenerator implements IdentifierGenerator {
method generateIdentifierOfType (line 38) | @Override
method getSecureRandom (line 59) | private SecureRandom getSecureRandom() {
class OsTools (line 85) | private static class OsTools {
method secureRandomAlgorithmNames (line 93) | static List<String> secureRandomAlgorithmNames() {
FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/GeneratingIdAccessor.java
class GeneratingIdAccessor (line 28) | class GeneratingIdAccessor implements IdentifierAccessor {
method GeneratingIdAccessor (line 42) | GeneratingIdAccessor(PersistentPropertyAccessor<?> accessor, Persisten...
method getIdentifier (line 54) | @Override
method getOrGenerateIdentifier (line 59) | Object getOrGenerateIdentifier() {
FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/KeyValueAdapterResolver.java
type KeyValueAdapterResolver (line 18) | public interface KeyValueAdapterResolver {
method resolve (line 19) | KeyValueAdapter resolve();
FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/MySQLDaprKeyValueAdapter.java
class MySQLDaprKeyValueAdapter (line 36) | @SuppressWarnings("AbbreviationAsWordInName")
method MySQLDaprKeyValueAdapter (line 66) | public MySQLDaprKeyValueAdapter(DaprClient daprClient, ObjectMapper ma...
method getAllOf (line 79) | @Override
method deleteAllOf (line 90) | @Override
method find (line 99) | @Override
method count (line 117) | @Override
method count (line 127) | @Override
method getKeyspaceFilter (line 144) | private String getKeyspaceFilter(String keyspace) {
method createSql (line 148) | private String createSql(String sqlPattern, String keyspace) {
method createSql (line 154) | private String createSql(String sqlPattern, String keyspace, Object cr...
method execUsingBinding (line 165) | private void execUsingBinding(String sql) {
method queryUsingBinding (line 171) | private <T> T queryUsingBinding(String sql, TypeRef<T> typeRef) {
method convertValues (line 177) | private <T> List<T> convertValues(List<JsonNode> values, Class<T> type) {
method convertValue (line 187) | private <T> T convertValue(JsonNode value, Class<T> type) {
method extractCount (line 206) | private long extractCount(List<JsonNode> values) {
FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/PostgreSQLDaprKeyValueAdapter.java
class PostgreSQLDaprKeyValueAdapter (line 35) | @SuppressWarnings("AbbreviationAsWordInName")
method PostgreSQLDaprKeyValueAdapter (line 64) | public PostgreSQLDaprKeyValueAdapter(DaprClient daprClient, ObjectMapp...
method getAllOf (line 77) | @Override
method deleteAllOf (line 88) | @Override
method find (line 97) | @Override
method count (line 115) | @Override
method count (line 125) | @Override
method getKeyspaceFilter (line 142) | private String getKeyspaceFilter(String keyspace) {
method createSql (line 146) | private String createSql(String sqlPattern, String keyspace) {
method createSql (line 152) | private String createSql(String sqlPattern, String keyspace, Object cr...
method execUsingBinding (line 175) | private void execUsingBinding(String sql) {
method queryUsingBinding (line 181) | private <T> T queryUsingBinding(String sql, TypeRef<T> typeRef) {
method convertValues (line 187) | private <T> Iterable<T> convertValues(List<List<Object>> values, Class...
method convertValue (line 198) | private <T> T convertValue(Object value, Class<T> type) {
method extractCount (line 206) | private long extractCount(List<List<Long>> values) {
FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/config/DaprRepositoriesRegistrar.java
class DaprRepositoriesRegistrar (line 24) | public class DaprRepositoriesRegistrar extends RepositoryBeanDefinitionR...
method getAnnotation (line 26) | @Override
method getExtension (line 31) | @Override
FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/config/DaprRepositoryConfigurationExtension.java
class DaprRepositoryConfigurationExtension (line 22) | @SuppressWarnings("unchecked")
method getModuleName (line 25) | @Override
method getModulePrefix (line 30) | @Override
method getDefaultKeyValueTemplateRef (line 35) | @Override
FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/query/DaprPredicate.java
class DaprPredicate (line 24) | public class DaprPredicate implements Predicate<Object> {
method DaprPredicate (line 30) | public DaprPredicate(PropertyPath path, Object expected) {
method DaprPredicate (line 41) | public DaprPredicate(PropertyPath path, Object value, Function<Object,...
method getPath (line 47) | public PropertyPath getPath() {
method getValue (line 51) | public Object getValue() {
method test (line 55) | @Override
method getValueByPath (line 61) | private Object getValueByPath(Object root, PropertyPath path) {
method wrap (line 75) | private BeanWrapper wrap(Object o) {
FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/query/DaprPredicateBuilder.java
class DaprPredicateBuilder (line 26) | class DaprPredicateBuilder {
method DaprPredicateBuilder (line 30) | private DaprPredicateBuilder(Part part) {
method propertyValueOf (line 34) | static DaprPredicateBuilder propertyValueOf(Part part) {
method isTrue (line 38) | Predicate<Object> isTrue() {
method isFalse (line 42) | public Predicate<Object> isFalse() {
method isEqualTo (line 46) | public Predicate<Object> isEqualTo(Object value) {
method isNull (line 60) | public Predicate<Object> isNull() {
method isNotNull (line 64) | public Predicate<Object> isNotNull() {
method isLessThan (line 68) | public Predicate<Object> isLessThan(Object value) {
method isLessThanEqual (line 72) | public Predicate<Object> isLessThanEqual(Object value) {
method isGreaterThan (line 76) | public Predicate<Object> isGreaterThan(Object value) {
method isGreaterThanEqual (line 80) | public Predicate<Object> isGreaterThanEqual(Object value) {
method matches (line 84) | public Predicate<Object> matches(Object value) {
method in (line 99) | public Predicate<Object> in(Object value) {
method contains (line 119) | public Predicate<Object> contains(Object value) {
method startsWith (line 153) | public Predicate<Object> startsWith(Object value) {
method endsWith (line 168) | public Predicate<Object> endsWith(Object value) {
FILE: dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/query/DaprPredicateQueryCreator.java
class DaprPredicateQueryCreator (line 34) | public class DaprPredicateQueryCreator extends AbstractQueryCreator<KeyV...
method DaprPredicateQueryCreator (line 36) | public DaprPredicateQueryCreator(PartTree tree, ParameterAccessor para...
method create (line 40) | @Override
method and (line 84) | @Override
method or (line 89) | @Override
method complete (line 94) | @Override
FILE: dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/DaprMessagingOperations.java
type DaprMessagingOperations (line 18) | public interface DaprMessagingOperations<T> {
method send (line 27) | void send(String topic, T message);
method newMessage (line 35) | SendMessageBuilder<T> newMessage(T message);
type SendMessageBuilder (line 43) | interface SendMessageBuilder<T> {
method withTopic (line 51) | SendMessageBuilder<T> withTopic(String topic);
method send (line 56) | void send();
method sendAsync (line 63) | Mono<Void> sendAsync();
FILE: dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/DaprMessagingTemplate.java
class DaprMessagingTemplate (line 40) | public class DaprMessagingTemplate<T> implements DaprMessagingOperations...
method DaprMessagingTemplate (line 71) | public DaprMessagingTemplate(DaprClient daprClient, String pubsubName,...
method setApplicationContext (line 78) | @Override
method setBeanName (line 83) | @Override
method afterSingletonsInstantiated (line 92) | @Override
method send (line 110) | @Override
method newMessage (line 115) | @Override
method doSend (line 120) | private void doSend(String topic, T message) {
method doSendAsync (line 124) | private Mono<Void> doSendAsync(String topic, T message) {
method canUseObservation (line 134) | private boolean canUseObservation() {
method publishEvent (line 138) | private Mono<Void> publishEvent(String pubsubName, String topic, T mes...
method publishEventWithObservation (line 142) | private Mono<Void> publishEventWithObservation(String pubsubName, Stri...
method getReactorContext (line 163) | private Context getReactorContext(DaprMessagingSenderContext senderCon...
method createObservation (line 167) | private Observation createObservation(DaprMessagingSenderContext sende...
class DefaultSendMessageBuilder (line 176) | private static class DefaultSendMessageBuilder<T> implements SendMessa...
method DefaultSendMessageBuilder (line 184) | DefaultSendMessageBuilder(DaprMessagingTemplate<T> template, T messa...
method withTopic (line 189) | @Override
method send (line 195) | @Override
method sendAsync (line 200) | @Override
FILE: dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/observation/DaprMessagingObservationConvention.java
type DaprMessagingObservationConvention (line 23) | public interface DaprMessagingObservationConvention extends ObservationC...
method supportsContext (line 25) | @Override
method getName (line 30) | @Override
method getDefault (line 35) | static DaprMessagingObservationConvention getDefault() {
FILE: dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/observation/DaprMessagingObservationDocumentation.java
type DaprMessagingObservationDocumentation (line 26) | public enum DaprMessagingObservationDocumentation implements Observation...
method getDefaultConvention (line 33) | @Override
method getPrefix (line 38) | @Override
method getLowCardinalityKeyNames (line 43) | @Override
type TemplateLowCardinalityTags (line 52) | public enum TemplateLowCardinalityTags implements KeyName {
method asString (line 58) | @Override
FILE: dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/observation/DaprMessagingSenderContext.java
class DaprMessagingSenderContext (line 24) | public final class DaprMessagingSenderContext extends SenderContext<Dapr...
method DaprMessagingSenderContext (line 29) | private DaprMessagingSenderContext(Carrier dataHolder, String topic, S...
method newContext (line 42) | public static DaprMessagingSenderContext newContext(String topic, Stri...
method properties (line 51) | public Map<String, String> properties() {
method getBeanName (line 65) | public String getBeanName() {
method getDestination (line 73) | public String getDestination() {
class Carrier (line 81) | public static final class Carrier {
method Carrier (line 85) | private Carrier() {
method property (line 88) | public void property(String key, String value) {
method properties (line 92) | public Map<String, String> properties() {
FILE: dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/observation/DefaultDaprMessagingObservationConvention.java
class DefaultDaprMessagingObservationConvention (line 22) | class DefaultDaprMessagingObservationConvention implements DaprMessaging...
method getLowCardinalityKeyValues (line 29) | @Override
method getName (line 37) | @Override
method getContextualName (line 42) | @Override
FILE: dapr-spring/dapr-spring-workflows/src/main/java/io/dapr/spring/workflows/config/DaprWorkflowsConfiguration.java
class DaprWorkflowsConfiguration (line 31) | @Configuration
method DaprWorkflowsConfiguration (line 37) | public DaprWorkflowsConfiguration(WorkflowRuntimeBuilder workflowRunti...
method registerWorkflowsAndActivities (line 45) | private void registerWorkflowsAndActivities(ApplicationContext applica...
method setApplicationContext (line 90) | @Override
FILE: docs/dapr-sdk-workflows/script.js
function loadScripts (line 31) | function loadScripts(doc, tag) {
function createElem (line 41) | function createElem(doc, tag, path) {
function show (line 48) | function show(tableId, selected, columns) {
function updateTabs (line 65) | function updateTabs(tableId, selected) {
function switchTab (line 82) | function switchTab(e) {
function indexFilesLoaded (line 101) | function indexFilesLoaded() {
FILE: docs/dapr-sdk-workflows/search.js
function escapeHtml (line 41) | function escapeHtml(str) {
function getHighlightedText (line 44) | function getHighlightedText(item, matcher, fallbackMatcher) {
function getURLPrefix (line 52) | function getURLPrefix(ui) {
function createSearchPattern (line 72) | function createSearchPattern(term) {
function createMatcher (line 95) | function createMatcher(pattern, flags) {
function rankMatch (line 187) | function rankMatch(match, category) {
function doSearch (line 229) | function doSearch(request, response) {
FILE: docs/script.js
function loadScripts (line 31) | function loadScripts(doc, tag) {
function createElem (line 41) | function createElem(doc, tag, path) {
function show (line 48) | function show(tableId, selected, columns) {
function updateTabs (line 65) | function updateTabs(tableId, selected) {
function switchTab (line 82) | function switchTab(e) {
function indexFilesLoaded (line 101) | function indexFilesLoaded() {
FILE: docs/search.js
function escapeHtml (line 41) | function escapeHtml(str) {
function getHighlightedText (line 44) | function getHighlightedText(item, matcher, fallbackMatcher) {
function getURLPrefix (line 52) | function getURLPrefix(ui) {
function createSearchPattern (line 72) | function createSearchPattern(term) {
function createMatcher (line 95) | function createMatcher(pattern, flags) {
function rankMatch (line 187) | function rankMatch(match, category) {
function doSearch (line 229) | function doSearch(request, response) {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/CompositeTaskFailedException.java
class CompositeTaskFailedException (line 26) | public class CompositeTaskFailedException extends RuntimeException {
method CompositeTaskFailedException (line 29) | CompositeTaskFailedException() {
method CompositeTaskFailedException (line 33) | CompositeTaskFailedException(List<Exception> exceptions) {
method CompositeTaskFailedException (line 37) | CompositeTaskFailedException(String message, List<Exception> exception...
method CompositeTaskFailedException (line 42) | CompositeTaskFailedException(String message, Throwable cause, List<Exc...
method CompositeTaskFailedException (line 47) | CompositeTaskFailedException(Throwable cause, List<Exception> exceptio...
method CompositeTaskFailedException (line 52) | CompositeTaskFailedException(String message, Throwable cause, boolean ...
method getExceptions (line 64) | public List<Exception> getExceptions() {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/DataConverter.java
type DataConverter (line 29) | public interface DataConverter {
method serialize (line 36) | @Nullable
method deserialize (line 48) | @Nullable
class DataConverterException (line 52) | class DataConverterException extends RuntimeException {
method DataConverterException (line 53) | public DataConverterException(String message, Throwable cause) {
method getInstantFromTimestamp (line 64) | static Instant getInstantFromTimestamp(Timestamp ts) {
method getTimestampFromInstant (line 78) | static Timestamp getTimestampFromInstant(Instant instant) {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/DurableTaskClient.java
class DurableTaskClient (line 37) | public abstract class DurableTaskClient implements AutoCloseable {
method close (line 42) | @Override
method scheduleNewOrchestrationInstance (line 53) | public String scheduleNewOrchestrationInstance(String orchestratorName) {
method scheduleNewOrchestrationInstance (line 64) | public String scheduleNewOrchestrationInstance(String orchestratorName...
method scheduleNewOrchestrationInstance (line 76) | public String scheduleNewOrchestrationInstance(String orchestratorName...
method scheduleNewOrchestrationInstance (line 91) | public abstract String scheduleNewOrchestrationInstance(
method raiseEvent (line 110) | public void raiseEvent(String instanceId, String eventName) {
method raiseEvent (line 130) | public abstract void raiseEvent(String instanceId, String eventName, @...
method getInstanceMetadata (line 142) | @Nullable
method waitForInstanceStart (line 162) | @Nullable
method waitForInstanceStart (line 183) | @Nullable
method waitForInstanceCompletion (line 210) | @Nullable
method terminate (line 237) | public abstract void terminate(String instanceId, @Nullable Object out...
method purgeInstance (line 255) | public abstract PurgeResult purgeInstance(String instanceId);
method purgeInstances (line 275) | public abstract PurgeResult purgeInstances(PurgeInstanceCriteria purge...
method restartInstance (line 286) | public abstract String restartInstance(String instanceId, boolean rest...
method suspendInstance (line 293) | public void suspendInstance(String instanceId) {
method suspendInstance (line 303) | public abstract void suspendInstance(String instanceId, @Nullable Stri...
method resumeInstance (line 310) | public void resumeInstance(String instanceId) {
method resumeInstance (line 320) | public abstract void resumeInstance(String instanceId, @Nullable Strin...
FILE: durabletask-client/src/main/java/io/dapr/durabletask/DurableTaskGrpcClient.java
class DurableTaskGrpcClient (line 51) | public final class DurableTaskGrpcClient extends DurableTaskClient {
method DurableTaskGrpcClient (line 64) | DurableTaskGrpcClient(DurableTaskGrpcClientBuilder builder) {
method close (line 152) | @Override
method scheduleNewOrchestrationInstance (line 165) | @Override
method raiseEvent (line 209) | @Override
method getInstanceMetadata (line 227) | @Override
method waitForInstanceStart (line 237) | @Override
method waitForInstanceCompletion (line 265) | @Override
method terminate (line 293) | @Override
method purgeInstance (line 309) | @Override
method purgeInstances (line 319) | @Override
method suspendInstance (line 352) | @Override
method resumeInstance (line 362) | @Override
method restartInstance (line 372) | @Override
method toPurgeResult (line 391) | private PurgeResult toPurgeResult(OrchestratorService.PurgeInstancesRe...
FILE: durabletask-client/src/main/java/io/dapr/durabletask/DurableTaskGrpcClientBuilder.java
class DurableTaskGrpcClientBuilder (line 23) | public final class DurableTaskGrpcClientBuilder {
method dataConverter (line 39) | public DurableTaskGrpcClientBuilder dataConverter(DataConverter dataCo...
method grpcChannel (line 57) | public DurableTaskGrpcClientBuilder grpcChannel(Channel channel) {
method tracer (line 68) | public DurableTaskGrpcClientBuilder tracer(Tracer tracer) {
method port (line 79) | public DurableTaskGrpcClientBuilder port(int port) {
method tlsCaPath (line 91) | public DurableTaskGrpcClientBuilder tlsCaPath(String tlsCaPath) {
method tlsCertPath (line 103) | public DurableTaskGrpcClientBuilder tlsCertPath(String tlsCertPath) {
method tlsKeyPath (line 115) | public DurableTaskGrpcClientBuilder tlsKeyPath(String tlsKeyPath) {
method insecure (line 128) | public DurableTaskGrpcClientBuilder insecure(boolean insecure) {
method build (line 138) | public DurableTaskClient build() {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/DurableTaskGrpcWorker.java
class DurableTaskGrpcWorker (line 47) | public final class DurableTaskGrpcWorker implements AutoCloseable {
method DurableTaskGrpcWorker (line 69) | DurableTaskGrpcWorker(DurableTaskGrpcWorkerBuilder builder) {
method start (line 121) | public void start() {
method close (line 135) | public void close() {
method startAndBlock (line 160) | public void startAndBlock() {
method stop (line 241) | public void stop() {
method closeSideCarChannel (line 245) | private void closeSideCarChannel() {
method shutDownWorkerPool (line 257) | private void shutDownWorkerPool() {
method getSidecarAddress (line 275) | private String getSidecarAddress() {
method extractTraceContext (line 286) | private Context extractTraceContext(OrchestratorService.ActivityReques...
FILE: durabletask-client/src/main/java/io/dapr/durabletask/DurableTaskGrpcWorkerBuilder.java
class DurableTaskGrpcWorkerBuilder (line 28) | public final class DurableTaskGrpcWorkerBuilder {
method addOrchestration (line 44) | public DurableTaskGrpcWorkerBuilder addOrchestration(TaskOrchestration...
method addActivity (line 55) | public DurableTaskGrpcWorkerBuilder addActivity(TaskActivityFactory fa...
method grpcChannel (line 84) | public DurableTaskGrpcWorkerBuilder grpcChannel(Channel channel) {
method port (line 95) | public DurableTaskGrpcWorkerBuilder port(int port) {
method dataConverter (line 106) | public DurableTaskGrpcWorkerBuilder dataConverter(DataConverter dataCo...
method maximumTimerInterval (line 118) | public DurableTaskGrpcWorkerBuilder maximumTimerInterval(Duration maxi...
method withExecutorService (line 129) | public DurableTaskGrpcWorkerBuilder withExecutorService(ExecutorServic...
method appId (line 143) | public DurableTaskGrpcWorkerBuilder appId(String appId) {
method build (line 153) | public DurableTaskGrpcWorker build() {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/FailureDetails.java
class FailureDetails (line 29) | public final class FailureDetails {
method FailureDetails (line 35) | FailureDetails(
method FailureDetails (line 48) | FailureDetails(Exception exception) {
method FailureDetails (line 52) | FailureDetails(TaskFailureDetails proto) {
method getErrorType (line 65) | @Nonnull
method getErrorMessage (line 76) | @Nonnull
method getStackTrace (line 87) | @Nullable
method isNonRetriable (line 97) | public boolean isNonRetriable() {
method isCausedBy (line 114) | public boolean isCausedBy(Class<? extends Exception> exceptionClass) {
method getFullStackTrace (line 133) | public static String getFullStackTrace(Throwable e) {
method toProto (line 144) | TaskFailureDetails toProto() {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/Helpers.java
class Helpers (line 20) | final class Helpers {
method throwIfArgumentNull (line 23) | static @Nonnull <V> V throwIfArgumentNull(@Nullable V argValue, String...
method throwIfArgumentNullOrWhiteSpace (line 31) | static @Nonnull String throwIfArgumentNullOrWhiteSpace(String argValue...
method throwIfOrchestratorComplete (line 40) | static void throwIfOrchestratorComplete(boolean isComplete) {
method isInfiniteTimeout (line 46) | static boolean isInfiniteTimeout(Duration timeout) {
method powExact (line 50) | static double powExact(double base, double exponent) throws Arithmetic...
method isNullOrEmpty (line 70) | static boolean isNullOrEmpty(String s) {
method Helpers (line 75) | private Helpers() {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/JacksonDataConverter.java
class JacksonDataConverter (line 23) | public final class JacksonDataConverter implements DataConverter {
method serialize (line 29) | @Override
method deserialize (line 45) | @Override
FILE: durabletask-client/src/main/java/io/dapr/durabletask/NewOrchestrationInstanceOptions.java
class NewOrchestrationInstanceOptions (line 21) | public final class NewOrchestrationInstanceOptions {
method NewOrchestrationInstanceOptions (line 31) | public NewOrchestrationInstanceOptions() {
method setVersion (line 40) | public NewOrchestrationInstanceOptions setVersion(String version) {
method setInstanceId (line 52) | public NewOrchestrationInstanceOptions setInstanceId(String instanceId) {
method setInput (line 65) | public NewOrchestrationInstanceOptions setInput(Object input) {
method setStartTime (line 78) | public NewOrchestrationInstanceOptions setStartTime(Instant startTime) {
method setAppID (line 89) | public NewOrchestrationInstanceOptions setAppID(String appID) {
method getVersion (line 99) | public String getVersion() {
method getInstanceId (line 108) | public String getInstanceId() {
method getInput (line 117) | public Object getInput() {
method getStartTime (line 126) | public Instant getStartTime() {
method getAppID (line 135) | public String getAppID() {
method hasAppID (line 144) | public boolean hasAppID() {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/NonDeterministicOrchestratorException.java
class NonDeterministicOrchestratorException (line 16) | final class NonDeterministicOrchestratorException extends RuntimeExcepti...
method NonDeterministicOrchestratorException (line 17) | public NonDeterministicOrchestratorException(String message) {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/OrchestrationMetadata.java
class OrchestrationMetadata (line 30) | public final class OrchestrationMetadata {
method OrchestrationMetadata (line 44) | OrchestrationMetadata(
method OrchestrationMetadata (line 51) | OrchestrationMetadata(
method getName (line 74) | public String getName() {
method getInstanceId (line 83) | public String getInstanceId() {
method getRuntimeStatus (line 92) | public OrchestrationRuntimeStatus getRuntimeStatus() {
method getCreatedAt (line 101) | public Instant getCreatedAt() {
method getLastUpdatedAt (line 110) | public Instant getLastUpdatedAt() {
method getSerializedInput (line 119) | public String getSerializedInput() {
method getSerializedOutput (line 128) | public String getSerializedOutput() {
method getFailureDetails (line 140) | public FailureDetails getFailureDetails() {
method isRunning (line 149) | public boolean isRunning() {
method isCompleted (line 162) | public boolean isCompleted() {
method readInputAs (line 180) | public <T> T readInputAs(Class<T> type) {
method readOutputAs (line 195) | public <T> T readOutputAs(Class<T> type) {
method readCustomStatusAs (line 210) | public <T> T readCustomStatusAs(Class<T> type) {
method isCustomStatusFetched (line 222) | public boolean isCustomStatusFetched() {
method readPayloadAs (line 226) | private <T> T readPayloadAs(Class<T> type, String payload) {
method toString (line 245) | @Override
method getTrimmedPayload (line 266) | private static String getTrimmedPayload(String payload) {
method isInstanceFound (line 280) | public boolean isInstanceFound() {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/OrchestrationRunner.java
class OrchestrationRunner (line 32) | public final class OrchestrationRunner {
method OrchestrationRunner (line 36) | private OrchestrationRunner() {
method loadAndRun (line 53) | public static <R> String loadAndRun(
method loadAndRun (line 75) | public static <R> byte[] loadAndRun(
method loadAndRun (line 103) | public static String loadAndRun(
method loadAndRun (line 121) | public static byte[] loadAndRun(byte[] orchestratorRequestBytes, TaskO...
FILE: durabletask-client/src/main/java/io/dapr/durabletask/OrchestrationRuntimeStatus.java
type OrchestrationRuntimeStatus (line 30) | public enum OrchestrationRuntimeStatus {
method fromProtobuf (line 78) | static OrchestrationRuntimeStatus fromProtobuf(Orchestration.Orchestra...
method toProtobuf (line 103) | static Orchestration.OrchestrationStatus toProtobuf(OrchestrationRunti...
FILE: durabletask-client/src/main/java/io/dapr/durabletask/OrchestratorFunction.java
type OrchestratorFunction (line 24) | @FunctionalInterface
method apply (line 37) | R apply(TaskOrchestrationContext ctx);
FILE: durabletask-client/src/main/java/io/dapr/durabletask/PurgeInstanceCriteria.java
class PurgeInstanceCriteria (line 25) | public final class PurgeInstanceCriteria {
method PurgeInstanceCriteria (line 35) | public PurgeInstanceCriteria() {
method setCreatedTimeFrom (line 45) | public PurgeInstanceCriteria setCreatedTimeFrom(Instant createdTimeFro...
method setCreatedTimeTo (line 57) | public PurgeInstanceCriteria setCreatedTimeTo(Instant createdTimeTo) {
method setRuntimeStatusList (line 69) | public PurgeInstanceCriteria setRuntimeStatusList(List<OrchestrationRu...
method setTimeout (line 81) | public PurgeInstanceCriteria setTimeout(Duration timeout) {
method getCreatedTimeFrom (line 91) | @Nullable
method getCreatedTimeTo (line 101) | @Nullable
method getRuntimeStatusList (line 111) | public List<OrchestrationRuntimeStatus> getRuntimeStatusList() {
method getTimeout (line 120) | @Nullable
FILE: durabletask-client/src/main/java/io/dapr/durabletask/PurgeResult.java
class PurgeResult (line 21) | public final class PurgeResult {
method PurgeResult (line 25) | PurgeResult(int deletedInstanceCount) {
method getDeletedInstanceCount (line 34) | public int getDeletedInstanceCount() {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/RetryContext.java
class RetryContext (line 21) | public final class RetryContext {
method RetryContext (line 27) | RetryContext(
method getOrchestrationContext (line 48) | public TaskOrchestrationContext getOrchestrationContext() {
method getLastFailure (line 57) | public FailureDetails getLastFailure() {
method getLastAttemptNumber (line 67) | public int getLastAttemptNumber() {
method getTotalRetryTime (line 76) | public Duration getTotalRetryTime() {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/RetryHandler.java
type RetryHandler (line 22) | @FunctionalInterface
method handle (line 30) | boolean handle(RetryContext context);
FILE: durabletask-client/src/main/java/io/dapr/durabletask/RetryPolicy.java
class RetryPolicy (line 23) | public final class RetryPolicy {
method RetryPolicy (line 38) | public RetryPolicy(int maxNumberOfAttempts, Duration firstRetryInterva...
method setMaxNumberOfAttempts (line 53) | public RetryPolicy setMaxNumberOfAttempts(int maxNumberOfAttempts) {
method setFirstRetryInterval (line 68) | public RetryPolicy setFirstRetryInterval(Duration firstRetryInterval) {
method setBackoffCoefficient (line 90) | public RetryPolicy setBackoffCoefficient(double backoffCoefficient) {
method setMaxRetryInterval (line 108) | public RetryPolicy setMaxRetryInterval(@Nullable Duration maxRetryInte...
method setRetryTimeout (line 123) | public RetryPolicy setRetryTimeout(Duration retryTimeout) {
method getMaxNumberOfAttempts (line 137) | public int getMaxNumberOfAttempts() {
method getFirstRetryInterval (line 146) | public Duration getFirstRetryInterval() {
method getBackoffCoefficient (line 155) | public double getBackoffCoefficient() {
method getMaxRetryInterval (line 164) | public Duration getMaxRetryInterval() {
method getRetryTimeout (line 173) | public Duration getRetryTimeout() {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/Task.java
class Task (line 43) | public abstract class Task<V> {
method Task (line 46) | Task(CompletableFuture<V> future) {
method isDone (line 55) | public boolean isDone() {
method isCancelled (line 64) | public boolean isCancelled() {
method await (line 73) | public abstract V await();
method thenApply (line 83) | public abstract <U> Task<U> thenApply(Function<V, U> fn);
method thenAccept (line 92) | public abstract Task<Void> thenAccept(Consumer<V> fn);
FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskActivity.java
type TaskActivity (line 35) | @FunctionalInterface
method run (line 44) | Object run(TaskActivityContext ctx);
FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskActivityContext.java
type TaskActivityContext (line 20) | public interface TaskActivityContext {
method getName (line 26) | String getName();
method getInput (line 35) | <T> T getInput(Class<T> targetType);
method getTaskExecutionId (line 42) | String getTaskExecutionId();
method getTaskId (line 49) | int getTaskId();
method getTraceParent (line 55) | String getTraceParent();
FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskActivityExecutor.java
class TaskActivityExecutor (line 19) | public final class TaskActivityExecutor {
method TaskActivityExecutor (line 31) | public TaskActivityExecutor(
method execute (line 51) | public String execute(String taskName, String input,
class TaskActivityContextImpl (line 77) | private class TaskActivityContextImpl implements TaskActivityContext {
method TaskActivityContextImpl (line 86) | public TaskActivityContextImpl(String activityName, String rawInput,
method getName (line 95) | @Override
method getInput (line 100) | @Override
method getTaskExecutionId (line 109) | @Override
method getTaskId (line 114) | @Override
method getTraceParent (line 119) | @Override
FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskActivityFactory.java
type TaskActivityFactory (line 19) | public interface TaskActivityFactory {
method getName (line 25) | String getName();
method create (line 32) | TaskActivity create();
FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskCanceledException.java
class TaskCanceledException (line 21) | public final class TaskCanceledException extends TaskFailedException {
method TaskCanceledException (line 23) | TaskCanceledException(String message, String taskName, int taskId) {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskFailedException.java
class TaskFailedException (line 23) | public class TaskFailedException extends RuntimeException {
method TaskFailedException (line 28) | TaskFailedException(String taskName, int taskId, FailureDetails detail...
method TaskFailedException (line 32) | TaskFailedException(String message, String taskName, int taskId, Failu...
method getTaskId (line 49) | public int getTaskId() {
method getTaskName (line 58) | public String getTaskName() {
method getErrorDetails (line 67) | public FailureDetails getErrorDetails() {
method getExceptionMessage (line 71) | private static String getExceptionMessage(String taskName, int taskId,...
FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskOptions.java
class TaskOptions (line 19) | public final class TaskOptions {
method TaskOptions (line 24) | private TaskOptions(RetryPolicy retryPolicy, RetryHandler retryHandler...
method builder (line 35) | public static Builder builder() {
method create (line 44) | public static TaskOptions create() {
method withRetryPolicy (line 54) | public static TaskOptions withRetryPolicy(RetryPolicy retryPolicy) {
method withRetryHandler (line 64) | public static TaskOptions withRetryHandler(RetryHandler retryHandler) {
method withAppID (line 74) | public static TaskOptions withAppID(String appID) {
method hasRetryPolicy (line 78) | boolean hasRetryPolicy() {
method getRetryPolicy (line 87) | public RetryPolicy getRetryPolicy() {
method hasRetryHandler (line 91) | boolean hasRetryHandler() {
method getRetryHandler (line 100) | public RetryHandler getRetryHandler() {
method getAppID (line 109) | public String getAppID() {
method hasAppID (line 113) | boolean hasAppID() {
class Builder (line 120) | public static final class Builder {
method Builder (line 125) | private Builder() {
method retryPolicy (line 135) | public Builder retryPolicy(RetryPolicy retryPolicy) {
method retryHandler (line 146) | public Builder retryHandler(RetryHandler retryHandler) {
method appID (line 157) | public Builder appID(String appID) {
method build (line 167) | public TaskOptions build() {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskOrchestration.java
type TaskOrchestration (line 73) | @FunctionalInterface
method run (line 81) | void run(TaskOrchestrationContext ctx);
FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskOrchestrationContext.java
type TaskOrchestrationContext (line 28) | public interface TaskOrchestrationContext {
method getName (line 34) | String getName();
method getInput (line 43) | <V> V getInput(Class<V> targetType);
method getInstanceId (line 50) | String getInstanceId();
method getAppId (line 58) | String getAppId();
method getCurrentInstant (line 65) | Instant getCurrentInstant();
method getIsReplaying (line 82) | boolean getIsReplaying();
method allOf (line 93) | <V> Task<List<V>> allOf(List<Task<V>> tasks);
method allOf (line 131) | default <V> Task<List<V>> allOf(Task<V>... tasks) {
method anyOf (line 143) | Task<Task<?>> anyOf(List<Task<?>> tasks);
method anyOf (line 184) | default Task<Task<?>> anyOf(Task<?>... tasks) {
method createTimer (line 199) | Task<Void> createTimer(String name, Duration delay);
method createTimer (line 211) | Task<Void> createTimer(Duration delay);
method createTimer (line 223) | Task<Void> createTimer(ZonedDateTime zonedDateTime);
method createTimer (line 236) | Task<Void> createTimer(String name, ZonedDateTime zonedDateTime);
method complete (line 243) | void complete(Object output);
method callActivity (line 274) | <V> Task<V> callActivity(String name, Object input, TaskOptions option...
method callActivity (line 284) | default Task<Void> callActivity(String name) {
method callActivity (line 297) | default Task<Void> callActivity(String name, Object input) {
method callActivity (line 311) | default <V> Task<V> callActivity(String name, Class<V> returnType) {
method callActivity (line 327) | default <V> Task<V> callActivity(String name, Object input, Class<V> r...
method callActivity (line 341) | default Task<Void> callActivity(String name, Object input, TaskOptions...
method continueAsNew (line 351) | default void continueAsNew(Object input) {
method continueAsNew (line 379) | void continueAsNew(Object input, boolean preserveUnprocessedEvents);
method isPatched (line 388) | boolean isPatched(String patchName);
method newUuid (line 401) | default UUID newUuid() {
method sendEvent (line 411) | default void sendEvent(String instanceID, String eventName) {
method sendEvent (line 422) | void sendEvent(String instanceId, String eventName, Object eventData);
method callSubOrchestrator (line 434) | default Task<Void> callSubOrchestrator(String name) {
method callSubOrchestrator (line 448) | default Task<Void> callSubOrchestrator(String name, Object input) {
method callSubOrchestrator (line 464) | default <V> Task<V> callSubOrchestrator(String name, Object input, Cla...
method callSubOrchestrator (line 481) | default <V> Task<V> callSubOrchestrator(String name, Object input, Str...
method callSubOrchestrator (line 497) | default Task<Void> callSubOrchestrator(String name, Object input, Stri...
method callSubOrchestrator (line 537) | <V> Task<V> callSubOrchestrator(
method waitForExternalEvent (line 566) | <V> Task<V> waitForExternalEvent(String name, Duration timeout, Class<...
method waitForExternalEvent (line 579) | default Task<Void> waitForExternalEvent(String name, Duration timeout)...
method waitForExternalEvent (line 592) | default Task<Void> waitForExternalEvent(String name) {
method waitForExternalEvent (line 607) | default <V> Task<V> waitForExternalEvent(String name, Class<V> dataTyp...
method setCustomStatus (line 627) | void setCustomStatus(Object customStatus);
method clearCustomStatus (line 632) | void clearCustomStatus();
FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskOrchestrationExecutor.java
class TaskOrchestrationExecutor (line 53) | public final class TaskOrchestrationExecutor {
method TaskOrchestrationExecutor (line 71) | public TaskOrchestrationExecutor(
method execute (line 91) | public TaskOrchestratorResult execute(List<HistoryEvents.HistoryEvent>...
class ContextImplTask (line 131) | private class ContextImplTask implements TaskOrchestrationContext {
method ContextImplTask (line 166) | public ContextImplTask(List<HistoryEvents.HistoryEvent> pastEvents,
method getName (line 171) | @Override
method setName (line 177) | private void setName(String name) {
method setInput (line 182) | private void setInput(String rawInput) {
method getInput (line 186) | @Override
method getInstanceId (line 195) | @Override
method setInstanceId (line 201) | private void setInstanceId(String instanceId) {
method getAppId (line 206) | @Override
method setAppId (line 211) | private void setAppId(String appId) {
method hasSourceAppId (line 215) | private boolean hasSourceAppId() {
method hasTargetAppId (line 219) | private boolean hasTargetAppId(TaskOptions options) {
method getCurrentInstant (line 223) | @Override
method setCurrentInstant (line 229) | private void setCurrentInstant(Instant instant) {
method getCustomStatus (line 234) | private String getCustomStatus() {
method setCustomStatus (line 238) | @Override
method clearCustomStatus (line 243) | @Override
method getIsReplaying (line 248) | @Override
method setDoneReplaying (line 253) | private void setDoneReplaying() {
method completedTask (line 257) | public <V> Task<V> completedTask(V value) {
method allOf (line 263) | @Override
method anyOf (line 310) | @Override
method callActivity (line 335) | @Override
method isPatched (line 401) | @Override
method checkPatch (line 411) | public boolean checkPatch(String patchName) {
method continueAsNew (line 429) | @Override
method newUuid (line 445) | @Override
method sendEvent (line 459) | @Override
method callSubOrchestrator (line 491) | @Override
method createAppropriateTask (line 573) | private <V> Task<V> createAppropriateTask(TaskFactory<V> taskFactory...
method waitForExternalEvent (line 583) | public <V> Task<V> waitForExternalEvent(String name, Duration timeou...
method handleTaskScheduled (line 636) | private void handleTaskScheduled(HistoryEvents.HistoryEvent e) {
method handleTaskCompleted (line 657) | @SuppressWarnings("unchecked")
method handleTaskFailed (line 689) | private void handleTaskFailed(HistoryEvents.HistoryEvent e) {
method handleEventRaised (line 712) | @SuppressWarnings("unchecked")
method handleEventWhileSuspended (line 741) | private void handleEventWhileSuspended(HistoryEvents.HistoryEvent hi...
method handleExecutionSuspended (line 747) | private void handleExecutionSuspended(HistoryEvents.HistoryEvent his...
method handleExecutionResumed (line 751) | private void handleExecutionResumed(HistoryEvents.HistoryEvent histo...
method createTimer (line 758) | public Task<Void> createTimer(Duration duration) {
method createTimer (line 766) | @Override
method createTimer (line 775) | public Task<Void> createTimer(String name, Duration duration) {
method createTimer (line 784) | @Override
method createTimer (line 794) | private Task<Void> createTimer(String name, Instant finalFireAt) {
method createInstantTimer (line 798) | private CompletableTask<Void> createInstantTimer(String name, int id...
method handleTimerCreated (line 816) | private void handleTimerCreated(HistoryEvents.HistoryEvent e) {
method handleTimerFired (line 841) | public void handleTimerFired(HistoryEvents.HistoryEvent e) {
method handleSubOrchestrationCreated (line 861) | private void handleSubOrchestrationCreated(HistoryEvents.HistoryEven...
method handleSubOrchestrationCompleted (line 878) | private void handleSubOrchestrationCompleted(HistoryEvents.HistoryEv...
method handleSubOrchestrationFailed (line 910) | private void handleSubOrchestrationFailed(HistoryEvents.HistoryEvent...
method handleExecutionTerminated (line 934) | private void handleExecutionTerminated(HistoryEvents.HistoryEvent e) {
method complete (line 940) | @Override
method fail (line 950) | public void fail(FailureDetails failureDetails) {
method completeInternal (line 956) | private void completeInternal(Object output, Orchestration.Orchestra...
method completeInternal (line 961) | private void completeInternal(
method addCarryoverEvents (line 1006) | private void addCarryoverEvents(OrchestratorActions.CompleteWorkflow...
method waitingForEvents (line 1026) | private boolean waitingForEvents() {
method processNextEvent (line 1030) | private boolean processNextEvent() {
method processEvent (line 1034) | private void processEvent(HistoryEvents.HistoryEvent e) {
method setVersionNotRegistered (line 1149) | public void setVersionNotRegistered() {
class TaskRecord (line 1165) | private class TaskRecord<V> {
method TaskRecord (line 1170) | public TaskRecord(CompletableTask<V> task, String taskName, Class<...
method getTask (line 1176) | public CompletableTask<V> getTask() {
method getTaskName (line 1180) | public String getTaskName() {
method getDataType (line 1184) | public Class<V> getDataType() {
class OrchestrationHistoryIterator (line 1189) | private class OrchestrationHistoryIterator {
method OrchestrationHistoryIterator (line 1196) | public OrchestrationHistoryIterator(List<HistoryEvents.HistoryEven...
method moveNext (line 1203) | public boolean moveNext() {
method getNewEvents (line 1223) | List<HistoryEvents.HistoryEvent> getNewEvents() {
method getCurrentHistoryIndex (line 1227) | int getCurrentHistoryIndex() {
class TimerTask (line 1232) | private class TimerTask extends CompletableTask<Void> {
method TimerTask (line 1236) | public TimerTask(String name, Instant finalFireAt) {
method createTimerChain (line 1250) | private CompletableFuture<Void> createTimerChain(String name, Inst...
method createTimerTask (line 1263) | private CompletableTask<Void> createTimerTask(String name, Instant...
method handleSubTimerSuccess (line 1276) | private void handleSubTimerSuccess() {
method await (line 1285) | @Override
class ExternalEventTask (line 1292) | private class ExternalEventTask<V> extends CompletableTask<V> {
method ExternalEventTask (line 1297) | public ExternalEventTask(String eventName, int taskId, Duration ti...
method handleException (line 1304) | @Override
class RetriableTask (line 1321) | private class RetriableTask<V> extends CompletableTask<V> {
method RetriableTask (line 1334) | public RetriableTask(TaskOrchestrationContext context, TaskFactory...
method RetriableTask (line 1338) | public RetriableTask(TaskOrchestrationContext context, TaskFactory...
method RetriableTask (line 1342) | private RetriableTask(
method createChildTask (line 1357) | private void createChildTask(TaskFactory<V> taskFactory) {
method setChildTask (line 1363) | public void setChildTask(Task<V> childTask) {
method getChildTask (line 1367) | public Task<V> getChildTask() {
method handleChildSuccess (line 1371) | void handleChildSuccess(V result) {
method handleChildException (line 1375) | void handleChildException(Throwable ex) {
method init (line 1379) | void init() {
method tryRetry (line 1384) | public void tryRetry(TaskFailedException ex) {
method await (line 1408) | @Override
method shouldRetry (line 1431) | private boolean shouldRetry() {
method shouldRetryBasedOnPolicy (line 1467) | private boolean shouldRetryBasedOnPolicy() {
method getNextDelay (line 1493) | private Duration getNextDelay() {
class CompoundTask (line 1526) | private class CompoundTask<V, U> extends CompletableTask<U> {
method CompoundTask (line 1530) | CompoundTask(List<Task<V>> subtasks, CompletableFuture<U> future) {
method await (line 1535) | @Override
method initSubTasks (line 1541) | private void initSubTasks() {
class CompletableTask (line 1550) | private class CompletableTask<V> extends Task<V> {
method CompletableTask (line 1553) | public CompletableTask() {
method CompletableTask (line 1557) | CompletableTask(CompletableFuture<V> future) {
method setParentTask (line 1561) | public void setParentTask(Task<V> parentTask) {
method getParentTask (line 1565) | public Task<V> getParentTask() {
method await (line 1569) | @Override
method processNextEvent (line 1597) | private boolean processNextEvent() {
method thenApply (line 1613) | @Override
method thenAccept (line 1619) | @Override
method handleException (line 1625) | protected void handleException(Throwable e) {
method isDone (line 1641) | @Override
method complete (line 1646) | public boolean complete(V value) {
method cancel (line 1660) | private boolean cancel() {
method completeExceptionally (line 1664) | public boolean completeExceptionally(Throwable ex) {
type TaskFactory (line 1676) | @FunctionalInterface
method create (line 1678) | Task<V> create();
FILE: durabletask-client/src/main/java/io/dapr/durabletask/TaskOrchestratorResult.java
class TaskOrchestratorResult (line 22) | public final class TaskOrchestratorResult {
method TaskOrchestratorResult (line 40) | public TaskOrchestratorResult(Collection<OrchestratorActions.WorkflowA...
method getActions (line 48) | public Collection<OrchestratorActions.WorkflowAction> getActions() {
method getCustomStatus (line 52) | public String getCustomStatus() {
method getVersion (line 56) | public String getVersion() {
method getPatches (line 60) | public List<String> getPatches() {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/interruption/ContinueAsNewInterruption.java
class ContinueAsNewInterruption (line 28) | public class ContinueAsNewInterruption extends RuntimeException {
method ContinueAsNewInterruption (line 29) | public ContinueAsNewInterruption(String message) {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/interruption/OrchestratorBlockedException.java
class OrchestratorBlockedException (line 27) | public final class OrchestratorBlockedException extends RuntimeException {
method OrchestratorBlockedException (line 28) | public OrchestratorBlockedException(String message) {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/orchestration/TaskOrchestrationFactories.java
class TaskOrchestrationFactories (line 21) | public class TaskOrchestrationFactories {
method addOrchestration (line 33) | public void addOrchestration(TaskOrchestrationFactory factory) {
method getOrchestrationFactory (line 76) | public TaskOrchestrationFactory getOrchestrationFactory(String orchest...
method getOrchestrationFactory (line 92) | public TaskOrchestrationFactory getOrchestrationFactory(String orchest...
method emptyString (line 117) | private boolean emptyString(String s) {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/orchestration/TaskOrchestrationFactory.java
type TaskOrchestrationFactory (line 21) | public interface TaskOrchestrationFactory {
method getName (line 27) | String getName();
method create (line 34) | TaskOrchestration create();
method getVersionName (line 36) | String getVersionName();
method isLatestVersion (line 38) | Boolean isLatestVersion();
FILE: durabletask-client/src/main/java/io/dapr/durabletask/orchestration/exception/VersionNotRegisteredException.java
class VersionNotRegisteredException (line 16) | public class VersionNotRegisteredException extends RuntimeException {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/runner/ActivityRunner.java
class ActivityRunner (line 38) | public class ActivityRunner extends DurableRunner {
method ActivityRunner (line 54) | public ActivityRunner(
method run (line 64) | @Override
method runWithTracing (line 73) | private void runWithTracing() {
method runWithoutTracing (line 96) | private void runWithoutTracing() {
method executeActivity (line 104) | private void executeActivity() throws Throwable {
method extractTraceContext (line 150) | private Context extractTraceContext() {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/runner/DurableRunner.java
class DurableRunner (line 26) | public abstract class DurableRunner implements Runnable {
method DurableRunner (line 40) | public DurableRunner(OrchestratorService.WorkItem workItem,
method getSidecarAddress (line 48) | protected String getSidecarAddress() {
method logException (line 52) | protected void logException(StatusRuntimeException e) {
FILE: durabletask-client/src/main/java/io/dapr/durabletask/runner/OrchestratorRunner.java
class OrchestratorRunner (line 31) | public class OrchestratorRunner extends DurableRunner {
method OrchestratorRunner (line 45) | public OrchestratorRunner(
method run (line 56) | @Override
FILE: durabletask-client/src/main/java/io/dapr/durabletask/util/UuidGenerator.java
class UuidGenerator (line 26) | public class UuidGenerator {
method generate (line 36) | public static UUID generate(int version, String algorithm, UUID namesp...
method hasher (line 56) | private static MessageDigest hasher(String algorithm) {
FILE: durabletask-client/src/test/java/io/dapr/durabletask/DurableTaskClientIT.java
class DurableTaskClientIT (line 59) | @Tag("integration")
method emptyOrchestration (line 66) | @Test
method singleTimer (line 89) | @Test
method loopWithTimer (line 131) | @Test
method loopWithWaitForEvent (line 180) | @Test
method longTimer (line 237) | @Test
method longTimerNonblocking (line 281) | @Test
method longTimerNonblockingNoExternal (line 319) | @Test
method longTimeStampTimer (line 356) | @Test
method singleTimeStampTimer (line 391) | @Test
method singleTimeStampCreateTimer (line 416) | @Test
method isReplaying (line 440) | @Test
method singleActivity (line 476) | @Test
method currentDateTimeUtc (line 508) | @Test
method activityChain (line 547) | @Test
method subOrchestration (line 574) | @Test
method subOrchestrationWithActivity (line 595) | @Test
method subOrchestrationChain (line 625) | @Test
method subOrchestrationFanOut (line 659) | @Test
method subOrchestrationWithInstanceId (line 699) | @Test
method continueAsNew (line 727) | @Test
method continueAsNewWithExternalEvents (line 750) | @Test
method termination (line 781) | @Test
method restartOrchestrationWithNewInstanceId (line 804) | @ParameterizedTest
method restartOrchestrationThrowsException (line 831) | @Test
method suspendResumeOrchestration (line 853) | @Test
method terminateSuspendOrchestration (line 894) | @Test
method activityFanOut (line 921) | @Test
method externalEvents (line 963) | @Test
method externalEventsWithTimeouts (line 1002) | @ParameterizedTest
method setCustomStatus (line 1041) | @Test
method clearCustomStatus (line 1074) | @Test
method purgeInstanceId (line 1103) | @Test
method purgeInstanceFilter (line 1133) | @Test
method purgeInstanceFilterTimeout (line 1230) | @Test
method waitForInstanceStartThrowsException (line 1286) | @Test
method waitForInstanceCompletionThrowsException (line 1313) | @Test
method activityFanOutWithException (line 1342) | @Test
method getExceptionMessage (line 1392) | private static String getExceptionMessage(String taskName, int expecte...
method thenApply (line 1400) | @Test
method externalEventThenAccept (line 1433) | @Test
method activityAllOf (line 1467) | @Test
method activityAllOfException (line 1526) | @Test
method activityAnyOf (line 1588) | @Test
method newUUIDTest (line 1637) | @Test
method taskExecutionIdTest (line 1686) | @Test
FILE: durabletask-client/src/test/java/io/dapr/durabletask/DurableTaskGrpcWorkerReconnectTest.java
class DurableTaskGrpcWorkerReconnectTest (line 39) | class DurableTaskGrpcWorkerReconnectTest {
method tearDown (line 45) | @AfterEach
method workerReconnectsAfterUnavailableError (line 58) | @Test
method workerReconnectsAfterCancelledError (line 97) | @Test
method workerReconnectsAfterStreamEndsNormally (line 134) | @Test
method workerStopsCleanlyOnClose (line 171) | @Test
FILE: durabletask-client/src/test/java/io/dapr/durabletask/DurableTaskGrpcWorkerShutdownTest.java
class DurableTaskGrpcWorkerShutdownTest (line 29) | public class DurableTaskGrpcWorkerShutdownTest {
method workerThreadTerminatesPromptlyOnClose (line 36) | @Test
method startAndBlockExitsOnClose (line 69) | @Test
method startAndBlockExitsOnInterrupt (line 97) | @Test
method getWorkerThread (line 120) | private Thread getWorkerThread(DurableTaskGrpcWorker worker) {
FILE: durabletask-client/src/test/java/io/dapr/durabletask/ErrorHandlingIT.java
class ErrorHandlingIT (line 35) | @Tag("integration")
method orchestratorException (line 37) | @Test
method activityException (line 63) | @ParameterizedTest
method retryActivityFailures (line 115) | @ParameterizedTest
method retryActivityFailuresWithCustomLogic (line 129) | @ParameterizedTest
method subOrchestrationException (line 146) | @ParameterizedTest
method retrySubOrchestratorFailures (line 196) | @ParameterizedTest
method retrySubOrchestrationFailuresWithCustomLogic (line 211) | @ParameterizedTest
method getCommonRetryPolicy (line 228) | private static RetryPolicy getCommonRetryPolicy(int maxNumberOfAttempt...
method getCommonRetryHandler (line 233) | private static RetryHandler getCommonRetryHandler(AtomicInteger handle...
method retryOnFailuresCoreTest (line 264) | private FailureDetails retryOnFailuresCoreTest(
FILE: durabletask-client/src/test/java/io/dapr/durabletask/IntegrationTestBase.java
class IntegrationTestBase (line 21) | public class IntegrationTestBase {
method shutdown (line 27) | @AfterEach
method createWorkerBuilder (line 35) | protected TestDurableTaskWorkerBuilder createWorkerBuilder() {
class TestDurableTaskWorkerBuilder (line 39) | public class TestDurableTaskWorkerBuilder {
method TestDurableTaskWorkerBuilder (line 42) | private TestDurableTaskWorkerBuilder() {
method buildAndStart (line 46) | public DurableTaskGrpcWorker buildAndStart() {
method setMaximumTimerInterval (line 53) | public TestDurableTaskWorkerBuilder setMaximumTimerInterval(Duration...
method addOrchestrator (line 58) | public TestDurableTaskWorkerBuilder addOrchestrator(
method addActivity (line 85) | public <R> TestDurableTaskWorkerBuilder addActivity(
FILE: durabletask-client/src/test/java/io/dapr/durabletask/SubOrchestrationCrossAppTest.java
class SubOrchestrationCrossAppTest (line 35) | class SubOrchestrationCrossAppTest {
method orchestratorStarted (line 43) | private static HistoryEvents.HistoryEvent orchestratorStarted() {
method executionStarted (line 54) | private static HistoryEvents.HistoryEvent executionStarted(
method orchestratorCompleted (line 78) | private static HistoryEvents.HistoryEvent orchestratorCompleted() {
method createExecutor (line 89) | private TaskOrchestrationExecutor createExecutor(String orchestratorNa...
method callSubOrchestrator_withTargetAppId_setsRouterOnAction (line 120) | @Test
method callSubOrchestrator_withoutTargetAppId_setsRouterWithSourceOnly (line 170) | @Test
method callSubOrchestrator_withNullAppId_noRouterSet (line 213) | @Test
method executionStarted_withRouterTargetAppId_usesTargetAsAppId (line 251) | @Test
method executionStarted_withRouterSourceOnly_usesSourceAsAppId (line 285) | @Test
method executionStarted_withNoRouter_appIdIsNull (line 314) | @Test
method completeOrchestration_withAppId_setsRouterOnCompletionAction (line 344) | @Test
method completeOrchestration_withNullAppId_noRouterOnCompletionAction (line 382) | @Test
method completeOrchestration_crossAppSubOrchestrator_routerHasTargetDerivedAppId (line 411) | @Test
method crossAppSubOrchestration_fullFlow_routersCorrectlySet (line 453) | @Test
method callSubOrchestrator_withEmptyAppId_noRouterSet (line 503) | @Test
method callSubOrchestrator_withRetryPolicyAndAppId_setsRouterAndRetries (line 534) | @Test
FILE: durabletask-client/src/test/java/io/dapr/durabletask/TaskOptionsTest.java
class TaskOptionsTest (line 25) | public class TaskOptionsTest {
method taskOptionsWithAppID (line 27) | @Test
method taskOptionsWithRetryPolicyAndAppID (line 37) | @Test
method taskOptionsWithRetryHandlerAndAppID (line 52) | @Test
method taskOptionsWithoutAppID (line 72) | @Test
method taskOptionsWithEmptyAppID (line 80) | @Test
method taskOptionsWithNullAppID (line 88) | @Test
method taskOptionsWithRetryPolicy (line 96) | @Test
method taskOptionsWithRetryHandler (line 107) | @Test
method taskOptionsWithBuilderChaining (line 123) | @Test
FILE: examples/src/main/java/io/dapr/examples/DaprApplication.java
class DaprApplication (line 22) | @SpringBootApplication
method start (line 31) | public static void start(String protocal, int port) {
method start (line 52) | public static void start(int port) {
FILE: examples/src/main/java/io/dapr/examples/DaprConfig.java
class DaprConfig (line 21) | @Configuration
method buildDaprClient (line 26) | @Bean
FILE: examples/src/main/java/io/dapr/examples/DaprMainApplication.java
class DaprMainApplication (line 22) | public class DaprMainApplication {
method main (line 27) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/OpenTelemetryConfig.java
class OpenTelemetryConfig (line 41) | @Configuration
method initOpenTelemetry (line 49) | @Bean
method initTracer (line 54) | @Bean
method createOpenTelemetry (line 63) | public static OpenTelemetrySdk createOpenTelemetry() {
method getReactorContext (line 98) | public static reactor.util.context.ContextView getReactorContext() {
method getReactorContext (line 107) | public static reactor.util.context.Context getReactorContext(Context c...
method isZipkinUp (line 120) | private static boolean isZipkinUp() {
FILE: examples/src/main/java/io/dapr/examples/OpenTelemetryInterceptor.java
class OpenTelemetryInterceptor (line 32) | @Component
method keys (line 40) | @Override
method get (line 45) | @Nullable
method preHandle (line 52) | @Override
method postHandle (line 67) | @Override
FILE: examples/src/main/java/io/dapr/examples/OpenTelemetryInterceptorConfig.java
class OpenTelemetryInterceptorConfig (line 21) | @Component
method addInterceptors (line 27) | @Override
FILE: examples/src/main/java/io/dapr/examples/actors/DemoActor.java
type DemoActor (line 23) | @ActorType(name = "DemoActor")
method registerTimer (line 26) | void registerTimer(String state);
method registerReminder (line 28) | void registerReminder(int index);
method say (line 30) | @ActorMethod(name = "echo_message")
method clock (line 33) | void clock(String message);
method incrementAndGet (line 35) | @ActorMethod(returns = Integer.class)
FILE: examples/src/main/java/io/dapr/examples/actors/DemoActorClient.java
class DemoActorClient (line 32) | public class DemoActorClient {
method main (line 41) | public static void main(String[] args) throws InterruptedException {
method callActorForever (line 72) | private static final void callActorForever(int index, String actorId, ...
FILE: examples/src/main/java/io/dapr/examples/actors/DemoActorImpl.java
class DemoActorImpl (line 32) | public class DemoActorImpl extends AbstractActor implements DemoActor, R...
method DemoActorImpl (line 44) | public DemoActorImpl(ActorRuntimeContext runtimeContext, ActorId id) {
method registerTimer (line 51) | @Override
method registerReminder (line 65) | @Override
method say (line 80) | @Override
method incrementAndGet (line 113) | @Override
method clock (line 125) | @Override
method getStateType (line 140) | @Override
method receiveReminder (line 153) | @Override
FILE: examples/src/main/java/io/dapr/examples/actors/DemoActorService.java
class DemoActorService (line 34) | public class DemoActorService {
method main (line 41) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/baggage/BaggageClient.java
class BaggageClient (line 44) | public class BaggageClient {
method main (line 52) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/bindings/http/InputBindingController.java
class InputBindingController (line 24) | @RestController
method handleInputBinding (line 32) | @PostMapping(path = "/sample123")
FILE: examples/src/main/java/io/dapr/examples/bindings/http/InputBindingExample.java
class InputBindingExample (line 31) | public class InputBindingExample {
method main (line 38) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/bindings/http/OutputBindingExample.java
class OutputBindingExample (line 28) | public class OutputBindingExample {
class MyClass (line 30) | public static class MyClass {
method MyClass (line 31) | public MyClass() {
method main (line 46) | @SuppressWarnings("checkstyle:AbbreviationAsWordInName")
FILE: examples/src/main/java/io/dapr/examples/configuration/ConfigurationClient.java
class ConfigurationClient (line 31) | public class ConfigurationClient {
method main (line 42) | public static void main(String[] args) throws Exception {
method getConfigurations (line 55) | public static void getConfigurations(DaprClient client) {
method subscribeConfigurationRequest (line 75) | public static void subscribeConfigurationRequest(DaprClient client) {
method inducingSleepTime (line 91) | private static void inducingSleepTime(int timeInMillis) {
method print (line 99) | private static void print(ConfigurationItem item, String key) {
FILE: examples/src/main/java/io/dapr/examples/conversation/AssistantMessageDemo.java
class AssistantMessageDemo (line 36) | public class AssistantMessageDemo {
method main (line 42) | public static void main(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/conversation/ToolsCallDemo.java
class ToolsCallDemo (line 34) | public class ToolsCallDemo {
method main (line 40) | public static void main(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/conversation/UsageUtils.java
class UsageUtils (line 20) | public class UsageUtils {
method printUsage (line 21) | static void printUsage(ConversationResultAlpha2 result) {
method printUsage (line 35) | private static void printUsage(ConversationResultCompletionUsage usage) {
method printPromptDetails (line 43) | private static void printPromptDetails(ConversationResultCompletionUsa...
method printCompletionDetails (line 57) | private static void printCompletionDetails(ConversationResultCompletio...
FILE: examples/src/main/java/io/dapr/examples/conversation/UserMessageDemo.java
class UserMessageDemo (line 29) | public class UserMessageDemo {
method main (line 35) | public static void main(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/crypto/CryptoExample.java
class CryptoExample (line 52) | public class CryptoExample {
method main (line 64) | public static void main(String[] args) throws Exception {
method generateKeysIfNeeded (line 132) | private static void generateKeysIfNeeded() throws NoSuchAlgorithmExcep...
method combineChunks (line 163) | private static byte[] combineChunks(java.util.List<byte[]> chunks) {
FILE: examples/src/main/java/io/dapr/examples/crypto/StreamingCryptoExample.java
class StreamingCryptoExample (line 47) | public class StreamingCryptoExample {
method main (line 59) | public static void main(String[] args) throws Exception {
method generateKeysIfNeeded (line 96) | private static void generateKeysIfNeeded() throws NoSuchAlgorithmExcep...
method demonstrateChunkedEncryption (line 127) | private static void demonstrateChunkedEncryption(DaprPreviewClient cli...
method demonstrateLargeDataEncryption (line 165) | private static void demonstrateLargeDataEncryption(DaprPreviewClient c...
method demonstrateCustomCipher (line 201) | private static void demonstrateCustomCipher(DaprPreviewClient client) {
method collectBytes (line 231) | private static byte[] collectBytes(Flux<byte[]> stream) {
FILE: examples/src/main/java/io/dapr/examples/exception/Client.java
class Client (line 30) | public class Client {
method main (line 36) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/invoke/grpc/HelloWorldClient.java
class HelloWorldClient (line 34) | public class HelloWorldClient {
method main (line 43) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/invoke/grpc/HelloWorldService.java
class HelloWorldService (line 42) | public class HelloWorldService {
class HelloWorldImpl (line 53) | static class HelloWorldImpl extends HelloWorldGrpc.HelloWorldImplBase {
method sayHello (line 61) | @Override
method start (line 76) | private void start(int port) throws IOException {
method stop (line 103) | private void stop() throws InterruptedException {
method blockUntilShutdown (line 113) | private void blockUntilShutdown() throws InterruptedException {
method main (line 125) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/invoke/http/DemoService.java
class DemoService (line 30) | public class DemoService {
method main (line 37) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/invoke/http/DemoServiceController.java
class DemoServiceController (line 33) | @RestController
method handleMethod (line 52) | @PostMapping(path = "/say")
FILE: examples/src/main/java/io/dapr/examples/invoke/http/InvokeClient.java
class InvokeClient (line 28) | public class InvokeClient {
method main (line 40) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/jobs/DemoJobsClient.java
class DemoJobsClient (line 28) | public class DemoJobsClient {
method main (line 33) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/jobs/DemoJobsSpringApplication.java
class DemoJobsSpringApplication (line 25) | @SpringBootApplication
method main (line 28) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/jobs/JobsController.java
class JobsController (line 25) | @RestController
method handleJob (line 35) | @PostMapping("/job/{jobName}")
FILE: examples/src/main/java/io/dapr/examples/lock/DistributedLockGrpcClient.java
class DistributedLockGrpcClient (line 27) | public class DistributedLockGrpcClient {
method main (line 36) | public static void main(String[] args) throws Exception {
method tryLock (line 49) | public static void tryLock(DaprPreviewClient client) {
method unlock (line 65) | public static void unlock(DaprPreviewClient client) {
FILE: examples/src/main/java/io/dapr/examples/pubsub/BulkPublisher.java
class BulkPublisher (line 41) | public class BulkPublisher {
method main (line 56) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/pubsub/CloudEventBulkPublisher.java
class CloudEventBulkPublisher (line 40) | public class CloudEventBulkPublisher {
method main (line 55) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/pubsub/CloudEventPublisher.java
class CloudEventPublisher (line 36) | public class CloudEventPublisher {
method main (line 55) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/pubsub/Publisher.java
class Publisher (line 31) | public class Publisher {
method main (line 50) | public static void main(String[] args) throws Exception {
method getTopicName (line 85) | private static String getTopicName(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/pubsub/PublisherWithTracing.java
class PublisherWithTracing (line 36) | public class PublisherWithTracing {
method main (line 53) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/pubsub/grpc/Subscriber.java
class Subscriber (line 33) | public class Subscriber {
method main (line 40) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/pubsub/grpc/SubscriberGrpcService.java
class SubscriberGrpcService (line 37) | public class SubscriberGrpcService extends AppCallbackGrpc.AppCallbackIm...
class MetadataInterceptor (line 42) | public static class MetadataInterceptor implements ServerInterceptor {
method interceptCall (line 43) | @Override
method listTopicSubscriptions (line 51) | @Override
method onTopicEvent (line 70) | @Override
method onBulkTopicEvent (line 110) | @Override
method registerConsumer (line 156) | public void registerConsumer(String pubsubName, String topic, boolean ...
FILE: examples/src/main/java/io/dapr/examples/pubsub/http/Subscriber.java
class Subscriber (line 31) | public class Subscriber {
method main (line 38) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/pubsub/http/SubscriberController.java
class SubscriberController (line 37) | @RestController
method handleMessage (line 49) | @Topic(name = "testingtopic", pubsubName = "${myAppProperty:messagebus}")
method handleMessageWithErrorHandler (line 69) | @Topic(name = "testingtopic1", pubsubName = "${myAppProperty:messagebu...
method handleMessageV2 (line 90) | @Topic(name = "testingtopic", pubsubName = "${myAppProperty:messagebus}",
method handleBulkPublishMessage (line 110) | @Topic(name = "bulkpublishtesting", pubsubName = "${myAppProperty:mess...
method handleBulkMessage (line 130) | @BulkSubscribe()
FILE: examples/src/main/java/io/dapr/examples/pubsub/stream/Subscriber.java
class Subscriber (line 34) | public class Subscriber {
method main (line 45) | public static void main(String[] args) throws Exception {
method getTopicName (line 62) | private static String getTopicName(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/pubsub/stream/SubscriberCloudEvent.java
class SubscriberCloudEvent (line 37) | public class SubscriberCloudEvent {
method main (line 48) | public static void main(String[] args) throws Exception {
method getTopicName (line 72) | private static String getTopicName(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/querystate/Listing.java
class Listing (line 20) | public class Listing {
method Listing (line 34) | public Listing() {
method getPropertyType (line 37) | public String getPropertyType() {
method setPropertyType (line 41) | public void setPropertyType(String propertyType) {
method getId (line 45) | public String getId() {
method setId (line 49) | public void setId(String id) {
method getCity (line 53) | public String getCity() {
method setCity (line 57) | public void setCity(String city) {
method getState (line 61) | public String getState() {
method setState (line 65) | public void setState(String state) {
method toString (line 69) | @Override
method equals (line 79) | @Override
method hashCode (line 94) | @Override
FILE: examples/src/main/java/io/dapr/examples/querystate/QuerySavedState.java
class QuerySavedState (line 41) | public class QuerySavedState {
method main (line 49) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/secrets/SecretClient.java
class SecretClient (line 32) | public class SecretClient {
method main (line 44) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/state/StateClient.java
class StateClient (line 36) | public class StateClient {
class MyClass (line 38) | public static class MyClass {
method toString (line 41) | @Override
method main (line 57) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/tracing/InvokeClient.java
class InvokeClient (line 40) | public class InvokeClient {
method main (line 52) | public static void main(String[] args) throws Exception {
method injectTraceContext (line 91) | private static void injectTraceContext(HttpRequest.Builder builder) {
method addDaprApiToken (line 97) | private static void addDaprApiToken(HttpRequest.Builder builder) {
FILE: examples/src/main/java/io/dapr/examples/tracing/TracingDemoMiddleServiceController.java
class TracingDemoMiddleServiceController (line 37) | @RestController
method echo (line 51) | @PostMapping(path = "/proxy_echo")
method sleep (line 71) | @PostMapping(path = "/proxy_sleep")
method buildInvokeUrl (line 83) | private static String buildInvokeUrl(String method) {
method injectTraceContext (line 88) | private static void injectTraceContext(HttpRequest.Builder builder, Co...
method addDaprApiToken (line 94) | private static void addDaprApiToken(HttpRequest.Builder builder) {
FILE: examples/src/main/java/io/dapr/examples/tracing/TracingDemoService.java
class TracingDemoService (line 38) | public class TracingDemoService {
method main (line 45) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/tracing/TracingDemoServiceController.java
class TracingDemoServiceController (line 35) | @RestController
method handleMethod (line 55) | @PostMapping(path = "/echo")
method sleep (line 81) | @PostMapping(path = "/sleep")
FILE: examples/src/main/java/io/dapr/examples/tracing/Validation.java
class Validation (line 35) | final class Validation {
method validate (line 61) | static void validate() {
method doValidate (line 69) | private static Void doValidate() throws Exception {
method readOne (line 104) | private static Object readOne(DocumentContext documentContext, String ...
method assertCount (line 114) | private static void assertCount(DocumentContext documentContext, Strin...
FILE: examples/src/main/java/io/dapr/examples/unittesting/DaprExampleTest.java
class DaprExampleTest (line 38) | public class DaprExampleTest {
type MyActor (line 40) | @ActorType(name = "MyActor")
method hello (line 42) | String hello();
class MyApp (line 45) | private static final class MyApp {
method MyApp (line 56) | public MyApp(DaprClient client, ActorClient actorClient) {
method MyApp (line 66) | public MyApp(DaprClient client, Function<ActorId, MyActor> actorProx...
method getState (line 71) | public String getState() {
method invokeActor (line 75) | public String invokeActor() {
method testGetState (line 81) | @Test
method testInvokeActor (line 94) | @Test
FILE: examples/src/main/java/io/dapr/examples/unittesting/DaprWorkflowExampleTest.java
class DaprWorkflowExampleTest (line 40) | public class DaprWorkflowExampleTest {
class DemoWorkflow (line 45) | private class DemoWorkflow implements Workflow {
method create (line 47) | @Override
method testWorkflow (line 63) | @Test
method testWorkflowWaitForEventTimeout (line 75) | @Test
method testWorkflowWaitForEventNoTimeout (line 86) | @Test
method createMockContext (line 97) | private WorkflowContext createMockContext(String name, String id) {
FILE: examples/src/main/java/io/dapr/examples/workflows/chain/DemoChainClient.java
class DemoChainClient (line 24) | public class DemoChainClient {
method main (line 31) | public static void main(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/workflows/chain/DemoChainWorker.java
class DemoChainWorker (line 20) | public class DemoChainWorker {
method main (line 27) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/workflows/chain/DemoChainWorkflow.java
class DemoChainWorkflow (line 19) | public class DemoChainWorkflow implements Workflow {
method create (line 20) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/chain/ToUpperCaseActivity.java
class ToUpperCaseActivity (line 22) | public class ToUpperCaseActivity implements WorkflowActivity {
method run (line 24) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkerflowClient.java
class DemoChildWorkerflowClient (line 22) | public class DemoChildWorkerflowClient {
method main (line 29) | public static void main(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkflow.java
class DemoChildWorkflow (line 24) | public class DemoChildWorkflow implements Workflow {
method create (line 25) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoChildWorkflowWorker.java
class DemoChildWorkflowWorker (line 20) | public class DemoChildWorkflowWorker {
method main (line 27) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/workflows/childworkflow/DemoWorkflow.java
class DemoWorkflow (line 19) | public class DemoWorkflow implements Workflow {
method create (line 20) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/childworkflow/ReverseActivity.java
class ReverseActivity (line 21) | public class ReverseActivity implements WorkflowActivity {
method run (line 22) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/BookCarActivity.java
class BookCarActivity (line 23) | public class BookCarActivity implements WorkflowActivity {
method run (line 26) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/BookFlightActivity.java
class BookFlightActivity (line 23) | public class BookFlightActivity implements WorkflowActivity {
method run (line 26) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/BookHotelActivity.java
class BookHotelActivity (line 21) | public class BookHotelActivity implements WorkflowActivity {
method run (line 24) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/BookTripClient.java
class BookTripClient (line 24) | public class BookTripClient {
method main (line 25) | public static void main(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/BookTripWorker.java
class BookTripWorker (line 20) | public class BookTripWorker {
method main (line 22) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/BookTripWorkflow.java
class BookTripWorkflow (line 27) | public class BookTripWorkflow implements Workflow {
method create (line 28) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/CancelCarActivity.java
class CancelCarActivity (line 23) | public class CancelCarActivity implements WorkflowActivity {
method run (line 26) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/CancelFlightActivity.java
class CancelFlightActivity (line 23) | public class CancelFlightActivity implements WorkflowActivity {
method run (line 26) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/compensation/CancelHotelActivity.java
class CancelHotelActivity (line 23) | public class CancelHotelActivity implements WorkflowActivity {
method run (line 26) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/continueasnew/CleanUpActivity.java
class CleanUpActivity (line 23) | public class CleanUpActivity implements WorkflowActivity {
method run (line 24) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/continueasnew/DemoContinueAsNewClient.java
class DemoContinueAsNewClient (line 21) | public class DemoContinueAsNewClient {
method main (line 28) | public static void main(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/workflows/continueasnew/DemoContinueAsNewWorker.java
class DemoContinueAsNewWorker (line 22) | public class DemoContinueAsNewWorker {
method main (line 29) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/workflows/continueasnew/DemoContinueAsNewWorkflow.java
class DemoContinueAsNewWorkflow (line 21) | public class DemoContinueAsNewWorkflow implements Workflow {
method create (line 29) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/externalevent/ApproveActivity.java
class ApproveActivity (line 23) | public class ApproveActivity implements WorkflowActivity {
method run (line 24) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/externalevent/DemoExternalEventClient.java
class DemoExternalEventClient (line 21) | public class DemoExternalEventClient {
method main (line 28) | public static void main(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/workflows/externalevent/DemoExternalEventWorker.java
class DemoExternalEventWorker (line 20) | public class DemoExternalEventWorker {
method main (line 27) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/workflows/externalevent/DemoExternalEventWorkflow.java
class DemoExternalEventWorkflow (line 19) | public class DemoExternalEventWorkflow implements Workflow {
method create (line 20) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/externalevent/DenyActivity.java
class DenyActivity (line 23) | public class DenyActivity implements WorkflowActivity {
method run (line 24) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/faninout/CountWordsActivity.java
class CountWordsActivity (line 23) | public class CountWordsActivity implements WorkflowActivity {
method run (line 24) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/faninout/DemoFanInOutClient.java
class DemoFanInOutClient (line 26) | public class DemoFanInOutClient {
method main (line 33) | public static void main(String[] args) throws InterruptedException {
FILE: examples/src/main/java/io/dapr/examples/workflows/faninout/DemoFanInOutWorker.java
class DemoFanInOutWorker (line 20) | public class DemoFanInOutWorker {
method main (line 27) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/workflows/faninout/DemoFanInOutWorkflow.java
class DemoFanInOutWorkflow (line 23) | public class DemoFanInOutWorkflow implements Workflow {
method create (line 24) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/App2TransformActivity.java
class App2TransformActivity (line 23) | public class App2TransformActivity implements WorkflowActivity {
method run (line 24) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/App2Worker.java
class App2Worker (line 23) | public class App2Worker {
method main (line 25) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/App3FinalizeActivity.java
class App3FinalizeActivity (line 23) | public class App3FinalizeActivity implements WorkflowActivity {
method run (line 24) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/App3Worker.java
class App3Worker (line 23) | public class App3Worker {
method main (line 25) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/MultiAppWorker.java
class MultiAppWorker (line 19) | public class MultiAppWorker {
method main (line 21) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/MultiAppWorkflow.java
class MultiAppWorkflow (line 24) | public class MultiAppWorkflow implements Workflow {
method create (line 25) | @Override
FILE: examples/src/main/java/io/dapr/examples/workflows/multiapp/MultiAppWorkflowClient.java
class MultiAppWorkflowClient (line 28) | public class MultiAppWorkflowClient {
method main (line 30) | public static void main(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/workflows/suspendresume/DemoSuspendResumeClient.java
class DemoSuspendResumeClient (line 25) | public class DemoSuspendResumeClient {
method main (line 32) | public static void main(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/workflows/suspendresume/DemoSuspendResumeWorker.java
class DemoSuspendResumeWorker (line 23) | public class DemoSuspendResumeWorker {
method main (line 30) | public static void main(String[] args) throws Exception {
FILE: examples/src/main/java/io/dapr/examples/workflows/utils/PropertyUtils.java
class PropertyUtils (line 20) | public class PropertyUtils {
method getProperties (line 22) | public static Properties getProperties(String[] args) {
FILE: examples/src/main/java/io/dapr/examples/workflows/utils/RetryUtils.java
class RetryUtils (line 19) | public class RetryUtils {
method callWithRetry (line 22) | public static String callWithRetry(Callable<String> function, Duration...
FILE: sdk-actors/src/main/java/io/dapr/actors/ActorId.java
class ActorId (line 21) | public class ActorId extends Object implements Comparable<ActorId> {
method ActorId (line 38) | public ActorId(String id) {
method toString (line 51) | @Override
method compareTo (line 67) | @Override
method hashCode (line 78) | @Override
method compareContent (line 90) | private int compareContent(ActorId id1, ActorId id2) {
method equals (line 99) | @Override
method createRandom (line 121) | public static ActorId createRandom() {
method hasEqualContent (line 133) | private static boolean hasEqualContent(ActorId id1, ActorId id2) {
FILE: sdk-actors/src/main/java/io/dapr/actors/ActorTrace.java
class ActorTrace (line 25) | public final class ActorTrace {
method writeInfo (line 40) | public void writeInfo(String type, String id, String msgFormat, Object...
method writeWarning (line 52) | public void writeWarning(String type, String id, String msgFormat, Obj...
method writeError (line 64) | public void writeError(String type, String id, String msgFormat, Objec...
method write (line 77) | private void write(Level level, String type, String id, String msgForm...
method emptyIfNul (line 92) | private static String emptyIfNul(String s) {
FILE: sdk-actors/src/main/java/io/dapr/actors/ActorUtils.java
class ActorUtils (line 16) | public final class ActorUtils {
method findActorTypeName (line 24) | public static String findActorTypeName(Class<?> actorClass) {
FILE: sdk-actors/src/main/java/io/dapr/actors/Undefined.java
class Undefined (line 19) | final class Undefined {
method Undefined (line 21) | private Undefined() {
FILE: sdk-actors/src/main/java/io/dapr/actors/client/ActorClient.java
class ActorClient (line 32) | public class ActorClient implements AutoCloseable {
method ActorClient (line 47) | public ActorClient() {
method ActorClient (line 56) | public ActorClient(ResiliencyOptions resiliencyOptions) {
method ActorClient (line 65) | public ActorClient(Properties overrideProperties) {
method ActorClient (line 75) | public ActorClient(Properties overrideProperties, ResiliencyOptions re...
method ActorClient (line 86) | public ActorClient(Properties overrideProperties, Map<String, String> ...
method ActorClient (line 101) | private ActorClient(
method invoke (line 119) | Mono<byte[]> invoke(String actorType, String actorId, String methodNam...
method close (line 126) | @Override
method buildDaprClient (line 139) | private static DaprClient buildDaprClient(
FILE: sdk-actors/src/main/java/io/dapr/actors/client/ActorProxy.java
type ActorProxy (line 23) | public interface ActorProxy {
method getActorId (line 30) | ActorId getActorId();
method getActorType (line 37) | String getActorType();
method invokeMethod (line 47) | <T> Mono<T> invokeMethod(String methodName, TypeRef<T> type);
method invokeMethod (line 57) | <T> Mono<T> invokeMethod(String methodName, Class<T> clazz);
method invokeMethod (line 68) | <T> Mono<T> invokeMethod(String methodName, Object data, TypeRef<T> ty...
method invokeMethod (line 79) | <T> Mono<T> invokeMethod(String methodName, Object data, Class<T> clazz);
method invokeMethod (line 87) | Mono<Void> invokeMethod(String methodName);
method invokeMethod (line 96) | Mono<Void> invokeMethod(String methodName, Object data);
FILE: sdk-actors/src/main/java/io/dapr/actors/client/ActorProxyBuilder.java
class ActorProxyBuilder (line 26) | public class ActorProxyBuilder<T> {
method ActorProxyBuilder (line 56) | public ActorProxyBuilder(Class<T> actorTypeClass, ActorClient actorCli...
method ActorProxyBuilder (line 69) | public ActorProxyBuilder(String actorType, Class<T> actorTypeClass, Ac...
method withObjectSerializer (line 92) | public ActorProxyBuilder<T> withObjectSerializer(DaprObjectSerializer ...
method build (line 107) | public T build(ActorId actorId) {
FILE: sdk-actors/src/main/java/io/dapr/actors/client/ActorProxyImpl.java
class ActorProxyImpl (line 30) | class ActorProxyImpl implements ActorProxy, InvocationHandler {
method ActorProxyImpl (line 62) | ActorProxyImpl(String actorType, ActorId actorId, DaprObjectSerializer...
method getActorId (line 72) | public ActorId getActorId() {
method getActorType (line 79) | public String getActorType() {
method invokeMethod (line 86) | @Override
method invokeMethod (line 96) | @Override
method invokeMethod (line 104) | @Override
method invokeMethod (line 114) | @Override
method invokeMethod (line 122) | @Override
method invokeMethod (line 130) | @Override
method invoke (line 143) | @Override
method deserialize (line 187) | private <T> T deserialize(final byte[] response, TypeRef<T> type) {
method serialize (line 203) | private byte[] serialize(final Object request) {
FILE: sdk-actors/src/main/java/io/dapr/actors/client/DaprClient.java
type DaprClient (line 21) | interface DaprClient {
method invoke (line 32) | Mono<byte[]> invoke(String actorType, String actorId, String methodNam...
FILE: sdk-actors/src/main/java/io/dapr/actors/client/DaprClientImpl.java
class DaprClientImpl (line 35) | class DaprClientImpl implements DaprClient {
method DaprClientImpl (line 65) | DaprClientImpl(
method invoke (line 81) | @Override
method createMono (line 98) | private <T> Mono<T> createMono(Consumer<StreamObserver<T>> consumer) {
method createStreamObserver (line 103) | private <T> StreamObserver<T> createStreamObserver(MonoSink<T> sink) {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/AbstractActor.java
class AbstractActor (line 30) | public abstract class AbstractActor {
method AbstractActor (line 68) | protected AbstractActor(ActorRuntimeContext runtimeContext, ActorId id) {
method getId (line 84) | protected ActorId getId() {
method getType (line 93) | String getType() {
method getActorStateManager (line 102) | protected ActorStateManager getActorStateManager() {
method registerReminder (line 116) | protected <T> Mono<Void> registerReminder(
method registerActorTimer (line 148) | protected <T> Mono<String> registerActorTimer(
method unregisterTimer (line 183) | protected Mono<Void> unregisterTimer(String timerName) {
method unregisterReminder (line 196) | protected Mono<Void> unregisterReminder(String reminderName) {
method onActivate (line 208) | protected Mono<Void> onActivate() {
method onDeactivate (line 217) | protected Mono<Void> onDeactivate() {
method onPreActorMethod (line 227) | protected Mono<Void> onPreActorMethod(ActorMethodContext actorMethodCo...
method onPostActorMethod (line 237) | protected Mono<Void> onPostActorMethod(ActorMethodContext actorMethodC...
method saveState (line 246) | protected Mono<Void> saveState() {
method rollback (line 255) | void rollback(boolean force) {
method resetState (line 267) | void resetState() {
method onActivateInternal (line 276) | Mono<Void> onActivateInternal() {
method onDeactivateInternal (line 290) | Mono<Void> onDeactivateInternal() {
method onPreActorMethodInternal (line 304) | Mono<Void> onPreActorMethodInternal(ActorMethodContext actorMethodCont...
method onPostActorMethodInternal (line 321) | Mono<Void> onPostActorMethodInternal(ActorMethodContext actorMethodCon...
method doWriteInfo (line 340) | private Mono<Void> doWriteInfo(String type, String id, String message) {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorCallType.java
type ActorCallType (line 19) | enum ActorCallType {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorFactory.java
type ActorFactory (line 23) | @FunctionalInterface
method createActor (line 33) | T createActor(ActorRuntimeContext<T> actorRuntimeContext, ActorId acto...
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorManager.java
class ActorManager (line 30) | class ActorManager<T extends AbstractActor> {
method ActorManager (line 57) | ActorManager(ActorRuntimeContext runtimeContext) {
method activateActor (line 69) | Mono<Void> activateActor(ActorId actorId) {
method deactivateActor (line 85) | Mono<Void> deactivateActor(ActorId actorId) {
method invokeReminder (line 97) | Mono<Void> invokeReminder(ActorId actorId, String reminderName, byte[]...
method invokeTimer (line 122) | Mono<Void> invokeTimer(ActorId actorId, String timerName, byte[] param...
method onActivatedActor (line 144) | private Mono<Void> onActivatedActor(ActorId actorId, T actor) {
method doReminderInvokation (line 156) | private Mono<Boolean> doReminderInvokation(
method invokeMethod (line 196) | Mono<byte[]> invokeMethod(ActorId actorId, String methodName, byte[] r...
method invokeMethod (line 209) | private Mono<byte[]> invokeMethod(ActorId actorId, ActorMethodContext ...
method invokeMethod (line 252) | private Mono<Object> invokeMethod(AbstractActor actor, Method method, ...
method invokeMonoMethod (line 277) | private Mono<Object> invokeMonoMethod(AbstractActor actor, Method meth...
method invoke (line 299) | private <T> Mono<T> invoke(ActorId actorId, ActorMethodContext context...
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorMethodContext.java
class ActorMethodContext (line 19) | public class ActorMethodContext {
method ActorMethodContext (line 37) | private ActorMethodContext(String methodName, ActorCallType callType) {
method getMethodName (line 47) | public String getMethodName() {
method getCallType (line 56) | public ActorCallType getCallType() {
method createForActor (line 66) | static ActorMethodContext createForActor(String methodName) {
method createForTimer (line 76) | static ActorMethodContext createForTimer(String methodName) {
method createForReminder (line 86) | static ActorMethodContext createForReminder(String methodName) {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorMethodInfoMap.java
class ActorMethodInfoMap (line 27) | class ActorMethodInfoMap {
method ActorMethodInfoMap (line 38) | ActorMethodInfoMap(Collection<Class<?>> interfaceTypes) {
method get (line 68) | Method get(String methodName) throws NoSuchMethodException {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorObjectSerializer.java
class ActorObjectSerializer (line 31) | public class ActorObjectSerializer extends ObjectSerializer {
method serialize (line 46) | @Override
method serialize (line 78) | private byte[] serialize(ActorTimerParams timer) throws IOException {
method serialize (line 106) | private byte[] serialize(ActorReminderParams reminder) throws IOExcept...
method serialize (line 137) | private byte[] serialize(ActorRuntimeConfig config) throws IOException {
method deserialize (line 207) | @Override
method deserializeActorTimer (line 230) | private ActorTimerParams deserializeActorTimer(byte[] value) throws IO...
method deserializeActorReminder (line 251) | private ActorReminderParams deserializeActorReminder(byte[] value) thr...
method extractDurationOrNull (line 279) | private static Duration extractDurationOrNull(JsonNode node, String na...
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorReminderParams.java
class ActorReminderParams (line 23) | final class ActorReminderParams {
method ActorReminderParams (line 57) | ActorReminderParams(byte[] data, Duration dueTime, Duration period) {
method ActorReminderParams (line 72) | ActorReminderParams(byte[] data, Duration dueTime, Duration period, Fa...
method getDueTime (line 82) | Duration getDueTime() {
method getPeriod (line 91) | Duration getPeriod() {
method getData (line 100) | byte[] getData() {
method validateDueTime (line 110) | private static void validateDueTime(String argName, Duration value) {
method validatePeriod (line 124) | private static void validatePeriod(String argName, Duration value) thr...
method getFailurePolicy (line 137) | public FailurePolicy getFailurePolicy() {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorRuntime.java
class ActorRuntime (line 34) | public class ActorRuntime implements Closeable {
method ActorRuntime (line 81) | private ActorRuntime() throws IllegalStateException {
method ActorRuntime (line 90) | private ActorRuntime(Properties properties) throws IllegalStateExcepti...
method ActorRuntime (line 100) | private ActorRuntime(ManagedChannel channel) throws IllegalStateExcept...
method ActorRuntime (line 111) | private ActorRuntime(ManagedChannel channel, DaprClient daprClient) th...
method getInstance (line 127) | public static ActorRuntime getInstance() {
method getInstance (line 145) | public static ActorRuntime getInstance(Properties properties) {
method getConfig (line 162) | public ActorRuntimeConfig getConfig() {
method serializeConfig (line 172) | public byte[] serializeConfig() throws IOException {
method registerActor (line 183) | public <T extends AbstractActor> void registerActor(Class<T> clazz) {
method registerActor (line 195) | public <T extends AbstractActor> void registerActor(Class<T> clazz, Ac...
method registerActor (line 207) | public <T extends AbstractActor> void registerActor(
method registerActor (line 221) | public <T extends AbstractActor> void registerActor(
method deactivate (line 261) | public Mono<Void> deactivate(String actorTypeName, String actorId) {
method invoke (line 276) | public Mono<byte[]> invoke(String actorTypeName, String actorId, Strin...
method invokeReminder (line 292) | public Mono<Void> invokeReminder(String actorTypeName, String actorId,...
method invokeTimer (line 308) | public Mono<Void> invokeTimer(String actorTypeName, String actorId, St...
method getActorManager (line 322) | private ActorManager getActorManager(String actorTypeName) {
method buildDaprClient (line 341) | private static DaprClient buildDaprClient(ManagedChannel channel) {
method close (line 348) | @Override
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorRuntimeConfig.java
class ActorRuntimeConfig (line 25) | public class ActorRuntimeConfig {
method ActorRuntimeConfig (line 44) | ActorRuntimeConfig() {
method addRegisteredActorType (line 53) | ActorRuntimeConfig addRegisteredActorType(String actorTypeName) {
method getRegisteredActorTypes (line 67) | Collection<String> getRegisteredActorTypes() {
method getActorIdleTimeout (line 76) | public Duration getActorIdleTimeout() {
method setActorIdleTimeout (line 86) | public ActorRuntimeConfig setActorIdleTimeout(Duration actorIdleTimeou...
method getActorScanInterval (line 96) | public Duration getActorScanInterval() {
method setActorScanInterval (line 106) | public ActorRuntimeConfig setActorScanInterval(Duration actorScanInter...
method getDrainOngoingCallTimeout (line 116) | public Duration getDrainOngoingCallTimeout() {
method setDrainOngoingCallTimeout (line 126) | public ActorRuntimeConfig setDrainOngoingCallTimeout(Duration drainOng...
method getDrainBalancedActors (line 136) | public Boolean getDrainBalancedActors() {
method setDrainBalancedActors (line 146) | public ActorRuntimeConfig setDrainBalancedActors(Boolean drainBalanced...
method getRemindersStoragePartitions (line 156) | public Integer getRemindersStoragePartitions() {
method setRemindersStoragePartitions (line 166) | public ActorRuntimeConfig setRemindersStoragePartitions(Integer remind...
method addActorTypeConfig (line 177) | ActorRuntimeConfig addActorTypeConfig(ActorTypeConfig config) {
method getActorTypeConfigs (line 191) | Collection<ActorTypeConfig> getActorTypeConfigs() {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorRuntimeContext.java
class ActorRuntimeContext (line 24) | public class ActorRuntimeContext<T extends AbstractActor> {
method ActorRuntimeContext (line 71) | ActorRuntimeContext(ActorRuntime actorRuntime,
method getActorRuntime (line 91) | ActorRuntime getActorRuntime() {
method getObjectSerializer (line 100) | DaprObjectSerializer getObjectSerializer() {
method getActorFactory (line 109) | ActorFactory<T> getActorFactory() {
method getActorTypeInformation (line 118) | ActorTypeInformation<T> getActorTypeInformation() {
method getActorTrace (line 127) | ActorTrace getActorTrace() {
method getDaprClient (line 136) | DaprClient getDaprClient() {
method getStateProvider (line 145) | DaprStateAsyncProvider getStateProvider() {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorStateChange.java
class ActorStateChange (line 19) | public final class ActorStateChange {
method ActorStateChange (line 43) | ActorStateChange(String stateName, Object value, ActorStateChangeKind ...
method getStateName (line 54) | String getStateName() {
method getValue (line 63) | Object getValue() {
method getChangeKind (line 72) | ActorStateChangeKind getChangeKind() {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorStateChangeKind.java
type ActorStateChangeKind (line 19) | public enum ActorStateChangeKind {
method ActorStateChangeKind (line 51) | ActorStateChangeKind(String daprStateChangeOperation) {
method getDaprStateChangeOperation (line 60) | String getDaprStateChangeOperation() {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorStateManager.java
class ActorStateManager (line 30) | public class ActorStateManager {
method ActorStateManager (line 59) | ActorStateManager(DaprStateAsyncProvider stateProvider, String actorTy...
method add (line 74) | public <T> Mono<Void> add(String stateName, T value) {
method get (line 112) | public <T> Mono<T> get(String stateName, Class<T> clazz) {
method get (line 124) | public <T> Mono<T> get(String stateName, TypeRef<T> type) {
method set (line 158) | public <T> Mono<Void> set(String stateName, T value) {
method remove (line 193) | public Mono<Void> remove(String stateName) {
method contains (line 233) | public Mono<Boolean> contains(String stateName) {
method save (line 255) | public Mono<Void> save() {
method clear (line 278) | public void clear() {
method flush (line 285) | private void flush() {
class StateChangeMetadata (line 300) | private static final class StateChangeMetadata {
method StateChangeMetadata (line 318) | private StateChangeMetadata(ActorStateChangeKind kind, Object value) {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorStateOperation.java
class ActorStateOperation (line 20) | final class ActorStateOperation {
method ActorStateOperation (line 44) | ActorStateOperation(String operationType,
method getOperationType (line 57) | public String getOperationType() {
method getKey (line 66) | public String getKey() {
method getValue (line 75) | public Object getValue() {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorTimerParams.java
class ActorTimerParams (line 22) | final class ActorTimerParams {
method ActorTimerParams (line 52) | ActorTimerParams(String callback,
method getCallback (line 67) | public String getCallback() {
method getDueTime (line 76) | public Duration getDueTime() {
method getPeriod (line 85) | public Duration getPeriod() {
method getData (line 94) | public byte[] getData() {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorTypeConfig.java
class ActorTypeConfig (line 21) | public class ActorTypeConfig {
method ActorTypeConfig (line 38) | ActorTypeConfig() {
method setActorTypeName (line 47) | ActorTypeConfig setActorTypeName(String actorTypeName) {
method getActorTypeName (line 61) | String getActorTypeName() {
method getActorIdleTimeout (line 70) | public Duration getActorIdleTimeout() {
method setActorIdleTimeout (line 80) | public ActorTypeConfig setActorIdleTimeout(Duration actorIdleTimeout) {
method getActorScanInterval (line 90) | public Duration getActorScanInterval() {
method setActorScanInterval (line 100) | public ActorTypeConfig setActorScanInterval(Duration actorScanInterval) {
method getDrainOngoingCallTimeout (line 110) | public Duration getDrainOngoingCallTimeout() {
method setDrainOngoingCallTimeout (line 120) | public ActorTypeConfig setDrainOngoingCallTimeout(Duration drainOngoin...
method getDrainBalancedActors (line 130) | public Boolean getDrainBalancedActors() {
method setDrainBalancedActors (line 140) | public ActorTypeConfig setDrainBalancedActors(Boolean drainBalancedAct...
method getRemindersStoragePartitions (line 150) | public Integer getRemindersStoragePartitions() {
method setRemindersStoragePartitions (line 160) | public ActorTypeConfig setRemindersStoragePartitions(Integer reminders...
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorTypeInformation.java
class ActorTypeInformation (line 26) | final class ActorTypeInformation<T> {
method ActorTypeInformation (line 62) | private ActorTypeInformation(String name,
method getName (line 79) | public String getName() {
method getImplementationClass (line 88) | public Class<T> getImplementationClass() {
method getInterfaces (line 97) | public Collection<Class<?>> getInterfaces() {
method isAbstractClass (line 106) | public boolean isAbstractClass() {
method isRemindable (line 116) | public boolean isRemindable() {
method tryCreate (line 127) | public static <T> ActorTypeInformation<T> tryCreate(Class<T> actorClas...
method create (line 142) | public static <T> ActorTypeInformation<T> create(Class<T> actorClass) {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/ActorTypeUtilities.java
class ActorTypeUtilities (line 21) | final class ActorTypeUtilities {
method isActor (line 29) | public static boolean isActor(Class clazz) {
method isRemindableActor (line 43) | public static boolean isRemindableActor(Class clazz) {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/DaprClient.java
type DaprClient (line 23) | interface DaprClient {
method getState (line 33) | Mono<byte[]> getState(String actorType, String actorId, String keyName);
method saveStateTransactionally (line 43) | Mono<Void> saveStateTransactionally(String actorType, String actorId, ...
method registerReminder (line 54) | Mono<Void> registerReminder(
method unregisterReminder (line 68) | Mono<Void> unregisterReminder(String actorType, String actorId, String...
method registerTimer (line 79) | Mono<Void> registerTimer(String actorType, String actorId, String time...
method unregisterTimer (line 89) | Mono<Void> unregisterTimer(String actorType, String actorId, String ti...
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/DaprClientImpl.java
class DaprClientImpl (line 41) | class DaprClientImpl implements DaprClient {
method DaprClientImpl (line 65) | DaprClientImpl(ManagedChannel channel) {
method DaprClientImpl (line 74) | DaprClientImpl(DaprGrpc.DaprStub daprStubClient) {
method getState (line 81) | @Override
method saveStateTransactionally (line 97) | @Override
method registerReminder (line 144) | @Override
method unregisterReminder (line 171) | @Override
method registerTimer (line 186) | @Override
method unregisterTimer (line 209) | @Override
method createStreamObserver (line 221) | private <T> StreamObserver<T> createStreamObserver(MonoSink<T> sink) {
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/DaprStateAsyncProvider.java
class DaprStateAsyncProvider (line 31) | class DaprStateAsyncProvider {
method DaprStateAsyncProvider (line 64) | DaprStateAsyncProvider(DaprClient daprClient, DaprObjectSerializer sta...
method load (line 70) | <T> Mono<T> load(String actorType, ActorId actorId, String stateName, ...
method contains (line 98) | Mono<Boolean> contains(String actorType, ActorId actorId, String state...
method apply (line 126) | Mono<Void> apply(String actorType, ActorId actorId, ActorStateChange.....
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/DefaultActorFactory.java
class DefaultActorFactory (line 26) | class DefaultActorFactory<T extends AbstractActor> implements ActorFacto...
method createActor (line 36) | @Override
FILE: sdk-actors/src/main/java/io/dapr/actors/runtime/Remindable.java
type Remindable (line 24) | public interface Remindable<T> {
method getStateType (line 31) | TypeRef<T> getStateType();
method receiveReminder (line 45) | Mono<Void> receiveReminder(String reminderName, T state, Duration dueT...
FILE: sdk-actors/src/test/java/io/dapr/actors/ActorIdTest.java
class ActorIdTest (line 27) | public class ActorIdTest {
method initializeNewActorIdObjectWithNullId (line 29) | @Test
method getId (line 34) | @Test
method verifyToString (line 41) | @Test
method verifyEqualsByObject (line 48) | @Test
method verifyEqualsByActorId (line 56) | @Test
method verifyCompareTo (line 66) | @Test
method createEqualsTestValues (line 76) | private List<Wrapper> createEqualsTestValues() {
method createComparesToTestValues (line 86) | private List<Wrapper> createComparesToTestValues() {
class Wrapper (line 96) | class Wrapper<T> {
method Wrapper (line 102) | public Wrapper(Object i, Object j, T e) {
FILE: sdk-actors/src/test/java/io/dapr/actors/TestUtils.java
class TestUtils (line 21) | public final class TestUtils {
method TestUtils (line 23) | private TestUtils() {}
method assertThrowsDaprException (line 25) | public static <T extends Throwable> void assertThrowsDaprException(Cla...
method assertThrowsDaprException (line 31) | public static void assertThrowsDaprException(String expectedErrorCode,...
method assertThrowsDaprException (line 37) | public static void assertThrowsDaprException(
method assertThrowsDaprException (line 47) | public static <T extends Throwable> void assertThrowsDaprException(
method formatIpAddress (line 59) | public static String formatIpAddress(final String ipAddress) {
FILE: sdk-actors/src/test/java/io/dapr/actors/client/ActorProxyBuilderTest.java
class ActorProxyBuilderTest (line 25) | public class ActorProxyBuilderTest {
method initClass (line 29) | @BeforeAll
method tearDownClass (line 34) | @AfterAll
method buildWithNullActorId (line 39) | @Test
method buildWithEmptyActorType (line 45) | @Test
method buildWithNullActorType (line 50) | @Test
method buildWithNullSerializer (line 55) | @Test
method buildWithNullClient (line 62) | @Test
method build (line 67) | @Test()
method buildWithType (line 77) | @Test()
method buildWithTypeDefaultName (line 85) | @Test()
type MyActor (line 93) | @ActorType(name = "MyActor")
type ActorWithDefaultName (line 97) | public interface ActorWithDefaultName {
FILE: sdk-actors/src/test/java/io/dapr/actors/client/ActorProxyImplForTests.java
class ActorProxyImplForTests (line 19) | public class ActorProxyImplForTests extends ActorProxyImpl {
method ActorProxyImplForTests (line 21) | public ActorProxyImplForTests(String actorType, ActorId actorId, DaprO...
FILE: sdk-actors/src/test/java/io/dapr/actors/client/ActorProxyImplTest.java
class ActorProxyImplTest (line 31) | public class ActorProxyImplTest {
method constructorActorProxyTest (line 33) | @Test()
method invokeActorMethodWithoutDataWithReturnType (line 46) | @Test()
method invokeActorMethodWithoutDataWithReturnTypeViaReflection (line 68) | @Test()
method invokeActorMethodWithoutDataWithReturnMonoTypeViaReflection (line 89) | @Test()
method invokeActorMethodWithDataWithReturnTypeViaReflection (line 112) | @Test()
method invokeActorMethodWithDataWithReturnMonoTypeViaReflection (line 135) | @Test()
method invokeActorMethodWithoutDataWithoutReturnTypeViaReflection (line 159) | @Test()
method invokeActorMethodWithoutDataWithoutReturnTypeMonoViaReflection (line 177) | @Test()
method invokeActorMethodWithDataWithoutReturnTypeMonoViaReflection (line 196) | @Test()
method invokeActorMethodWithTooManyArgsViaReflection (line 219) | @Test
method invokeActorMethodWithDataWithoutReturnTypeViaReflection (line 235) | @Test()
method invokeActorMethodWithoutDataWithEmptyReturnType (line 257) | @Test()
method invokeActorMethodWithIncorrectReturnType (line 274) | @Test
method invokeActorMethodSavingDataWithReturnType (line 291) | @Test()
method invokeActorMethodSavingDataWithIncorrectReturnType (line 316) | @Test
method invokeActorMethodSavingDataWithEmptyReturnType (line 337) | @Test()
method invokeActorMethodSavingDataWithIncorrectInputType (line 359) | @Test
method invokeActorMethodWithDataWithVoidReturnType (line 379) | @Test()
method invokeActorMethodWithDataWithVoidIncorrectInputType (line 401) | @Test
method invokeActorMethodWithoutDataWithVoidReturnType (line 421) | @Test()
type Actor (line 438) | interface Actor {
method getData (line 439) | MyData getData();
method echo (line 441) | String echo(String message);
method getDataMono (line 443) | @ActorMethod(returns = MyData.class)
method echoMono (line 446) | @ActorMethod(returns = String.class)
method doSomething (line 449) | void doSomething();
method doSomethingMono (line 451) | Mono<Void> doSomethingMono();
method process (line 453) | void process(String something);
method doSomethingMonoWithArg (line 455) | Mono<Void> doSomethingMonoWithArg(String something);
method tooManyArgs (line 457) | void tooManyArgs(String something, String something2);
class MyData (line 460) | static class MyData {
method getPropertyB (line 471) | public String getPropertyB() {
method setPropertyB (line 475) | public void setPropertyB(String propertyB) {
method getPropertyA (line 479) | public String getPropertyA() {
method setPropertyA (line 483) | public void setPropertyA(String propertyA) {
method toString (line 487) | @Override
method getMyData (line 495) | public MyData getMyData() {
method setMyData (line 499) | public void setMyData(MyData myData) {
FILE: sdk-actors/src/test/java/io/dapr/actors/client/DaprClientStub.java
class DaprClientStub (line 18) | public class DaprClientStub extends ActorClient implements DaprClient {
method invoke (line 20) | @Override
FILE: sdk-actors/src/test/java/io/dapr/actors/client/DaprGrpcClientTest.java
class DaprGrpcClientTest (line 40) | public class DaprGrpcClientTest {
method invokeActor (line 62) | @Override
method setup (line 95) | @BeforeEach
method invoke (line 112) | @Test
method invokeNullPayload (line 118) | @Test
method invokeException (line 124) | @Test
method invokeNotHotMono (line 135) | @Test
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorCustomSerializerTest.java
class ActorCustomSerializerTest (line 34) | public class ActorCustomSerializerTest {
type MyActor (line 46) | public interface MyActor {
method intInIntOut (line 47) | Mono<Integer> intInIntOut(int input);
method stringInStringOut (line 49) | Mono<String> stringInStringOut(String input);
method classInClassOut (line 51) | Mono<MyData> classInClassOut(MyData input);
class ActorImpl (line 54) | @ActorType(name = "MyActor")
method ActorImpl (line 58) | public ActorImpl(ActorRuntimeContext runtimeContext, ActorId id) {
method intInIntOut (line 62) | @Override
method stringInStringOut (line 67) | @Override
method classInClassOut (line 72) | @Override
class MyData (line 81) | static class MyData implements Serializable {
method MyData (line 85) | public MyData() {
method MyData (line 90) | public MyData(String name, int num) {
method getName (line 95) | public String getName() {
method getNum (line 99) | public int getNum() {
method classInClassOut (line 104) | @Test
method stringInStringOut (line 115) | @Test
method intInIntOut (line 123) | @Test
method newActorId (line 131) | private static ActorId newActorId() {
method createActorProxy (line 135) | private ActorProxy createActorProxy() {
method createContext (line 161) | private static <T extends AbstractActor> ActorRuntimeContext createCon...
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorManagerTest.java
class ActorManagerTest (line 36) | public class ActorManagerTest {
type MyActor (line 42) | interface MyActor {
method say (line 43) | String say(String something);
method getCount (line 45) | int getCount();
method incrementCount (line 47) | void incrementCount(int delta);
method throwsException (line 49) | void throwsException();
method throwsExceptionHotMono (line 51) | Mono<Void> throwsExceptionHotMono();
method throwsExceptionMono (line 53) | Mono<Void> throwsExceptionMono();
class NotRemindableActor (line 56) | public static class NotRemindableActor extends AbstractActor {
method NotRemindableActor (line 57) | public NotRemindableActor(ActorRuntimeContext runtimeContext, ActorI...
class MyActorImpl (line 62) | @ActorType(name = "MyActor")
method say (line 67) | @Override
method getCount (line 72) | @Override
method incrementCount (line 77) | @Override
method throwsException (line 82) | @Override
method throwsExceptionHotMono (line 87) | @Override
method throwsExceptionMono (line 92) | @Override
method MyActorImpl (line 97) | public MyActorImpl(ActorRuntimeContext runtimeContext, ActorId id) {
method getStateType (line 108) | @Override
method receiveReminder (line 113) | @Override
method invokeBeforeActivate (line 123) | @Test
method activateThenInvoke (line 132) | @Test
method activateThenInvokeWithActorImplException (line 143) | @Test
method activateThenInvokeWithActorImplExceptionButNotSubscribed (line 153) | @Test
method activateThenInvokeWithActorImplHotMonoException (line 162) | @Test
method activateThenInvokeWithActorImplHotMonoExceptionNotSubscribed (line 172) | @Test
method activateThenInvokeWithActorImplMonoException (line 181) | @Test
method activateThenInvokeWithActorImplMonoExceptionNotSubscribed (line 191) | @Test
method activateInvokeDeactivateThenInvoke (line 200) | @Test
method invokeReminderNotRemindable (line 215) | @Test
method invokeReminderBeforeActivate (line 223) | @Test
method activateThenInvokeReminder (line 230) | @Test
method activateDeactivateThenInvokeReminder (line 237) | @Test
method invokeTimerBeforeActivate (line 246) | @Test
method activateThenInvokeTimerBeforeRegister (line 254) | @Test
method activateThenInvokeTimer (line 261) | @Test
method activateInvokeTimerDeactivateThenInvokeTimer (line 270) | @Test
method createReminderParams (line 282) | private byte[] createReminderParams(String data) throws IOException {
method createTimerParams (line 288) | private byte[] createTimerParams(String callback, Object data) throws ...
method newActorId (line 294) | private static ActorId newActorId() {
method executeSayMethod (line 298) | private static String executeSayMethod(String something) {
method createContext (line 302) | private static <T extends AbstractActor> ActorRuntimeContext createCon...
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorMethodInfoMapTest.java
class ActorMethodInfoMapTest (line 28) | public class ActorMethodInfoMapTest {
method normalUsage (line 30) | @Test
method lookUpNonExistingMethod (line 48) | @Test
type TestActor (line 61) | public interface TestActor {
method getData (line 62) | String getData(String key);
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorNoStateTest.java
class ActorNoStateTest (line 37) | public class ActorNoStateTest {
type MyActor (line 46) | public interface MyActor {
method getMyId (line 49) | Mono<String> getMyId();
method stringInStringOut (line 50) | Mono<String> stringInStringOut(String input);
method stringInBooleanOut (line 51) | Mono<Boolean> stringInBooleanOut(String input);
method stringInVoidOutIntentionallyThrows (line 52) | Mono<Void> stringInVoidOutIntentionallyThrows(String input);
method classInClassOut (line 53) | Mono<MyData> classInClassOut(MyData input);
method registerBadCallbackName (line 54) | Mono<String> registerBadCallbackName();
method registerTimerAutoName (line 55) | String registerTimerAutoName();
method dotNetMethod (line 56) | @ActorMethod(name = "DotNetMethodASync")
class ActorImpl (line 60) | @ActorType(name = "MyActor")
method ActorImpl (line 66) | public ActorImpl(ActorRuntimeContext runtimeContext, ActorId id) {
method getMyId (line 72) | @Override
method stringInStringOut (line 77) | @Override
method stringInBooleanOut (line 85) | @Override
method stringInVoidOutIntentionallyThrows (line 96) | @Override
method classInClassOut (line 105) | @Override
method registerBadCallbackName (line 114) | @Override
method registerTimerAutoName (line 119) | @Override
method dotNetMethod (line 124) | @Override
class MyData (line 130) | static class MyData {
method MyData (line 134) | public MyData() {
method MyData (line 139) | public MyData(String name, int num) {
method getName (line 144) | public String getName() {
method getNum (line 148) | public int getNum() {
method actorId (line 153) | @Test
method stringInStringOut (line 162) | @Test
method stringInBooleanOut (line 172) | @Test
method stringInVoidOutIntentionallyThrows (line 186) | @Test
method testMethodNameChange (line 195) | @Test
method classInClassOut (line 201) | @Test
method testBadTimerCallbackName (line 217) | @Test
method testAutoTimerName (line 224) | @Test
method newActorId (line 236) | private static ActorId newActorId() {
method createActorProxy (line 240) | private ActorProxy createActorProxy() {
method createActorProxy (line 266) | private <T> T createActorProxy(Class<T> clazz) {
method createContext (line 296) | private static <T extends AbstractActor> ActorRuntimeContext createCon...
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorReminderParamsTest.java
class ActorReminderParamsTest (line 25) | public class ActorReminderParamsTest {
method outOfRangeDueTime (line 29) | @Test
method negativePeriod (line 34) | @Test
method outOfRangePeriod (line 40) | @Test
method noState (line 45) | @Test
method withState (line 63) | @Test
method withDropFailurePolicy (line 81) | @Test
method withConstantRetryFailurePolicy (line 102) | @Test
method withConstantIntervalFailurePolicy (line 124) | @Test
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorRuntimeTest.java
class ActorRuntimeTest (line 33) | public class ActorRuntimeTest {
type MyActor (line 37) | public interface MyActor {
method say (line 38) | String say();
method count (line 40) | int count();
class MyActorImpl (line 43) | @ActorType(name = ACTOR_NAME)
method MyActorImpl (line 50) | public MyActorImpl(ActorRuntimeContext runtimeContext, ActorId id) {
method onActivate (line 54) | public Mono<Void> onActivate() {
method onDeactivate (line 64) | public Mono<Void> onDeactivate() {
method say (line 82) | public String say() {
method count (line 91) | public int count() {
method beforeAll (line 104) | @BeforeAll
method setup (line 114) | @BeforeEach
method registerActorNullClass (line 120) | @Test
method registerActorNullFactory (line 125) | @Test
method registerActorNullSerializer (line 131) | @Test
method registerActorNullStateSerializer (line 137) | @Test
method setActorIdleTimeout (line 143) | @Test
method setActorScanInterval (line 150) | @Test
method setDrainBalancedActors (line 157) | @Test
method addActorTypeConfig (line 164) | @Test
method addNullActorTypeConfig (line 192) | @Test
method setDrainOngoingCallTimeout (line 208) | @Test
method setRemindersStoragePartitions (line 215) | @Test
method invokeActor (line 222) | @Test
method invokeUnknownActor (line 232) | @Test
method deactivateActor (line 240) | @Test
method lazyDeactivate (line 247) | @Test
method lazyInvoke (line 263) | @Test
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorStatefulTest.java
class ActorStatefulTest (line 42) | public class ActorStatefulTest {
type MyActor (line 54) | public interface MyActor {
method isActive (line 55) | Mono<Boolean> isActive();
method getPreCallMethodContext (line 57) | MyMethodContext getPreCallMethodContext();
method getPostCallMethodContext (line 59) | MyMethodContext getPostCallMethodContext();
method unregisterTimerAndReminder (line 61) | Mono<Void> unregisterTimerAndReminder();
method incrementAndGetCount (line 63) | Mono<Integer> incrementAndGetCount(int increment) throws Exception;
method getCountButThrowsException (line 65) | Mono<Integer> getCountButThrowsException();
method addMessage (line 67) | Mono<Void> addMessage(String message);
method setMessage (line 69) | Mono<String> setMessage(String message);
method getMessage (line 71) | Mono<String> getMessage();
method hasMessage (line 73) | Mono<Boolean> hasMessage();
method deleteMessage (line 75) | Mono<Void> deleteMessage();
method forceDuplicateException (line 77) | Mono<Void> forceDuplicateException();
method forcePartialChange (line 79) | Mono<Void> forcePartialChange();
method throwsWithoutSaving (line 81) | Mono<Void> throwsWithoutSaving();
method setMethodContext (line 83) | Mono<Void> setMethodContext(MyMethodContext context);
method getMethodContext (line 85) | Mono<MyMethodContext> getMethodContext();
method getIdString (line 87) | String getIdString();
class MyActorImpl (line 90) | @ActorType(name = "MyActor")
method MyActorImpl (line 101) | public MyActorImpl(ActorRuntimeContext runtimeContext, ActorId id) {
method isActive (line 107) | @Override
method onActivate (line 112) | @Override
method onDeactivate (line 130) | @Override
method onPreActorMethod (line 135) | @Override
method onPostActorMethod (line 145) | @Override
method getPreCallMethodContext (line 155) | @Override
method getPostCallMethodContext (line 160) | @Override
method unregisterTimerAndReminder (line 165) | @Override
method incrementAndGetCount (line 173) | @Override
method getCountButThrowsException (line 193) | @Override
method addMessage (line 198) | @Override
method setMessage (line 203) | @Override
method getMessage (line 208) | @Override
method hasMessage (line 213) | @Override
method deleteMessage (line 218) | @Override
method forceDuplicateException (line 223) | @Override
method forcePartialChange (line 230) | @Override
method throwsWithoutSaving (line 237) | @Override
method setMethodContext (line 243) | @Override
method getMethodContext (line 248) | @Override
method getIdString (line 254) | @Override
method getStateType (line 259) | @Override
method receiveReminder (line 265) | @Override
class MyMethodContext (line 272) | public static class MyMethodContext implements Serializable {
method getType (line 278) | public String getType() {
method setType (line 282) | public MyMethodContext setType(String type) {
method getName (line 287) | public String getName() {
method setName (line 291) | public MyMethodContext setName(String name) {
method happyGetSetDeleteContains (line 297) | @Test
method lazyGet (line 318) | @Test
method lazySet (line 333) | @Test
method lazyContains (line 350) | @Test
method lazyDelete (line 368) | @Test
method lazyAdd (line 390) | @Test
method onActivateAndOnDeactivate (line 418) | @Test
method onPreMethodAndOnPostMethod (line 432) | @Test
method invokeTimer (line 449) | @Test
method invokeTimerAfterDeactivate (line 466) | @Test
method invokeTimerAfterUnregister (line 476) | @Test
method invokeUnknownTimer (line 486) | @Test
method invokeReminder (line 494) | @Test
method invokeReminderAfterDeactivate (line 513) | @Test
method classTypeRequestResponseInStateStore (line 524) | @Test
method intTypeRequestResponseInStateStore (line 537) | @Test
method intTypeWithMethodException (line 545) | @Test
method intTypeWithRuntimeException (line 553) | @Test
method actorRuntimeException (line 561) | @Test
method actorMethodException (line 571) | @Test
method rollbackChanges (line 582) | @Test
method partialChanges (line 597) | @Test
method newActorProxy (line 616) | private ActorProxy newActorProxy() {
method createReminderParams (line 642) | private byte[] createReminderParams(String data) throws IOException {
method newActorId (line 648) | private static ActorId newActorId() {
method executeSayMethod (line 652) | private static String executeSayMethod(String something) {
method createContext (line 656) | private static <T extends AbstractActor> ActorRuntimeContext createCon...
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorTimerTest.java
class ActorTimerTest (line 23) | public class ActorTimerTest {
method serialize (line 27) | @Test
method serializeWithOneTimePeriod (line 49) | @Test
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorTypeInformationTest.java
class ActorTypeInformationTest (line 27) | public class ActorTypeInformationTest {
type MyActorAnnotated (line 32) | @ActorType(name = "MyActorWithAnnotation")
type MyActor (line 39) | private interface MyActor {
method notRemindable (line 45) | @Test
method remindable (line 67) | @Test
method renamedWithAnnotation (line 100) | @Test
method renamedWithAnnotationAtInterface (line 122) | @Test
method nonActorParentClass (line 143) | @Test
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ActorTypeUtilitiesTest.java
class ActorTypeUtilitiesTest (line 26) | public class ActorTypeUtilitiesTest {
method nullIsNotRemindable (line 28) | @Test
method nonActorIsNotRemindable (line 33) | @Test
method actorButNotRemindable (line 38) | @Test
method actorWithInterfacesButNotRemindable (line 43) | @Test
method actorIsRemindable (line 48) | @Test
class NonRemindable (line 53) | public static class NonRemindable extends AbstractActor {
method NonRemindable (line 55) | protected NonRemindable(ActorRuntimeContext runtimeContext, ActorId ...
class NonRemindableWithInterfaces (line 60) | public static class NonRemindableWithInterfaces extends AbstractActor ...
method NonRemindableWithInterfaces (line 62) | protected NonRemindableWithInterfaces(ActorRuntimeContext runtimeCon...
method close (line 66) | @Override
class Remindable (line 71) | public static class Remindable extends AbstractActor implements io.dap...
method Remindable (line 73) | protected Remindable(ActorRuntimeContext runtimeContext, ActorId id) {
method getStateType (line 77) | @Override
method receiveReminder (line 82) | @Override
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/DaprGrpcClientTest.java
class DaprGrpcClientTest (line 46) | public class DaprGrpcClientTest {
method setup (line 75) | @BeforeEach
method getActorStateException (line 92) | @Test
method getActorState (line 102) | @Test
method saveActorStateTransactionallyException (line 108) | @Test
method saveActorStateTransactionally (line 117) | @Test
method saveActorStateTransactionallyByteArray (line 123) | @Test
method saveActorStateTransactionallyInvalidValueType (line 129) | @Test
method registerActorReminder (line 141) | @Test
method unregisterActorReminder (line 152) | @Test
method registerActorTimer (line 159) | @Test
method unregisterActorTimer (line 173) | @Test
class OperationsMatcher (line 180) | private static class OperationsMatcher {
method OperationsMatcher (line 184) | OperationsMatcher(List<ActorStateOperation> operations) {
method nullableEquals (line 188) | private static boolean nullableEquals(Object one, Any another) {
method getAny (line 206) | private static Any getAny(Object value) throws IOException {
method matches (line 217) | public boolean matches(DaprActorsProtos.ExecuteActorStateTransaction...
class CustomDaprClient (line 246) | private class CustomDaprClient extends DaprGrpc.DaprImplBase {
method getActorState (line 248) | @Override
method executeActorStateTransaction (line 267) | public void executeActorStateTransaction(DaprActorsProtos.ExecuteAct...
method registerActorReminder (line 284) | @Override
method registerActorTimer (line 304) | public void registerActorTimer(DaprActorsProtos.RegisterActorTimerRe...
method unregisterActorTimer (line 329) | public void unregisterActorTimer(DaprActorsProtos.UnregisterActorTim...
method unregisterActorReminder (line 346) | public void unregisterActorReminder(DaprActorsProtos.UnregisterActor...
method throwException (line 363) | private void throwException(StreamObserver<?> responseObserver) {
method populateObserver (line 369) | private <T extends com.google.protobuf.Message> void populateObserve...
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/DaprInMemoryStateProvider.java
class DaprInMemoryStateProvider (line 28) | public class DaprInMemoryStateProvider extends DaprStateAsyncProvider {
method DaprInMemoryStateProvider (line 34) | DaprInMemoryStateProvider(DaprObjectSerializer serializer) {
method load (line 39) | @Override
method contains (line 55) | @Override
method apply (line 60) | @Override
method buildId (line 84) | private static final String buildId(String actorType, ActorId actorId,...
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/DaprStateAsyncProviderTest.java
class DaprStateAsyncProviderTest (line 38) | public class DaprStateAsyncProviderTest {
class Customer (line 49) | public static final class Customer {
method getId (line 55) | public int getId() {
method setId (line 59) | public Customer setId(int id) {
method getName (line 64) | public String getName() {
method setName (line 68) | public Customer setName(String name) {
method equals (line 73) | @Override
method hashCode (line 82) | @Override
method happyCaseApply (line 89) | @Test
method happyCaseLoad (line 151) | @Test
method happyCaseContains (line 212) | @Test
method createInsertChange (line 260) | private final <T> ActorStateChange createInsertChange(String name, T v...
method createUpdateChange (line 264) | private final <T> ActorStateChange createUpdateChange(String name, T v...
method createDeleteChange (line 268) | private final ActorStateChange createDeleteChange(String name) {
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/DefaultActorFactoryTest.java
class DefaultActorFactoryTest (line 27) | public class DefaultActorFactoryTest {
class MyActor (line 32) | static class MyActor extends AbstractActor {
method MyActor (line 38) | public MyActor(ActorRuntimeContext<MyActor> context, ActorId actorId) {
class InvalidActor (line 48) | static class InvalidActor extends AbstractActor {
method InvalidActor (line 49) | InvalidActor() {
method happyActor (line 57) | @Test
method noValidConstructor (line 71) | @Test
method createActorRuntimeContext (line 81) | private static <T extends AbstractActor> ActorRuntimeContext<T> create...
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/DerivedActorTest.java
class DerivedActorTest (line 34) | public class DerivedActorTest {
type MyActor (line 43) | public interface MyActor {
method onlyImplementedInParentStringInStringOut (line 47) | Mono<String> onlyImplementedInParentStringInStringOut(String input);
method onlyImplementedInParentStringInBooleanOut (line 48) | Mono<Boolean> onlyImplementedInParentStringInBooleanOut(String input);
method onlyImplementedInParentStringInVoidOut (line 49) | Mono<Void> onlyImplementedInParentStringInVoidOut(String input);
method onlyImplementedInParentClassInClassOut (line 50) | Mono<MyData> onlyImplementedInParentClassInClassOut(MyData input);
method methodReturningVoidInvoked (line 53) | boolean methodReturningVoidInvoked();
method stringInStringOut (line 57) | Mono<String> stringInStringOut(String input);
method stringInBooleanOut (line 58) | Mono<Boolean> stringInBooleanOut(String input);
method stringInVoidOut (line 59) | Mono<Void> stringInVoidOut(String input);
method stringInVoidOutIntentionallyThrows (line 60) | Mono<Void> stringInVoidOutIntentionallyThrows(String input);
method classInClassOut (line 61) | Mono<MyData> classInClassOut(MyData input);
class ActorParent (line 64) | @ActorType(name = "MyActor")
method ActorParent (line 70) | public ActorParent(ActorRuntimeContext runtimeContext, ActorId id) {
method onlyImplementedInParentStringInStringOut (line 77) | @Override
method onlyImplementedInParentStringInBooleanOut (line 84) | @Override
method onlyImplementedInParentStringInVoidOut (line 95) | @Override
method onlyImplementedInParentClassInClassOut (line 103) | @Override
method methodReturningVoidInvoked (line 112) | @Override
method stringInStringOut (line 117) | @Override
method stringInBooleanOut (line 128) | @Override
method stringInVoidOut (line 138) | @Override
method stringInVoidOutIntentionallyThrows (line 146) | @Override
method classInClassOut (line 155) | @Override
class ActorChild (line 166) | public static class ActorChild extends ActorParent implements MyActor {
method ActorChild (line 170) | public ActorChild(ActorRuntimeContext runtimeContext, ActorId id) {
method stringInStringOut (line 176) | @Override
method stringInBooleanOut (line 184) | @Override
method classInClassOut (line 195) | @Override
class MyData (line 205) | static class MyData {
method MyData (line 209) | public MyData() {
method MyData (line 214) | public MyData(String name, int num) {
method getName (line 219) | public String getName() {
method getNum (line 223) | public int getNum() {
method stringInStringOut (line 228) | @Test
method stringInBooleanOut (line 238) | @Test
method stringInVoidOut (line 252) | @Test
method stringInVoidOutIntentionallyThrows (line 269) | @Test
method classInClassOut (line 279) | @Test
method testInheritedActorMethods (line 296) | @Test
method newActorId (line 331) | private static ActorId newActorId() {
method createActorProxyForActorChild (line 335) | private ActorProxy createActorProxyForActorChild() {
method createContext (line 361) | private static <T extends AbstractActor> ActorRuntimeContext createCon...
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/JavaSerializer.java
class JavaSerializer (line 28) | public class JavaSerializer implements DaprObjectSerializer {
method serialize (line 33) | @Override
method deserialize (line 47) | @Override
method getContentType (line 63) | @Override
FILE: sdk-actors/src/test/java/io/dapr/actors/runtime/ThrowFromPreAndPostActorMethodsTest.java
class ThrowFromPreAndPostActorMethodsTest (line 33) | public class ThrowFromPreAndPostActorMethodsTest {
type MyActor (line 43) | public interface MyActor {
method stringInBooleanOut (line 44) | Mono<Boolean> stringInBooleanOut(String input);
class ActorParent (line 47) | @ActorType(name = "MyActor")
method ActorParent (line 53) | public ActorParent(ActorRuntimeContext runtimeContext, ActorId id) {
method onPreActorMethodInternal (line 60) | @Override
method stringInBooleanOut (line 67) | @Override
class ActorChild (line 78) | public static class ActorChild extends ActorParent implements MyActor {
method ActorChild (line 82) | public ActorChild(ActorRuntimeContext runtimeContext, ActorId id) {
method stringInBooleanOut (line 88) | @Override
class MyData (line 100) | static class MyData {
method MyData (line 104) | public MyData() {
method MyData (line 109) | public MyData(String name, int num) {
method getName (line 114) | public String getName() {
method getNum (line 118) | public int getNum() {
method stringInBooleanOut1 (line 125) | @Test
method stringInBooleanOut2 (line 136) | @Test
method newActorId (line 145) | private static ActorId newActorId() {
method createActorProxyForActorChild (line 149) | private ActorProxy createActorProxyForActorChild() {
method createContext (line 175) | private static <T extends AbstractActor> ActorRuntimeContext createCon...
FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprAutoConfiguration.java
class DaprAutoConfiguration (line 23) | @Configuration
FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprBeanPostProcessor.java
class DaprBeanPostProcessor (line 41) | @Component
method DaprBeanPostProcessor (line 47) | DaprBeanPostProcessor(ConfigurableBeanFactory beanFactory) {
method postProcessBeforeInitialization (line 54) | @Override
method postProcessAfterInitialization (line 68) | @Override
method subscribeToTopics (line 79) | private static void subscribeToTopics(
method getAllCompleteRoutesForPost (line 139) | private static List<String> getAllCompleteRoutesForPost(Class clazz, M...
method getRoutesForPost (line 162) | private static String[] getRoutesForPost(Method method, String topicNa...
method confirmLeadingSlash (line 187) | private static String confirmLeadingSlash(String path) {
FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprController.java
class DaprController (line 32) | @RestController
method healthz (line 43) | @GetMapping(path = "/healthz")
method daprConfig (line 52) | @GetMapping(path = "/dapr/config", produces = MediaType.APPLICATION_JS...
method daprSubscribe (line 62) | @GetMapping(path = "/dapr/subscribe", produces = MediaType.APPLICATION...
method deactivateActor (line 73) | @DeleteMapping(path = "/actors/{type}/{id}")
method invokeActorMethod (line 87) | @PutMapping(path = "/actors/{type}/{id}/method/{method}")
method invokeActorTimer (line 103) | @PutMapping(path = "/actors/{type}/{id}/method/timer/{timer}")
method invokeActorReminder (line 119) | @PutMapping(path = "/actors/{type}/{id}/method/remind/{reminder}")
FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprRuntime.java
class DaprRuntime (line 24) | class DaprRuntime {
method DaprRuntime (line 40) | private DaprRuntime() {
method getInstance (line 48) | public static DaprRuntime getInstance() {
method addSubscribedTopic (line 70) | public synchronized void addSubscribedTopic(String pubSubName,
method addSubscribedTopic (line 90) | public synchronized void addSubscribedTopic(String pubSubName,
method addSubscribedTopic (line 112) | public synchronized void addSubscribedTopic(String pubSubName,
method addSubscribedTopic (line 135) | public synchronized void addSubscribedTopic(String pubSubName,
method listSubscribedTopics (line 170) | public synchronized DaprTopicSubscription[] listSubscribedTopics() {
FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprSubscriptionBuilder.java
class DaprSubscriptionBuilder (line 23) | class DaprSubscriptionBuilder {
method DaprSubscriptionBuilder (line 40) | DaprSubscriptionBuilder(String pubsubName, String topic) {
method setDefaultPath (line 55) | DaprSubscriptionBuilder setDefaultPath(String path) {
method setDeadLetterTopic (line 74) | DaprSubscriptionBuilder setDeadLetterTopic(String deadLetterTopic) {
method addRule (line 95) | public DaprSubscriptionBuilder addRule(String path, String match, int ...
method setMetadata (line 112) | public DaprSubscriptionBuilder setMetadata(Map<String, String> metadat...
method setBulkSubscribe (line 123) | public DaprSubscriptionBuilder setBulkSubscribe(DaprTopicBulkSubscribe...
method build (line 133) | public DaprTopicSubscription build() {
class TopicRule (line 151) | private static class TopicRule {
method TopicRule (line 157) | public TopicRule(String path, String match, int priority) {
method getPriority (line 163) | public int getPriority() {
FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprTopicBulkSubscribe.java
class DaprTopicBulkSubscribe (line 16) | class DaprTopicBulkSubscribe {
method DaprTopicBulkSubscribe (line 21) | DaprTopicBulkSubscribe(boolean enabled) {
method isEnabled (line 25) | public boolean isEnabled() {
method getMaxAwaitDurationMs (line 29) | public Integer getMaxAwaitDurationMs() {
method getMaxMessagesCount (line 33) | public Integer getMaxMessagesCount() {
method setEnabled (line 37) | public void setEnabled(boolean enabled) {
method setMaxAwaitDurationMs (line 41) | public void setMaxAwaitDurationMs(int maxAwaitDurationMs) {
method setMaxMessagesCount (line 48) | public void setMaxMessagesCount(int maxMessagesCount) {
FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprTopicKey.java
class DaprTopicKey (line 18) | class DaprTopicKey {
method DaprTopicKey (line 22) | DaprTopicKey(String pubsubName, String topic) {
method getPubsubName (line 27) | public String getPubsubName() {
method getTopic (line 31) | public String getTopic() {
method equals (line 35) | @Override
method hashCode (line 47) | @Override
FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprTopicRoutes.java
class DaprTopicRoutes (line 21) | class DaprTopicRoutes {
method DaprTopicRoutes (line 26) | DaprTopicRoutes(List<DaprTopicRule> rules, String defaultRoute) {
method getRules (line 31) | public List<DaprTopicRule> getRules() {
method getDefaultRoute (line 35) | public String getDefaultRoute() {
FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprTopicRule.java
class DaprTopicRule (line 18) | class DaprTopicRule {
method DaprTopicRule (line 22) | DaprTopicRule(String match, String path) {
method getMatch (line 27) | public String getMatch() {
method getPath (line 31) | public String getPath() {
method equals (line 35) | @Override
method hashCode (line 47) | @Override
FILE: sdk-springboot/src/main/java/io/dapr/springboot/DaprTopicSubscription.java
class DaprTopicSubscription (line 22) | class DaprTopicSubscription {
method DaprTopicSubscription (line 38) | DaprTopicSubscription(String pubsubName, String topic, String route, M...
method DaprTopicSubscription (line 50) | DaprTopicSubscription(String pubsubName, String topic, String route, S...
method DaprTopicSubscription (line 63) | DaprTopicSubscription(String pubsubName, String topic, String route,
method DaprTopicSubscription (line 77) | DaprTopicSubscription(String pubsubName, String topic, String route, S...
method DaprTopicSubscription (line 90) | DaprTopicSubscription(String pubsubName, String topic, String route, D...
method DaprTopicSubscription (line 104) | DaprTopicSubscription(String pubsubName, String topic, String route, S...
method DaprTopicSubscription (line 119) | DaprTopicSubscription(String pubsubName, String topic, String route,
method DaprTopicSubscription (line 137) | DaprTopicSubscription(String pubsubName, String topic, String route, S...
method getPubsubName (line 150) | public String getPubsubName() {
method getTopic (line 154) | public String getTopic() {
method getRoute (line 158) | public String getRoute() {
method getRoutes (line 162) | public DaprTopicRoutes getRoutes() {
method getDeadLetterTopic (line 166) | public String getDeadLetterTopic() {
method getMetadata (line 170) | public Map<String, String> getMetadata() {
method getBulkSubscribe (line 174) | public DaprTopicBulkSubscribe getBulkSubscribe() {
FILE: sdk-springboot/src/test/java/io/dapr/springboot/DaprBeanPostProcessorSubscribeTest.java
class DaprBeanPostProcessorSubscribeTest (line 25) | public class DaprBeanPostProcessorSubscribeTest {
method testPostProcessBeforeInitialization (line 27) | @Test
method assertTopicSubscriptionEquality (line 57) | private void assertTopicSubscriptionEquality(DaprTopicSubscription s1,...
method getTestDaprTopicSubscriptions (line 71) | private DaprTopicSubscription[] getTestDaprTopicSubscriptions() {
method getDaprRuntime (line 95) | private DaprRuntime getDaprRuntime() {
FILE: sdk-springboot/src/test/java/io/dapr/springboot/DaprBeanPostProcessorTest.java
class DaprBeanPostProcessorTest (line 27) | public class DaprBeanPostProcessorTest {
method routesTester (line 30) | public static Stream<Arguments> routesTester() {
method testAllPostRoutesGeneration (line 47) | @ParameterizedTest
method testingListForOrderAgnosticEquality (line 65) | private boolean testingListForOrderAgnosticEquality(List<?> first, Lis...
FILE: sdk-springboot/src/test/java/io/dapr/springboot/DaprRuntimeTest.java
class DaprRuntimeTest (line 12) | public class DaprRuntimeTest {
method testPubsubDefaultPathDuplicateRegistration (line 14) | @Test
method testPubsubDefaultPathDifferentRegistration (line 47) | @Test
FILE: sdk-springboot/src/test/java/io/dapr/springboot/DaprTopicBulkSubscribeTest.java
class DaprTopicBulkSubscribeTest (line 22) | public class DaprTopicBulkSubscribeTest {
method testGettersAndSetters (line 23) | @Test
method testSetMaxMessagesCount (line 37) | @Test
method testSetMaxAwaitDurationMs (line 58) | @
Copy disabled (too large)
Download .json
Condensed preview — 1811 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (24,914K chars).
[
{
"path": ".codecov.yaml",
"chars": 146,
"preview": "ignore:\n - examples\n - sdk-tests\n - sdk-autogen\ncomment:\n # Delete old comment and post new one for new coverage inf"
},
{
"path": ".github/ISSUE_TEMPLATE/bug_report.md",
"chars": 689,
"preview": "---\nname: Bug report\nabout: Report a bug in java-sdk\ntitle: ''\nlabels: kind/bug\nassignees: ''\n\n---\n## Expected Behavior\n"
},
{
"path": ".github/ISSUE_TEMPLATE/discussion.md",
"chars": 118,
"preview": "---\nname: Feature Request\nabout: Start a discussion for java-sdk\ntitle: ''\nlabels: kind/discussion\nassignees: ''\n\n---\n"
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request.md",
"chars": 479,
"preview": "---\nname: Feature Request\nabout: Create a Feature Request for java-sdk\ntitle: ''\nlabels: kind/enhancement\nassignees: ''\n"
},
{
"path": ".github/ISSUE_TEMPLATE/proposal.md",
"chars": 133,
"preview": "---\nname: Proposal\nabout: Create a proposal for java-sdk\ntitle: ''\nlabels: kind/proposal\nassignees: ''\n\n---\n## Describe "
},
{
"path": ".github/ISSUE_TEMPLATE/question.md",
"chars": 133,
"preview": "---\nname: Question\nabout: Ask a question about java-sdk\ntitle: ''\nlabels: kind/question\nassignees: ''\n\n---\n## Ask your q"
},
{
"path": ".github/dependabot.yml",
"chars": 891,
"preview": "version: 2\nupdates:\n - package-ecosystem: \"maven\"\n directory: \"/\"\n schedule:\n interval: \"weekly\"\n target-"
},
{
"path": ".github/holopin.yml",
"chars": 130,
"preview": "organization: dapr\ndefaultSticker: clrqfdv4x24910fl5n4iwu5oa\nstickers:\n -\n id: clrqfdv4x24910fl5n4iwu5oa\n alias: "
},
{
"path": ".github/pull_request_template.md",
"chars": 474,
"preview": "# Description\n\n_Please explain the changes you've made_\n\n## Issue reference\n\nWe strive to have all PR being opened based"
},
{
"path": ".github/scripts/automerge.py",
"chars": 2319,
"preview": "# Copyright 2021 The Dapr Authors\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use th"
},
{
"path": ".github/scripts/create-release.sh",
"chars": 3939,
"preview": "#!/usr/bin/env bash\n#\n# Copyright 2024 The Dapr Authors\n# Licensed under the Apache License, Version 2.0 (the \"License\")"
},
{
"path": ".github/scripts/update_docs.sh",
"chars": 892,
"preview": "#!/bin/bash\n\nset -uex\n\nDAPR_JAVA_SDK_VERSION=$1\n\n# Alpha artifacts of the sdk tracks the regular SDK minor and patch ver"
},
{
"path": ".github/scripts/update_sdk_version.sh",
"chars": 1295,
"preview": "#!/bin/bash\n\nset -uex\n\nDAPR_JAVA_SDK_VERSION=$1\n\n# Alpha artifacts of the sdk tracks the regular SDK minor and patch ver"
},
{
"path": ".github/workflows/automerge-bot.yml",
"chars": 1093,
"preview": "# Copyright 2021 The Dapr Authors\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use th"
},
{
"path": ".github/workflows/backport.yaml",
"chars": 1111,
"preview": "#\n# Copyright 2026 The Dapr Authors\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use "
},
{
"path": ".github/workflows/build.yml",
"chars": 10260,
"preview": "name: Build\n\non:\n workflow_dispatch:\n push:\n branches:\n - master\n - release-*\n tags:\n - v*\n\n pul"
},
{
"path": ".github/workflows/create-release.yml",
"chars": 2687,
"preview": "#\n# Copyright 2024 The Dapr Authors\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use "
},
{
"path": ".github/workflows/dapr_bot.yml",
"chars": 1028,
"preview": "name: dapr-bot\n\non:\n issue_comment: {types: created}\n\njobs:\n daprbot:\n name: bot-processor\n runs-on: ubuntu-late"
},
{
"path": ".github/workflows/fossa.yml",
"chars": 1468,
"preview": "#\n# Copyright 2021 The Dapr Authors\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use "
},
{
"path": ".github/workflows/validate-docs.yml",
"chars": 694,
"preview": "name: Validate Javadocs Generation\n\non:\n workflow_dispatch:\n push:\n branches:\n - master\n - release-*\n "
},
{
"path": ".github/workflows/validate.yml",
"chars": 7017,
"preview": "# Copyright 2021 The Dapr Authors\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use th"
},
{
"path": ".gitignore",
"chars": 618,
"preview": "# IDE generated files and directories\n*.iml\n.idea/\n.run/\n.vs/\n.vscode/\n.devcontainer/\n\n# Output folders\n**/target/\n\n# Co"
},
{
"path": ".gitmodules",
"chars": 0,
"preview": ""
},
{
"path": ".java_header",
"chars": 632,
"preview": "^/\\*$\n^ \\* Copyright \\d\\d\\d\\d The Dapr Authors$\n^ \\* Licensed under the Apache License, Version 2.0 \\(the \"License\"\\)\\;$"
},
{
"path": ".mvn/wrapper/maven-wrapper.properties",
"chars": 1063,
"preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements. See the NOTICE f"
},
{
"path": ".sdkmanrc",
"chars": 124,
"preview": "# Enable auto-env through the sdkman_auto_env config\n# Add key=value pairs of SDKs to use below\njava=17.0.11-tem\nmaven=3"
},
{
"path": "CODEOWNERS",
"chars": 122,
"preview": "# These owners are the maintainers and approvers of this repo\n* @dapr/maintainers-java-sdk @dapr/approvers-java-sd"
},
{
"path": "CONTRIBUTING.md",
"chars": 9855,
"preview": "# Contribution Guidelines\n\nThank you for your interest in Dapr!\n\nThis project welcomes contributions and suggestions. Mo"
},
{
"path": "LICENSE",
"chars": 11412,
"preview": "\n Apache License\n Version 2.0, January 2004\n "
},
{
"path": "README.md",
"chars": 16572,
"preview": "# Dapr SDK for Java\n\n[;\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DaprKeyValueAdapterResolver.java",
"chars": 4007,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DaprKeyValueTemplate.java",
"chars": 14241,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/DefaultIdentifierGenerator.java",
"chars": 3645,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/GeneratingIdAccessor.java",
"chars": 2692,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/KeyValueAdapterResolver.java",
"chars": 757,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/MySQLDaprKeyValueAdapter.java",
"chars": 7801,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/PostgreSQLDaprKeyValueAdapter.java",
"chars": 7674,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/DaprRepositoriesRegistrar.java",
"chars": 1287,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/DaprRepositoryConfigurationExtension.java",
"chars": 1289,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/config/EnableDaprRepositories.java",
"chars": 5585,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicate.java",
"chars": 2296,
"preview": "/*\n * Copyright 2021 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicateBuilder.java",
"chars": 5509,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-6-data/src/main/java/io/dapr/spring6/data/repository/query/DaprPredicateQueryCreator.java",
"chars": 4160,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-bom/pom.xml",
"chars": 6532,
"preview": "<project\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xmlns=\"http://maven.apache.org/POM/4.0.0\"\n xsi"
},
{
"path": "dapr-spring/dapr-spring-boot-4-autoconfigure/pom.xml",
"chars": 4823,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n xmlns:xsi=\"http://www"
},
{
"path": "dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/java/io/dapr/spring/boot4/autoconfigure/client/DaprClientSB4AutoConfiguration.java",
"chars": 6955,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/java/io/dapr/spring/boot4/autoconfigure/client/DaprJackson3SB4AutoConfiguration.java",
"chars": 1876,
"preview": "/*\n * Copyright 2025 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/java/io/dapr/spring/boot4/autoconfigure/client/Jackson3ObjectSerializer.java",
"chars": 3421,
"preview": "/*\n * Copyright 2025 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-4-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports",
"chars": 148,
"preview": "io.dapr.spring.boot4.autoconfigure.client.DaprJackson3SB4AutoConfiguration\nio.dapr.spring.boot4.autoconfigure.client.Dap"
},
{
"path": "dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/DaprClientAutoConfigurationTest.java",
"chars": 6809,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/DaprJackson3SB4AutoConfigurationTest.java",
"chars": 3508,
"preview": "/*\n * Copyright 2025 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/DaprWorkflowsRegistrationTests.java",
"chars": 1532,
"preview": "package io.dapr.spring.boot4.autoconfigure.client;\n\nimport io.dapr.spring.boot4.autoconfigure.client.workflows.TestActiv"
},
{
"path": "dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/Jackson3ObjectSerializerTest.java",
"chars": 14901,
"preview": "/*\n * Copyright 2025 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/WorkflowTestApplication.java",
"chars": 722,
"preview": "package io.dapr.spring.boot4.autoconfigure.client;\n\nimport io.dapr.spring.workflows.config.EnableDaprWorkflows;\nimport o"
},
{
"path": "dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/workflows/TestActivity.java",
"chars": 537,
"preview": "package io.dapr.spring.boot4.autoconfigure.client.workflows;\n\nimport io.dapr.workflows.WorkflowActivity;\nimport io.dapr."
},
{
"path": "dapr-spring/dapr-spring-boot-4-autoconfigure/src/test/java/io/dapr/spring/boot4/autoconfigure/client/workflows/TestWorkflow.java",
"chars": 570,
"preview": "package io.dapr.spring.boot4.autoconfigure.client.workflows;\n\nimport io.dapr.workflows.Workflow;\nimport io.dapr.workflow"
},
{
"path": "dapr-spring/dapr-spring-boot-autoconfigure/pom.xml",
"chars": 2876,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://mave"
},
{
"path": "dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfiguration.java",
"chars": 6600,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports",
"chars": 69,
"preview": "io.dapr.spring.boot.autoconfigure.client.DaprClientAutoConfiguration\n"
},
{
"path": "dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfigurationTest.java",
"chars": 6515,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientObservationAutoConfigurationTest.java",
"chars": 7137,
"preview": "/*\n * Copyright 2025 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprWorkflowsRegistrationTests.java",
"chars": 1526,
"preview": "package io.dapr.spring.boot.autoconfigure.client;\n\nimport io.dapr.spring.boot.autoconfigure.client.workflows.TestActivit"
},
{
"path": "dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/WorkflowTestApplication.java",
"chars": 721,
"preview": "package io.dapr.spring.boot.autoconfigure.client;\n\nimport io.dapr.spring.workflows.config.EnableDaprWorkflows;\nimport or"
},
{
"path": "dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/workflows/TestActivity.java",
"chars": 536,
"preview": "package io.dapr.spring.boot.autoconfigure.client.workflows;\n\nimport io.dapr.workflows.WorkflowActivity;\nimport io.dapr.w"
},
{
"path": "dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/workflows/TestWorkflow.java",
"chars": 569,
"preview": "package io.dapr.spring.boot.autoconfigure.client.workflows;\n\nimport io.dapr.workflows.Workflow;\nimport io.dapr.workflows"
},
{
"path": "dapr-spring/dapr-spring-boot-observation/pom.xml",
"chars": 2336,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n xmlns:xsi=\"http://www"
},
{
"path": "dapr-spring/dapr-spring-boot-observation/src/main/java/io/dapr/spring/observation/client/ObservationDaprClient.java",
"chars": 34123,
"preview": "/*\n * Copyright 2025 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-observation/src/main/java/io/dapr/spring/observation/client/ObservationDaprWorkflowClient.java",
"chars": 14256,
"preview": "/*\n * Copyright 2025 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-observation/src/main/java/io/dapr/spring/observation/client/TraceContextFormat.java",
"chars": 2031,
"preview": "/*\n * Copyright 2025 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-observation/src/test/java/io/dapr/spring/observation/client/ObservationDaprClientTest.java",
"chars": 14768,
"preview": "/*\n * Copyright 2025 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-observation/src/test/java/io/dapr/spring/observation/client/ObservationDaprWorkflowClientTest.java",
"chars": 9526,
"preview": "/*\n * Copyright 2025 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-properties/pom.xml",
"chars": 2165,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n xmlns:xsi=\"http://www"
},
{
"path": "dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/client/ClientPropertiesDaprConnectionDetails.java",
"chars": 1459,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/client/DaprClientProperties.java",
"chars": 2520,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/client/DaprConnectionDetails.java",
"chars": 926,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/pubsub/DaprPubSubProperties.java",
"chars": 1309,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-properties/src/main/java/io/dapr/spring/boot/properties/statestore/DaprStateStoreProperties.java",
"chars": 1250,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-properties/src/test/java/io/dapr/spring/boot/properties/client/DaprClientPropertiesTest.java",
"chars": 4467,
"preview": "/*\n * Copyright 2025 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-properties/src/test/java/io/dapr/spring/boot/properties/pubsub/DaprPubSubPropertiesTest.java",
"chars": 2258,
"preview": "/*\n * Copyright 2025 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-properties/src/test/java/io/dapr/spring/boot/properties/statestore/DaprStateStorePropertiesTest.java",
"chars": 2285,
"preview": "/*\n * Copyright 2021 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-4-starter/pom.xml",
"chars": 2362,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://mave"
},
{
"path": "dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-4-starter-test/pom.xml",
"chars": 2364,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://mave"
},
{
"path": "dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter/pom.xml",
"chars": 1671,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://mave"
},
{
"path": "dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter-test/pom.xml",
"chars": 1789,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://mave"
},
{
"path": "dapr-spring/dapr-spring-boot-tests/pom.xml",
"chars": 1620,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://mave"
},
{
"path": "dapr-spring/dapr-spring-boot-tests/src/main/java/io/dapr/spring/boot/testcontainers/service/connection/DaprContainerConnectionDetailsFactory.java",
"chars": 2189,
"preview": "/*\n * Copyright 2021 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-boot-tests/src/main/resources/META-INF/spring.factories",
"chars": 177,
"preview": "org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\\\nio.dapr.spring.boot.testcontainers."
},
{
"path": "dapr-spring/dapr-spring-data/pom.xml",
"chars": 1263,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n xmlns:xsi=\"http://www"
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/AbstractDaprKeyValueAdapter.java",
"chars": 4337,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/DaprKeyValueAdapterResolver.java",
"chars": 4006,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/DaprKeyValueTemplate.java",
"chars": 14240,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/DefaultIdentifierGenerator.java",
"chars": 3644,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/GeneratingIdAccessor.java",
"chars": 2691,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/KeyValueAdapterResolver.java",
"chars": 756,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/MySQLDaprKeyValueAdapter.java",
"chars": 7800,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/PostgreSQLDaprKeyValueAdapter.java",
"chars": 7672,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/config/DaprRepositoriesRegistrar.java",
"chars": 1286,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/config/DaprRepositoryConfigurationExtension.java",
"chars": 1288,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/config/EnableDaprRepositories.java",
"chars": 5510,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/query/DaprPredicate.java",
"chars": 2298,
"preview": "/*\n * Copyright 2021 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/query/DaprPredicateBuilder.java",
"chars": 5448,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-data/src/main/java/io/dapr/spring/data/repository/query/DaprPredicateQueryCreator.java",
"chars": 4159,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-messaging/pom.xml",
"chars": 1122,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://mave"
},
{
"path": "dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/DaprMessagingOperations.java",
"chars": 2080,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/DaprMessagingTemplate.java",
"chars": 6565,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/observation/DaprMessagingObservationConvention.java",
"chars": 1271,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/observation/DaprMessagingObservationDocumentation.java",
"chars": 1902,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/observation/DaprMessagingSenderContext.java",
"chars": 2761,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-messaging/src/main/java/io/dapr/spring/messaging/observation/DefaultDaprMessagingObservationConvention.java",
"chars": 1640,
"preview": "/*\n * Copyright 2024 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-workflows/pom.xml",
"chars": 1257,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://mave"
},
{
"path": "dapr-spring/dapr-spring-workflows/src/main/java/io/dapr/spring/workflows/config/DaprWorkflowsConfiguration.java",
"chars": 3966,
"preview": "/*\n * Copyright 2021 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-workflows/src/main/java/io/dapr/spring/workflows/config/EnableDaprWorkflows.java",
"chars": 993,
"preview": "/*\n * Copyright 2021 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-workflows/src/main/java/io/dapr/spring/workflows/config/annotations/ActivityMetadata.java",
"chars": 1077,
"preview": "/*\n * Copyright 2026 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/dapr-spring-workflows/src/main/java/io/dapr/spring/workflows/config/annotations/WorkflowMetadata.java",
"chars": 1498,
"preview": "/*\n * Copyright 2026 The Dapr Authors\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not "
},
{
"path": "dapr-spring/pom.xml",
"chars": 4749,
"preview": "<project\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xmlns=\"http://maven.apache.org/POM/4.0.0\"\n xsi"
},
{
"path": "dapr-spring/spotbugs-exclude.xml",
"chars": 257,
"preview": "<FindBugsFilter>\n <Match>\n <Package name=\"~io\\.dapr\\.spring.*\"/>\n <Bug pattern=\"EI_EXPOSE_REP\"/>\n </"
},
{
"path": "docs/allclasses-index.html",
"chars": 505114,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>All Classes and Interfaces (dapr-sdk-p"
},
{
"path": "docs/allpackages-index.html",
"chars": 12121,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>All Packages (dapr-sdk-parent 1.17.2 A"
},
{
"path": "docs/constant-values.html",
"chars": 524588,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Constant Field Values (dapr-sdk-parent"
},
{
"path": "docs/css/maven-base.css",
"chars": 3299,
"preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the N"
},
{
"path": "docs/css/maven-theme.css",
"chars": 3678,
"preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the N"
},
{
"path": "docs/css/print.css",
"chars": 1050,
"preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the N"
},
{
"path": "docs/css/site.css",
"chars": 53,
"preview": "/* You can override this file with your own styles */"
},
{
"path": "docs/dapr-sdk-springboot/css/maven-base.css",
"chars": 3299,
"preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the N"
},
{
"path": "docs/dapr-sdk-springboot/css/maven-theme.css",
"chars": 3678,
"preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the N"
},
{
"path": "docs/dapr-sdk-springboot/css/print.css",
"chars": 1050,
"preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the N"
},
{
"path": "docs/dapr-sdk-springboot/css/site.css",
"chars": 53,
"preview": "/* You can override this file with your own styles */"
},
{
"path": "docs/dapr-sdk-workflows/allclasses-index.html",
"chars": 14774,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>All Classes and Interfaces (dapr-sdk-w"
},
{
"path": "docs/dapr-sdk-workflows/allpackages-index.html",
"chars": 3315,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>All Packages (dapr-sdk-workflows 1.17."
},
{
"path": "docs/dapr-sdk-workflows/css/maven-base.css",
"chars": 3299,
"preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the N"
},
{
"path": "docs/dapr-sdk-workflows/css/maven-theme.css",
"chars": 3678,
"preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the N"
},
{
"path": "docs/dapr-sdk-workflows/css/print.css",
"chars": 1050,
"preview": "/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the N"
},
{
"path": "docs/dapr-sdk-workflows/css/site.css",
"chars": 53,
"preview": "/* You can override this file with your own styles */"
},
{
"path": "docs/dapr-sdk-workflows/element-list",
"chars": 96,
"preview": "io.dapr.workflows\nio.dapr.workflows.client\nio.dapr.workflows.internal\nio.dapr.workflows.runtime\n"
},
{
"path": "docs/dapr-sdk-workflows/help-doc.html",
"chars": 9688,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>API Help (dapr-sdk-workflows 1.17.2 AP"
},
{
"path": "docs/dapr-sdk-workflows/index-all.html",
"chars": 120747,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Index (dapr-sdk-workflows 1.17.2 API)<"
},
{
"path": "docs/dapr-sdk-workflows/index.html",
"chars": 3655,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Overview (dapr-sdk-workflows 1.17.2 AP"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/Workflow.html",
"chars": 7911,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Workflow (dapr-sdk-workflows 1.17.2 AP"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/WorkflowContext.html",
"chars": 89363,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>WorkflowContext (dapr-sdk-workflows 1."
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/WorkflowStub.html",
"chars": 6665,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>WorkflowStub (dapr-sdk-workflows 1.17."
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/class-use/Workflow.html",
"chars": 18482,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Interface io.dapr.workflows.Wo"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/class-use/WorkflowContext.html",
"chars": 6100,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Interface io.dapr.workflows.Wo"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/class-use/WorkflowStub.html",
"chars": 4378,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Interface io.dapr.workflows.Wo"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/client/DaprWorkflowClient.html",
"chars": 69456,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>DaprWorkflowClient (dapr-sdk-workflows"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/client/WorkflowFailureDetails.html",
"chars": 11566,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>WorkflowFailureDetails (dapr-sdk-workf"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/client/WorkflowInstanceStatus.html",
"chars": 28627,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>WorkflowInstanceStatus (dapr-sdk-workf"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/DaprWorkflowClient.html",
"chars": 2915,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Class io.dapr.workflows.client"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/WorkflowFailureDetails.html",
"chars": 11299,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Interface io.dapr.workflows.cl"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/WorkflowInstanceStatus.html",
"chars": 9378,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Interface io.dapr.workflows.cl"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/client/package-summary.html",
"chars": 7491,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>io.dapr.workflows.client (dapr-sdk-wor"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/client/package-tree.html",
"chars": 5383,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>io.dapr.workflows.client Class Hierarc"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/client/package-use.html",
"chars": 7788,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Package io.dapr.workflows.clie"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/internal/ApiTokenClientInterceptor.html",
"chars": 11114,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>ApiTokenClientInterceptor (dapr-sdk-wo"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/internal/class-use/ApiTokenClientInterceptor.html",
"chars": 2969,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Class io.dapr.workflows.intern"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-summary.html",
"chars": 4342,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>io.dapr.workflows.internal (dapr-sdk-w"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-tree.html",
"chars": 3313,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>io.dapr.workflows.internal Class Hiera"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-use.html",
"chars": 2710,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Package io.dapr.workflows.inte"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/package-summary.html",
"chars": 7936,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>io.dapr.workflows (dapr-sdk-workflows "
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/package-tree.html",
"chars": 4753,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>io.dapr.workflows Class Hierarchy (dap"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/package-use.html",
"chars": 7856,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Package io.dapr.workflows (dap"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntime.html",
"chars": 13973,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>WorkflowRuntime (dapr-sdk-workflows 1."
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntimeBuilder.html",
"chars": 39556,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>WorkflowRuntimeBuilder (dapr-sdk-workf"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntime.html",
"chars": 4557,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Class io.dapr.workflows.runtim"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntimeBuilder.html",
"chars": 15065,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Class io.dapr.workflows.runtim"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-summary.html",
"chars": 8028,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>io.dapr.workflows.runtime (dapr-sdk-wo"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-tree.html",
"chars": 6267,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>io.dapr.workflows.runtime Class Hierar"
},
{
"path": "docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-use.html",
"chars": 4771,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Package io.dapr.workflows.runt"
},
{
"path": "docs/dapr-sdk-workflows/jquery-ui.overrides.css",
"chars": 1498,
"preview": "/*\n * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.\n * DO NOT ALTER OR REMOVE COPYRIGHT N"
},
{
"path": "docs/dapr-sdk-workflows/legal/ADDITIONAL_LICENSE_INFO",
"chars": 2114,
"preview": " ADDITIONAL INFORMATION ABOUT LICENSING\n\nCertain files distributed by Oracle America, Inc. and/or i"
},
{
"path": "docs/dapr-sdk-workflows/legal/ASSEMBLY_EXCEPTION",
"chars": 1522,
"preview": "\nOPENJDK ASSEMBLY EXCEPTION\n\nThe OpenJDK source code made available by Oracle America, Inc. (Oracle) at\nopenjdk.java.net"
},
{
"path": "docs/dapr-sdk-workflows/legal/LICENSE",
"chars": 19274,
"preview": "The GNU General Public License (GPL)\n\nVersion 2, June 1991\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\n51 F"
},
{
"path": "docs/dapr-sdk-workflows/legal/jquery.md",
"chars": 1157,
"preview": "## jQuery v3.7.1\n\n### jQuery License\n```\njQuery v 3.7.1\nCopyright OpenJS Foundation and other contributors, https://open"
},
{
"path": "docs/dapr-sdk-workflows/legal/jqueryUI.md",
"chars": 1871,
"preview": "## jQuery UI v1.14.1\n\n### jQuery UI License\n```\nCopyright OpenJS Foundation and other contributors, https://openjsf.org/"
},
{
"path": "docs/dapr-sdk-workflows/member-search-index.js",
"chars": 29701,
"preview": "memberSearchIndex = [{\"p\":\"io.dapr.workflows.runtime\",\"c\":\"DefaultWorkflowContext\",\"l\":\"allOf(List<Task<V>>)\",\"u\":\"allOf"
},
{
"path": "docs/dapr-sdk-workflows/module-search-index.js",
"chars": 45,
"preview": "moduleSearchIndex = [];updateSearchResults();"
},
{
"path": "docs/dapr-sdk-workflows/overview-summary.html",
"chars": 838,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>dapr-sdk-workflows 1.17.2 API</title>\n"
},
{
"path": "docs/dapr-sdk-workflows/overview-tree.html",
"chars": 11179,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Class Hierarchy (dapr-sdk-workflows 1."
},
{
"path": "docs/dapr-sdk-workflows/package-search-index.js",
"chars": 223,
"preview": "packageSearchIndex = [{\"l\":\"All Packages\",\"u\":\"allpackages-index.html\"},{\"l\":\"io.dapr.workflows\"},{\"l\":\"io.dapr.workflow"
},
{
"path": "docs/dapr-sdk-workflows/project-reports.html",
"chars": 2834,
"preview": "<!DOCTYPE html>\n<!--\n | Generated by Apache Maven Doxia Site Renderer 1.11.1 from org.apache.maven.plugins:maven-site-pl"
},
{
"path": "docs/dapr-sdk-workflows/script.js",
"chars": 5014,
"preview": "/*\n * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.\n * DO NOT ALTER OR REMOVE COPYRIGHT N"
},
{
"path": "docs/dapr-sdk-workflows/search.js",
"chars": 13742,
"preview": "/*\n * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.\n * DO NOT ALTER OR REMOVE COPYRIGHT N"
},
{
"path": "docs/dapr-sdk-workflows/stylesheet.css",
"chars": 18737,
"preview": "/*\n * Javadoc style sheet\n */\n\n@import url('resources/fonts/dejavu.css');\n\n/*\n * Styles for individual HTML elements.\n *"
},
{
"path": "docs/dapr-sdk-workflows/tag-search-index.js",
"chars": 42,
"preview": "tagSearchIndex = [];updateSearchResults();"
},
{
"path": "docs/dapr-sdk-workflows/type-search-index.js",
"chars": 1780,
"preview": "typeSearchIndex = [{\"l\":\"All Classes and Interfaces\",\"u\":\"allclasses-index.html\"},{\"p\":\"io.dapr.workflows.internal\",\"l\":"
},
{
"path": "docs/deprecated-list.html",
"chars": 103258,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Deprecated List (dapr-sdk-parent 1.17."
},
{
"path": "docs/element-list",
"chars": 1492,
"preview": "io.dapr\nio.dapr.actors\nio.dapr.actors.client\nio.dapr.actors.runtime\nio.dapr.client\nio.dapr.client.domain\nio.dapr.client."
},
{
"path": "docs/help-doc.html",
"chars": 10488,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>API Help (dapr-sdk-parent 1.17.2 API)<"
},
{
"path": "docs/index.html",
"chars": 16500,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Overview (dapr-sdk-parent 1.17.2 API)<"
},
{
"path": "docs/io/dapr/Rule.html",
"chars": 7075,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Rule (dapr-sdk-parent 1.17.2 API)</tit"
},
{
"path": "docs/io/dapr/Topic.html",
"chars": 10784,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Topic (dapr-sdk-parent 1.17.2 API)</ti"
},
{
"path": "docs/io/dapr/actors/ActorId.html",
"chars": 18333,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>ActorId (dapr-sdk-parent 1.17.2 API)</"
},
{
"path": "docs/io/dapr/actors/ActorMethod.html",
"chars": 7432,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>ActorMethod (dapr-sdk-parent 1.17.2 AP"
},
{
"path": "docs/io/dapr/actors/ActorTrace.html",
"chars": 17310,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>ActorTrace (dapr-sdk-parent 1.17.2 API"
},
{
"path": "docs/io/dapr/actors/ActorType.html",
"chars": 6472,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>ActorType (dapr-sdk-parent 1.17.2 API)"
},
{
"path": "docs/io/dapr/actors/ActorUtils.html",
"chars": 10961,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>ActorUtils (dapr-sdk-parent 1.17.2 API"
},
{
"path": "docs/io/dapr/actors/class-use/ActorId.html",
"chars": 11053,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Class io.dapr.actors.ActorId ("
},
{
"path": "docs/io/dapr/actors/class-use/ActorMethod.html",
"chars": 2822,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n<head>\n<!-- Generated by javadoc (17) -->\n<title>Uses of Annotation Type io.dapr.actors"
}
]
// ... and 1611 more files (download for full content)
About this extraction
This page contains the full source code of the dapr/java-sdk GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1811 files (34.8 MB), approximately 6.0M tokens, and a symbol index with 6717 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.