Contact Us 1-800-596-4880

gRPC Connector 1.0 Reference

Anypoint Connector for gRPC (gRPC Connector) enables you to connect to the gRPC API.

Configurations


Client

Client configuration for connecting to gRPC services.

Parameters

Name Type Description Default Value Required

Name

String

The name for this configuration. Connectors reference the configuration with this name.

x

Connection

The connection types to provide to this configuration.

x

Deadline

Deadline configuration for gRPC calls. This deadline applies to all operations unless overridden at the operation level.

Response Wait Time

Number

Time to wait for server response after sending each message in client streaming. Overridable at the operation level. A value of 0 means no wait (return immediately with an empty continuation response).

0

Response Wait Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Response Wait Time field.

MILLISECONDS

Name

String

The identifier of this element used to reference it in other components.

x

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. This doesn’t mean that the platform expires the instance at the exact moment that it becomes eligible. Mule purges the instances as appropriate.

Connection Types

Google Service Account Auth Provider

Use when the gRPC server expects Google-style service account auth (such as Google Cloud).

Parameters
Name Type Description Default Value Required

Host

String

The host address of the gRPC server.

x

Port

Number

The port number of the gRPC server.

443

IDL Definition

The Interface Definition Language (IDL) definition for the gRPC service.

x

Request headers

Object

Request headers to include in gRPC requests.

Connection Timeout

Number

The timeout for establishing connections to the remote service.

30

Connection Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Connection Timeout field.

SECONDS

Connection Mode

One of:

  • PlainText

  • TLS

Connection mode: TLS (default, for production) or PlainText (for development). If not specified, TLS with default settings is used automatically.

x

Private key id

String

Identifier of the private key for the service account. Part of service credentials.

x

Client id

String

Identifier of the client. Part of service credentials.

x

Client email

String

Client email for the service account. Part of service credentials.

x

Private key

Private key for the service account. Part of service credentials. Can be provided as text or from a file.

x

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

No Auth

Use when the gRPC server does not require authentication (such as local or internal services).

Parameters
Name Type Description Default Value Required

Host

String

The host address of the gRPC server.

x

Port

Number

The port number of the gRPC server.

443

IDL Definition

The Interface Definition Language (IDL) definition for the gRPC service.

x

Request headers

Object

Custom headers to include in gRPC requests.

Connection Timeout

Number

The timeout for establishing connections to the remote service.

30

Connection Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Connection Timeout field.

SECONDS

Connection Mode

One of:

  • PlainText

  • TLS

Connection mode: TLS (default, for production) or PlainText (for development). If not specified, TLS with default settings is used automatically.

x

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Oauth Client Credentials

Use when the gRPC server expects OAuth 2.0 client credentials. The connector obtains a token and sends it in the authorization header.

Parameters
Name Type Description Default Value Required

Host

String

The host address of the gRPC server.

x

Port

Number

The port number of the gRPC server.

443

IDL Definition

The Interface Definition Language (IDL) definition for the gRPC service.

x

Request headers

Object

Custom headers to include in gRPC requests.

Connection Timeout

Number

The timeout for establishing connections to the remote service.

30

Connection Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Connection Timeout field.

SECONDS

Connection Mode

One of:

  • PlainText

  • TLS

Connection mode: TLS (default, for production) or PlainText (for development). If not specified, TLS with default settings is used automatically.

x

Authorization Key

String

The header key used for authorization.

Authorization

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Client Id

String

The OAuth client ID as registered with the service provider.

x

Client Secret

String

The OAuth client secret as registered with the service provider.

x

Token Url

String

The service provider’s token endpoint URL.

https://example.com/oauth2/token

Scopes

String

The OAuth scopes to be requested during the dance. If not provided, it defaults to those in the annotation.

Auth Server Tls Context

TLS

References a TLS config to use to do HTTP request during the OAuth dance.

Auth Server Proxy Config

Any

References the proxy configuration which through the HTTP request during the OAuth dance.

Object Store

String

A reference to the object store that should be used to store each resource owner id’s data. If not specified, runtime will automatically provision the default one.

Associated Sources


GRPC Server Configuration

Server configuration for exposing gRPC methods.

Parameters

Name Type Description Default Value Required

Name

String

The name for this configuration. Connectors reference the configuration with this name.

x

Connection

The connection to provide to this configuration.

x

Max Inbound Message Size

Number

Maximum size of an inbound message in bytes (default: 4MB, same as gRPC-Java). Must be a positive value.

4194304

Name

String

The identifier of this element used to reference it in other components.

x

Connection Types

Grpc Server

Reference an <http:listener-config> for the gRPC endpoint and provide the protobuf descriptor for your service.

Parameters
Name Type Description Default Value Required

Listener Config

String

Reference to the <http:listener-config> used to expose the gRPC server endpoint.

x

IDL Definition

Protobuf descriptor definition for the gRPC service.

x

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Operations

[Client] Bidirectional Stream Message

<grpc:bidirectional-streaming>

Connect to a Bidirectional Streaming RPC. This operation initiates a request, and its responses are collected by the corresponding [Client] Bidirectional Stream Listener. [Client] Bidirectional Stream Message and [Client] Bidirectional Stream Listener are mapped to each other via Routing ID. This operation can be used to initiate the client up-stream, send requests, and also close the client up-stream. Each of these client steps can be mapped using a common request ID.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Method

String

The gRPC method name to invoke.

x

Routing Id

String

Identifier to map this call with its corresponding listener.

Request Id

String

Identifier to map related client streaming steps.

Content

Binary

The request payload to send to the gRPC server.

End Streaming

Boolean

Indicates whether to close the client streaming.

false

Request Headers

Object

Custom headers to include in the gRPC request.

Deadline

Configures the deadline for this specific gRPC call. Overrides the configuration-level deadline if specified.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Target Variable

String

Name of the variable that stores operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

A retry strategy in case of connectivity errors.

Output

Type

String

For Configurations

Throws

  • GRPC:ABORTED

  • GRPC:ALREADY_EXISTS

  • GRPC:CANCELLED

  • GRPC:CONNECTIVITY

  • GRPC:DATA_LOSS

  • GRPC:DEADLINE_EXCEEDED

  • GRPC:FAILED_PRECONDITION

  • GRPC:GRPC_UNKNOWN

  • GRPC:INTERNAL

  • GRPC:INVALID_ARGUMENT

  • GRPC:NOT_FOUND

  • GRPC:OUT_OF_RANGE

  • GRPC:PERMISSION_DENIED

  • GRPC:RESOURCE_EXHAUSTED

  • GRPC:RETRY_EXHAUSTED

  • GRPC:TRANSFORMATION

  • GRPC:UNAUTHENTICATED

  • GRPC:UNAVAILABLE

  • GRPC:UNIMPLEMENTED

  • GRPC:VALIDATION

[Client] Client Streaming Call

<grpc:client-streaming>

Connect to a Client Streaming RPC. This single operation can be used to initiate streaming, send requests, and close the client streaming request. Each of these steps is correlated via a common request ID.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Method

String

The gRPC method name to invoke.

x

Request Id

String

Identifier to map related client streaming steps.

Content

Binary

The request payload to send to the gRPC server.

End Streaming

Boolean

Indicates whether to close the client streaming.

false

Request Headers

Object

Custom headers to include in the gRPC request.

Deadline

Configures the deadline for this specific gRPC call. Overrides the configuration-level deadline if specified.

Response Wait Time

Number

Time to wait for server response after sending each message. Overrides the configuration-level value if specified.

Response Wait Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Response Wait Time field.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

A retry strategy in case of connectivity errors.

Output

Type

Binary

Attributes Type

For Configurations

Throws

  • GRPC:ABORTED

  • GRPC:ALREADY_EXISTS

  • GRPC:CANCELLED

  • GRPC:CONNECTIVITY

  • GRPC:DATA_LOSS

  • GRPC:DEADLINE_EXCEEDED

  • GRPC:FAILED_PRECONDITION

  • GRPC:GRPC_UNKNOWN

  • GRPC:INTERNAL

  • GRPC:INVALID_ARGUMENT

  • GRPC:NOT_FOUND

  • GRPC:OUT_OF_RANGE

  • GRPC:PERMISSION_DENIED

  • GRPC:RESOURCE_EXHAUSTED

  • GRPC:RETRY_EXHAUSTED

  • GRPC:TRANSFORMATION

  • GRPC:UNAUTHENTICATED

  • GRPC:UNAVAILABLE

  • GRPC:UNIMPLEMENTED

  • GRPC:VALIDATION

[Client] Server Stream Message

<grpc:server-streaming-call-with-delegation>

Connect to a Server Streaming RPC. This operation initiates a request, and its responses are collected by the corresponding Server Streaming Delegated Listener. The Server Streaming Delegator and Server Streaming Delegated Listener are mapped to each other via the routing ID.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Method

String

The gRPC method name to invoke.

x

Routing Id

String

Identifier to map this call with its corresponding listener.

x

Content

Binary

The request payload to send to the gRPC server.

#[payload]

Request Headers

Object

Custom headers to include in the gRPC request.

Deadline

Configures the deadline for this specific gRPC call. Overrides the configuration-level deadline if specified.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Target Variable

String

Name of the variable that stores operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

A retry strategy in case of connectivity errors.

Output

Type

String

For Configurations

Throws

  • GRPC:ABORTED

  • GRPC:ALREADY_EXISTS

  • GRPC:CANCELLED

  • GRPC:CONNECTIVITY

  • GRPC:DATA_LOSS

  • GRPC:DEADLINE_EXCEEDED

  • GRPC:FAILED_PRECONDITION

  • GRPC:GRPC_UNKNOWN

  • GRPC:INTERNAL

  • GRPC:INVALID_ARGUMENT

  • GRPC:NOT_FOUND

  • GRPC:OUT_OF_RANGE

  • GRPC:PERMISSION_DENIED

  • GRPC:RESOURCE_EXHAUSTED

  • GRPC:RETRY_EXHAUSTED

  • GRPC:TRANSFORMATION

  • GRPC:UNAUTHENTICATED

  • GRPC:UNAVAILABLE

  • GRPC:UNIMPLEMENTED

  • GRPC:VALIDATION

[Client] Iterate Server Stream Message

<grpc:server-streaming-call-with-response>

Connect to a Server Streaming RPC. This operation returns a StreamedResponseIterable to iterate over server response-stream.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Method

String

The gRPC method name to invoke.

x

Content

Binary

The request payload to send to the gRPC server.

#[payload]

Request Headers

Object

Custom headers to include in the gRPC request.

Deadline

Configures the deadline for this specific gRPC call. Overrides the configuration-level deadline if specified.

Output Mime Type

String

The mime type of the payload that this operation outputs.

Output Encoding

String

The encoding of the payload that this operation outputs.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Target Variable

String

Name of the variable that stores operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

A retry strategy in case of connectivity errors.

Output

Type

Array of Binary

For Configurations

Throws

  • GRPC:ABORTED

  • GRPC:ALREADY_EXISTS

  • GRPC:CANCELLED

  • GRPC:CONNECTIVITY

  • GRPC:DATA_LOSS

  • GRPC:DEADLINE_EXCEEDED

  • GRPC:FAILED_PRECONDITION

  • GRPC:GRPC_UNKNOWN

  • GRPC:INTERNAL

  • GRPC:INVALID_ARGUMENT

  • GRPC:NOT_FOUND

  • GRPC:OUT_OF_RANGE

  • GRPC:PERMISSION_DENIED

  • GRPC:RESOURCE_EXHAUSTED

  • GRPC:RETRY_EXHAUSTED

  • GRPC:TRANSFORMATION

  • GRPC:UNAUTHENTICATED

  • GRPC:UNAVAILABLE

  • GRPC:UNIMPLEMENTED

  • GRPC:VALIDATION

[Client] Unary Message

<grpc:unary-call>

Invokes a standard gRPC method that accepts a single request and returns a single response. Use this operation to perform an individual, one-off gRPC call to a remote service method.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Method

String

A String object.

x

Content

Binary

An InputStream object.

#[payload]

Request Headers

Object

Custom headers to include in the gRPC request.

Deadline

Configures the deadline for this specific gRPC call. Overrides the configuration-level deadline if specified.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Target Variable

String

Name of the variable that stores operation’s output.

Target Value

String

An expression to evaluate against the operation’s output and store the expression outcome in the target variable.

#[payload]

Error Mappings

Array of Error Mapping

Set of error mappings.

Reconnection Strategy

A retry strategy in case of connectivity errors.

Output

Type

Binary

For Configurations

Throws

  • GRPC:ALREADY_EXISTS

  • GRPC:CONNECTIVITY

  • GRPC:DATA_LOSS

  • GRPC:DEADLINE_EXCEEDED

  • GRPC:FAILED_PRECONDITION

  • GRPC:GRPC_UNKNOWN

  • GRPC:INTERNAL

  • GRPC:INVALID_ARGUMENT

  • GRPC:NOT_FOUND

  • GRPC:OUT_OF_RANGE

  • GRPC:PERMISSION_DENIED

  • GRPC:RESOURCE_EXHAUSTED

  • GRPC:RETRY_EXHAUSTED

  • GRPC:TRANSFORMATION

  • GRPC:UNAUTHENTICATED

  • GRPC:UNAVAILABLE

  • GRPC:UNIMPLEMENTED

  • GRPC:VALIDATION

Unauthorize

<grpc:unauthorize>

Deletes all the access token information of a given resource owner ID so that it’s impossible to execute any operation for that user without doing the authorization dance again.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

For Configurations

[Server] End Stream

<grpc:end-stream>

Ends the streaming response.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Attributes

Streaming attributes from the server streaming source.

x

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Error Mappings

Array of Error Mapping

Set of error mappings.

For Configurations

[Server] Respond Server Stream Message

<grpc:send-stream-message>

Sends a message in a streaming response.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Attributes

Streaming attributes from the server streaming source.

x

Stream Message

Any

The message content to send to the client.

#[payload]

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Error Mappings

Array of Error Mapping

Set of error mappings.

For Configurations

Sources

[Client] Bidirectional Stream Listener

<grpc:bidi-streaming-listener>

Connects to a Bidirectional Streaming RPC. Server responses from the corresponding [Client] Bidirectional Stream Message are collected here. [Client] Bidirectional Stream Message and [Client] Bidirectional Stream Listener are mapped to each other via Routing ID.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Routing ID

String

Identifier to map this listener with its corresponding call.

x

Primary Node Only

Boolean

Whether this source should only be executed on the primary node when running in a cluster.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

A retry strategy in case of connectivity errors.

Output

Type

Binary

Attributes Type

For Configurations

[Client] Server Stream Listener

<grpc:server-streaming-delegated-listener>

Connects to a Server Streaming RPC. Server responses from the corresponding Server Streaming Delegator are collected here. The Server Streaming Delegator and Server Streaming Delegated Listener are mapped to each other via the routing ID.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Routing ID

String

Identifier to map this listener with its corresponding delegator.

x

Primary Node Only

Boolean

Whether this source should only be executed on the primary node when running in a cluster.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

A retry strategy in case of connectivity errors.

Output

Type

Binary

Attributes Type

For Configurations

[Client] Server Stream Subscriber

<grpc:server-streaming-subscriber-source>

Connect to a Server Streaming RPC. This source acts as a subscriber by sending the request when it starts. The request is provided at design time through the payload attribute.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Method

String

The gRPC method name to invoke.

x

Request Headers

Object

Custom headers to include in the gRPC request.

Deadline

Configures the deadline for this specific gRPC call. Overrides the configuration-level deadline if specified.

Primary Node Only

Boolean

Whether this source should only be executed on the primary node when running in a cluster.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

File Path

String

The path to the file containing the request payload.

x

Reconnection Strategy

A retry strategy in case of connectivity errors.

Output

Type

Binary

For Configurations

[Server] Bidirectional Streaming Listener

<grpc:bidirectional-streaming-method>

This source handles multiple client requests and produces multiple server responses.

In bidirectional streaming:

  • The client sends multiple messages (independently).

  • The server sends multiple responses (independently).

  • Both streams operate independently and can send or receive messages at any time.

Flow Execution Model:

  • The flow executes once per client message (automatic iteration; execution might be in parallel for different messages).

  • A shared streamState map (Map<String, Object>) persists across all flow executions for the same stream.

  • Each flow execution returns a response as the payload and can update state via <grpc:response-bidi>.

  • When the client completes sending messages, the flow is executed one last time with clientStreamCompleted=true.

Example Use Cases:

  • Interactive Processing (such as market ticker subscriptions)

    • Client sends subscription requests.

    • Server responds with price updates as they change.

  • Client-controlled Streaming (such as paginated data export)

    • Client sends flow control tokens.

    • Server sends data chunks on demand.

Example usage in a Mule flow:

<flow name="MarketTicker">
  <grpc:bidirectional-streaming-method config-ref="GRPC_Config" methodName="market.Market/SubscribeTickers">
    <grpc:response-bidi streamStates="#[vars.updatedStreamStates]"/>
  </grpc:bidirectional-streaming-method>
  <!-- Calculate response and updated state -->
  <ee:transform>
    <ee:set-payload>
      <!-- Response protobuf message -->
    </ee:set-payload>
    <ee:variables>
      <ee:set-variable variableName="updatedStreamStates">
        <![CDATA[
        {
          subscriberCount: (attributes.streamState.subscriberCount default 0) + 1
        }
        ]]>
      </ee:set-variable>
    </ee:variables>
  </ee:transform>
</flow>

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Method Name

String

The gRPC method name to invoke.

x

Output Mime Type

String

The mime type of the payload that this source outputs.

Output Encoding

String

The encoding of the payload that this source outputs.

On Capacity Overload

Enumeration, one of:

  • DROP

  • WAIT

  • FAIL

Strategy applied when the flow receives more messages than it has capacity to handle.

WAIT

Primary Node Only

Boolean

Whether this source should only be executed on the primary node when running in a cluster.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

A retry strategy in case of connectivity errors.

Stream Output

Output parameter group for bidirectional streaming responses.

Output

Type

Any

Attributes Type

For Configurations

[Server] Client Stream Listener

<grpc:client-streaming-method>

This source handles multiple client requests and produces a single response. In client streaming, the client sends a stream of requests and the server responds with a single response after processing all the requests.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Method Name

String

The gRPC method name to invoke.

x

Output Mime Type

String

The mime type of the payload that this source outputs.

Output Encoding

String

The encoding of the payload that this source outputs.

On Capacity Overload

Enumeration, one of:

  • WAIT

  • DROP

  • FAIL

Strategy applied when the flow receives more messages than it has capacity to handle.

WAIT

Primary Node Only

Boolean

Whether this source should only be executed on the primary node when running in a cluster.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

A retry strategy in case of connectivity errors.

Output

Output structure for client streaming methods.

Output

Type

Any

Attributes Type

For Configurations

[Server] Server Stream Listener

<grpc:server-streaming-method>

This source handles a single client request and produces multiple responses.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Method Name

String

The gRPC method name to invoke.

x

Max Concurrent Requests

Number

If greater than 0, limits concurrent requests for this method (explicit backpressure).

0

Output Mime Type

String

The mime type of the payload that this source outputs.

Output Encoding

String

The encoding of the payload that this source outputs.

On Capacity Overload

Enumeration, one of:

  • WAIT

  • DROP

  • FAIL

Strategy applied when the flow receives more messages than it has capacity to handle.

WAIT

Primary Node Only

Boolean

Whether this source should only be executed on the primary node when running in a cluster.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

A retry strategy in case of connectivity errors.

Output

Type

Any

Attributes Type

For Configurations

[Server] Unary Listener

<grpc:unary-method>

This source handles a single client request and produces a single response.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Method Name

String

The gRPC method name to invoke.

x

Output Mime Type

String

The mime type of the payload that this source outputs.

Output Encoding

String

The encoding of the payload that this source outputs.

Primary Node Only

Boolean

Whether this source should only be executed on the primary node when running in a cluster.

Config Ref

ConfigurationProvider

The name of the configuration to use to execute this component.

x

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Redelivery Policy

Defines a policy for processing the redelivery of the same message.

Reconnection Strategy

A retry strategy in case of connectivity errors.

Response Unary

Binary

The response content to send to the client.

#[payload]

Output

Type

Any

For Configurations

Types

Reconnection

Configures a reconnection strategy for an operation.

Field Type Description Default Value Required

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.

Reconnection Strategy

The reconnection strategy to use.

Reconnect

Configures a standard reconnection strategy, which specifies how often to reconnect and how many reconnection attempts the connector source or operation can make.

Field Type Description Default Value Required

Frequency

Number

How often in milliseconds to reconnect.

Blocking

Boolean

If false, the reconnection strategy will run in a separate, non-blocking thread.

Count

Number

How many reconnection attempts to make.

Reconnect Forever

Configures a forever reconnection strategy by which the connector source or operation attempts to reconnect at a specified frequency for as long as the Mule app runs.

Field Type Description Default Value Required

Frequency

Number

How often in milliseconds to reconnect.

Blocking

Boolean

If false, the reconnection strategy will run in a separate, non-blocking thread.

TLS

Configures TLS to provide secure communications for the Mule app.

Field Type Description Default Value Required

Enabled Protocols

String

A comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

A comma-separated list of cipher suites enabled for this context.

Trust Store

Configuration for the trust store.

Key Store

Configuration for the key store.

Revocation Check

Configuration for certificate revocation checking.

Trust Store

Configures the truststore for TLS.

Field Type Description Default Value Required

Path

String

The location (which will be resolved relative to the current classpath and file system, if possible) of the trust store.

Password

String

The password used to protect the trust store.

Type

String

The type of store used.

Algorithm

String

The algorithm used by the trust store.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

Key Store

Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.

Field Type Description Default Value Required

Path

String

The location (which will be resolved relative to the current classpath and file system, if possible) of the key store.

Type

String

The type of store used.

Alias

String

When the key store contains many private keys, this attribute indicates the alias of the key that should be used. If not defined, the first key in the file will be used by default.

Key Password

String

The password used to protect the private key.

Password

String

The password used to protect the key store.

Algorithm

String

The algorithm used by the key store.

Standard Revocation Check

Configures standard revocation checks for TLS certificates.

Field Type Description Default Value Required

Only End Entities

Boolean

Only verify the last element of the certificate chain.

Prefer Crls

Boolean

Try CRL instead of OCSP first.

No Fallback

Boolean

Do not use the secondary checking method (the one not selected before).

Soft Fail

Boolean

Avoid verification failure when the revocation server can not be reached or is busy.

Custom OCSP Responder

Configures a custom OCSP responder for certification revocation checks.

Field Type Description Default Value Required

Url

String

The URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response (must be in the trust store), if present.

CRL File

Specifies the location of the certification revocation list (CRL) file.

Field Type Description Default Value Required

Path

String

The path to the CRL file.

Deadline

Configures the deadline for gRPC calls. A deadline specifies the maximum duration for a gRPC operation to complete. If the operation exceeds this deadline, it is automatically cancelled.

Field Type Description Default Value Required

Duration

Number

The duration value for the deadline.

10

Units

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

The time unit for the Duration field.

SECONDS

Expiration Policy

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Field Type Description Default Value Required

Max Idle Time

Number

A scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it’s considered eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

A time unit for the Max Idle Time field.

Server Streaming Attributes

Represents attributes or metadata for streaming operations. This class provides channel and routing information for gRPC streaming calls.

Field Type Description Default Value Required

End Of Stream

Boolean

Indicates whether the stream has ended.

Error

Boolean

Indicates whether an error occurred during streaming.

Error Message

String

The error message if an error occurred.

Request Id

String

The request identifier.

Routing Id

String

The routing identifier.

Repeatable In Memory Stream

Configures the in-memory streaming strategy by which the request fails if the data exceeds the MAX buffer size. Always run performance tests to find the optimal buffer size for your specific use case.

Field Type Description Default Value Required

Initial Buffer Size

Number

The amount of memory that will be allocated to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then the buffer expands according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize.

Buffer Size Increment

Number

This is by how much the buffer size expands if it exceeds its initial size. Setting a value of zero or lower means that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised when the buffer gets full.

Max Buffer Size

Number

The maximum amount of memory to use. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised. A value lower than or equal to zero means no limit.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

The unit in which all these attributes are expressed.

Repeatable File Store Stream

Configures the repeatable file-store streaming strategy by which Mule keeps a portion of the stream content in memory. If the stream content is larger than the configured buffer size, Mule backs up the buffer’s content to disk and then clears the memory.

Field Type Description Default Value Required

In Memory Size

Number

Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed content on the disk is buffered.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

The unit in which In Memory Size is expressed.

Redelivery Policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

Field Type Description Default Value Required

Max Redelivery Count

Number

The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message.

Message Digest Algorithm

String

The secure hashing algorithm to use. If not set, the default is SHA-256.

Message Identifier

Defines which strategy is used to identify the messages.

Object Store

ObjectStore

The object store where the redelivery counter for each message is stored.

Redelivery Policy Message Identifier

Configures how to identify a redelivered message and how to find out when the message was redelivered.

Field Type Description Default Value Required

Use Secure Hash

Boolean

Whether to use a secure hash algorithm to identify a redelivered message.

Id Expression

String

Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false.

Error Mapping

Configures the error mapping.

Field Type Description Default Value Required

Source

Enumeration, one of:

  • ANY

  • REDELIVERY_EXHAUSTED

  • TRANSFORMATION

  • EXPRESSION

  • SECURITY

  • CLIENT_SECURITY

  • SERVER_SECURITY

  • ROUTING

  • CONNECTIVITY

  • RETRY_EXHAUSTED

  • TIMEOUT

The source error type to map.

Target

String

The target error type to map to.

x

Client Streaming Attributes

Represents attributes or metadata for client streaming operations. Returned with every client streaming operation response to indicate the current state of the conversation.

Field Type Description Default Value Required

End Of Stream

Boolean

Indicates whether the stream has ended.

Message Sent

Boolean

Indicates whether a message was sent in this step.

Request Id

String

The request identifier.

Bidi Streaming Server Attributes

Attributes for bidirectional streaming gRPC methods.

Bidirectional streaming allows both client and server to send multiple messages independently. The client can send multiple requests while the server sends multiple responses.

Key characteristics:

  • Flow executes once per client message (automatic iteration, parallel execution)

  • Flow can send 0, 1, or N responses per message using [Server] Respond Server Stream Message.

  • Shared streamState map persists across all flow executions for state management

  • Final execution with clientStreamCompleted=true when client finishes sending

Use cases:

  • Interactive processing (such as market ticker subscriptions)

    • Client sends subscription requests.

    • Server sends price updates as they change.

  • Client-controlled streaming (such as paginated data export)

    • Client sends flow control tokens.

    • Server sends data chunks on demand.

Field Type Description Default Value Required

Client Stream Completed

Boolean

Whether the client has finished sending (true on final execution).

Connection Id

String

Unique stream identifier.

Message Count

Number

Total messages received so far.

Message Index

Number

Current message number (1-based).

Method Name

String

Fully qualified gRPC method name.

Stream State

Object

Shared state map across all messages (thread-safe ConcurrentHashMap).

Timestamp

DateTime

When the stream is initiated.

Bidi Streaming Output

Output parameter group for bidirectional streaming responses.

This class captures both the response (body) and the updated streaming state from flow execution. The handler uses this to:

  1. Send the response as the gRPC reply.

  2. Update its local streamState with the returned values for the next message.

Example usage in a Mule flow:

<grpc:bidirectional-streaming-method methodName="retail.Retail/AddToCart">
  <grpc:stream-output streamState="#[vars.updatedStreamState]"/>
</grpc:bidirectional-streaming-method>

<ee:transform>
  <ee:set-payload>
    <!-- Response protobuf message -->
  </ee:set-payload>
  <ee:variables>
    <ee:set-variable variableName="updatedStreamState">
      {
        count: (attributes.streamState.count default 0) + payload.qty,
        amount: (attributes.streamState.amount default 0.0) + (payload.qty * payload.price)
      }
    </ee:set-variable>
  </ee:variables>
</ee:transform>
Field Type Description Default Value Required

Response

Binary

The response message to send to the client.

#[payload]

Stream State

Object

Updated streaming state to persist for the next message. Values set here are available in attributes.streamState for subsequent messages.

#[{}]

Client Streaming Server Attributes

Attributes for client streaming gRPC methods. Simplified to match apikit pattern: per-message execution with stream state.

Field Type Description Default Value Required

Message Count

Number

Number of messages received so far.

Stream Completed

Boolean

Whether this is the final message in the stream. When true, the flow should return the final response.

Stream State

Object

Shared mutable state across all messages. The flow can read or update this map to maintain aggregated values.

Client Streaming Output

Output structure for client streaming methods, matching apikit pattern.

Field Type Description Default Value Required

Response

Binary

The response message to send to the client (only used on final execution when client stream completes).

#[payload]

Stream State a

Object

Updated stream state to persist across messages. Values set here are available as attributes.streamState in subsequent executions.

For Map<String, Object> types, Mule SDK automatically generates corresponding XML:

<grpc:stream-states><grpc:stream-state key="…​" value="…​"/></grpc:stream-states>

#[{}]

Server Streaming Server Attributes

Server-side attributes for server streaming gRPC methods. In server streaming, the client sends a single request, the Mule flow executes, and the server sends multiple responses using [Server] Respond Server Stream Message and [Server] End Stream.

Field Type Description Default Value Required

Connection Id

String

Unique identifier for this streaming connection (used to route [Server] Respond Server Stream Message and [Server] End Stream).

Method Name

String

Fully qualified gRPC method name (for example, retail.Retail/PriceItemStream).

Single Binary Protobuf

Protobuf contract parameterization. Provides unified access to protobuf descriptors and metadata types for both client operations and server sources through the IdlDefinition interface.

Field Type Description Default Value Required

Protobuf Descriptor File

String

The path to the Protocol Buffer descriptor file.

x

Private Key Text

Private key provided as inline text.

Field Type Description Default Value Required

Key

String

The private key content.

x

Private Key File

Private key provided from a file.

Field Type Description Default Value Required

Private Key File Path

String

The path to the file containing the private key.

x

View on GitHub