Class ActorRuntime

java.lang.Object
io.dapr.actors.runtime.ActorRuntime

public class ActorRuntime
extends java.lang.Object
Contains methods to register actor types. Registering the types allows the runtime to create instances of the actor.
  • Method Summary

    Modifier and Type Method Description
    reactor.core.publisher.Mono<java.lang.Void> deactivate​(java.lang.String actorTypeName, java.lang.String actorId)
    Deactivates an actor for an actor type with given actor id.
    ActorRuntimeConfig getConfig()
    Gets the Actor configuration for this runtime.
    static ActorRuntime getInstance()
    Returns an ActorRuntime object.
    reactor.core.publisher.Mono<byte[]> invoke​(java.lang.String actorTypeName, java.lang.String actorId, java.lang.String actorMethodName, byte[] payload)
    Invokes the specified method for the actor, this is mainly used for cross language invocation.
    reactor.core.publisher.Mono<java.lang.Void> invokeReminder​(java.lang.String actorTypeName, java.lang.String actorId, java.lang.String reminderName, byte[] params)
    Fires a reminder for the Actor.
    reactor.core.publisher.Mono<java.lang.Void> invokeTimer​(java.lang.String actorTypeName, java.lang.String actorId, java.lang.String timerName)
    Fires a timer for the Actor.
    <T extends AbstractActor>
    void
    registerActor​(java.lang.Class<T> clazz)
    Registers an actor with the runtime, using DefaultObjectSerializer and DefaultActorFactory.
    <T extends AbstractActor>
    void
    registerActor​(java.lang.Class<T> clazz, ActorFactory<T> actorFactory)
    Registers an actor with the runtime, using DefaultObjectSerializer.
    <T extends AbstractActor>
    void
    registerActor​(java.lang.Class<T> clazz, ActorFactory<T> actorFactory, DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer)
    Registers an actor with the runtime.
    <T extends AbstractActor>
    void
    registerActor​(java.lang.Class<T> clazz, DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer)
    Registers an actor with the runtime.
    byte[] serializeConfig()
    Gets the Actor configuration for this runtime.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getInstance

      public static ActorRuntime getInstance()
      Returns an ActorRuntime object.
      Returns:
      An ActorRuntime object.
    • getConfig

      public ActorRuntimeConfig getConfig()
      Gets the Actor configuration for this runtime.
      Returns:
      Actor configuration.
    • serializeConfig

      public byte[] serializeConfig() throws java.io.IOException
      Gets the Actor configuration for this runtime.
      Returns:
      Actor configuration serialized.
      Throws:
      java.io.IOException - If cannot serialize config.
    • registerActor

      public <T extends AbstractActor> void registerActor​(java.lang.Class<T> clazz)
      Registers an actor with the runtime, using DefaultObjectSerializer and DefaultActorFactory. DefaultObjectSerializer is not recommended for production scenarios.
      Type Parameters:
      T - Actor class type.
      Parameters:
      clazz - The type of actor.
    • registerActor

      public <T extends AbstractActor> void registerActor​(java.lang.Class<T> clazz, ActorFactory<T> actorFactory)
      Registers an actor with the runtime, using DefaultObjectSerializer. DefaultObjectSerializer is not recommended for production scenarios.
      Type Parameters:
      T - Actor class type.
      Parameters:
      clazz - The type of actor.
      actorFactory - An optional factory to create actors. This can be used for dependency injection.
    • registerActor

      public <T extends AbstractActor> void registerActor​(java.lang.Class<T> clazz, DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer)
      Registers an actor with the runtime.
      Type Parameters:
      T - Actor class type.
      Parameters:
      clazz - The type of actor.
      objectSerializer - Serializer for Actor's request and response objects.
      stateSerializer - Serializer for Actor's state objects.
    • registerActor

      public <T extends AbstractActor> void registerActor​(java.lang.Class<T> clazz, ActorFactory<T> actorFactory, DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer)
      Registers an actor with the runtime.
      Type Parameters:
      T - Actor class type.
      Parameters:
      clazz - The type of actor.
      actorFactory - An optional factory to create actors. This can be used for dependency injection.
      objectSerializer - Serializer for Actor's request and response objects.
      stateSerializer - Serializer for Actor's state objects.
    • deactivate

      public reactor.core.publisher.Mono<java.lang.Void> deactivate​(java.lang.String actorTypeName, java.lang.String actorId)
      Deactivates an actor for an actor type with given actor id.
      Parameters:
      actorTypeName - Actor type name to deactivate the actor for.
      actorId - Actor id for the actor to be deactivated.
      Returns:
      Async void task.
    • invoke

      public reactor.core.publisher.Mono<byte[]> invoke​(java.lang.String actorTypeName, java.lang.String actorId, java.lang.String actorMethodName, byte[] payload)
      Invokes the specified method for the actor, this is mainly used for cross language invocation.
      Parameters:
      actorTypeName - Actor type name to invoke the method for.
      actorId - Actor id for the actor for which method will be invoked.
      actorMethodName - Method name on actor type which will be invoked.
      payload - RAW payload for the actor method.
      Returns:
      Response for the actor method.
    • invokeReminder

      public reactor.core.publisher.Mono<java.lang.Void> invokeReminder​(java.lang.String actorTypeName, java.lang.String actorId, java.lang.String reminderName, byte[] params)
      Fires a reminder for the Actor.
      Parameters:
      actorTypeName - Actor type name to invoke the method for.
      actorId - Actor id for the actor for which method will be invoked.
      reminderName - The name of reminder provided during registration.
      params - Params for the reminder.
      Returns:
      Async void task.
    • invokeTimer

      public reactor.core.publisher.Mono<java.lang.Void> invokeTimer​(java.lang.String actorTypeName, java.lang.String actorId, java.lang.String timerName)
      Fires a timer for the Actor.
      Parameters:
      actorTypeName - Actor type name to invoke the method for.
      actorId - Actor id for the actor for which method will be invoked.
      timerName - The name of timer provided during registration.
      Returns:
      Async void task.