Package io.dapr.actors.runtime

# Class ActorRuntime

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

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public class ActorRuntime extends Object implements Closeable
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
`void`
`close()`
`reactor.core.publisher.Mono<Void>`
`deactivate(String actorTypeName, 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.
`static ActorRuntime`
`getInstance(Properties properties)`
Returns an ActorRuntime object.
`reactor.core.publisher.Mono<byte[]>`
`invoke(String actorTypeName, String actorId, String actorMethodName, byte[] payload)`
Invokes the specified method for the actor, this is mainly used for cross language invocation.
`reactor.core.publisher.Mono<Void>`
`invokeReminder(String actorTypeName, String actorId, String reminderName, byte[] params)`
Fires a reminder for the Actor.
`reactor.core.publisher.Mono<Void>`
`invokeTimer(String actorTypeName, String actorId, String timerName, byte[] params)`
Fires a timer for the Actor.
`<T extends AbstractActor>
void`
`registerActor(Class<T> clazz)`
Registers an actor with the runtime, using `DefaultObjectSerializer` and `DefaultActorFactory`.
`<T extends AbstractActor>
void`
`registerActor(Class<T> clazz, ActorFactory<T> actorFactory)`
Registers an actor with the runtime, using `DefaultObjectSerializer`.
`<T extends AbstractActor>
void`
`registerActor(Class<T> clazz, ActorFactory<T> actorFactory, DaprObjectSerializer objectSerializer, DaprObjectSerializer stateSerializer)`
Registers an actor with the runtime.
`<T extends AbstractActor>
void`
`registerActor(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.

### getInstance

public static ActorRuntime getInstance(Properties properties)
Returns an ActorRuntime object.

Parameters:
  `properties` - Properties to be used for the runtime.
Returns:
  An ActorRuntime object.

### getConfig

public ActorRuntimeConfig getConfig()
Gets the Actor configuration for this runtime.

Returns:
  Actor configuration.

### serializeConfig

public byte[] serializeConfig() throws IOException
Gets the Actor configuration for this runtime.

Returns:
  Actor configuration serialized.
Throws:
  `IOException` - If cannot serialize config.

### registerActor

public <T extends AbstractActor> void registerActor(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(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(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(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<Void> deactivate(String actorTypeName, 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(String actorTypeName, String actorId, 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<Void> invokeReminder(String actorTypeName, String actorId, 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<Void> invokeTimer(String actorTypeName, String actorId, String timerName, byte[] params)
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.
  `params` - Params to trigger timer.
Returns:
  Async void task.

### close

public void close()

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Closeable`