> For the complete documentation index, see [llms.txt](https://docs.rierino.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rierino.com/devops/microservices/building-blocks/execution-handlers/specialized-handlers.md).

# Specialized Handlers

Specialized handlers cover advanced rule engines, CEP, document generation, SOAP, Camel, and Web of Things integrations.

Use this page for handler-level details:

* Class names
* Handler parameters
* Runtime dependencies
* Roles and commands

Use [Specialized Actions](/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions.md) for action-level saga step fields and parameters.

### Apply Advanced Rules

Class: `com.rierino.handler.drools.DroolsProcessEventHandler`

Executes business rules using Drools BRMS.

#### Handler parameters

| Parameter      | Definition                                      | Example                 | Default |
| -------------- | ----------------------------------------------- | ----------------------- | ------- |
| `config.state` | State manager with rule domain configurations   | `ruledomain`            | -       |
| `domain`       | Rule domain name                                | `product_discount`      | -       |
| `rules.state`  | State manager with rule definitions             | `rule_product_discount` | -       |
| `buffer`       | Number of records to buffer before batch output | `100`                   | -       |

This handler supports caching.

#### Runtime dependency

```gradle
implementation (group:'com.rierino.custom', name: 'drools', version:"${rierinoVersion}")
```

#### Roles

* `processPulse`
* `processJournal`
* `processRole`

#### Commands

* `PROCESSID`

Action details: [Apply Advanced Rules](/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/apply-advanced-rules.md)

### Calculate Real-time Metrics

Class: `com.rierino.handler.siddhi.JsonSiddhiEventHandler`

Builds real-time intelligence and CEP flows using Siddhi.

#### Handler parameters

| Parameter               | Definition                                      | Example                    | Default          |
| ----------------------- | ----------------------------------------------- | -------------------------- | ---------------- |
| `dataflow.state`        | State manager with dataflow configurations      | `dataflow`                 | -                |
| `dataflow.ids`          | Dataflow ids to run on this instance            | `session_dna,customer_dna` | -                |
| `partition.stream`      | Stream supplying partition information          | `sessionq`                 | -                |
| `dataflow.store.system` | System storing Siddhi persistence data          | `hdfs_default`             | -                |
| `dataflow.local.dir`    | Local directory storing Siddhi persistence data | `/tmp`                     | `java.io.tmpdir` |

#### Runtime dependency

```gradle
implementation (group:'com.rierino.custom', name: 'siddhi', version:"${rierinoVersion}")
```

#### Roles

* `processRole`

Action details: [Calculate Real-time Metrics](/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/calculate-real-time-metrics.md)

### Consume Web of Things

Class: `com.rierino.handler.wot.WOTConsumerEventHandler`

Reads properties from WoT things and invokes their actions.

#### Handler parameters

| Parameter      | Definition                            | Example   | Default |
| -------------- | ------------------------------------- | --------- | ------- |
| `thing.state`  | State manager with WoT configurations | `iot`     | `thing` |
| `thing.domain` | Thing domain to include               | `factory` | -       |
| `saga.handler` | Saga handler used for tool sagas      | `ai_saga` | `saga`  |

Action details: [Consume Web of Things](/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/consume-web-of-things.md)

### Produce Web of Things

Class: `com.rierino.handler.wot.WOTProducerEventHandler`

Builds WoT thing descriptions from allowed sagas.

#### Handler parameters

| Parameter    | Definition                          | Example | Default |
| ------------ | ----------------------------------- | ------- | ------- |
| `saga.state` | State manager with saga definitions | -       | `saga`  |

Action details: [Produce Web of Things](/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/produce-web-of-things.md)

### Generate Excel

Class: `com.rierino.handler.ExcelExportEventHandler`

Produces formatted Excel files from templates and input payload.

#### Handler parameters

| Parameter        | Definition                                 | Example         | Default         |
| ---------------- | ------------------------------------------ | --------------- | --------------- |
| `template.state` | State manager with Excel templates         | `template_xlsx` | `handler_excel` |
| `output.system`  | System alias used to store generated files | `s3_default`    | -               |

#### Runtime dependency

```gradle
implementation (group:'com.rierino.custom', name: 'excel', version:"${rierinoVersion}")
```

Action details: [Generate Excel](/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/generate-excel.md)

### Generate PDF

Class: `com.rierino.handler.PDFExportEventHandler`

Produces PDF files from HTML content.

#### Handler parameters

| Parameter       | Definition                                 | Example      | Default |
| --------------- | ------------------------------------------ | ------------ | ------- |
| `output.system` | System alias used to store generated files | `s3_default` | -       |

#### Runtime dependency

```gradle
implementation (group:'com.rierino.custom', name: 'pdf', version:"${rierinoVersion}")
```

Action details: [Generate PDF](/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/generate-pdf.md)

### Call SOAP API

Class: `com.rierino.handler.soap.SoapEventHandler`

Uses SOAP services for third-party integrations.

#### Handler parameters

| Parameter        | Definition                                     | Example         | Default            |
| ---------------- | ---------------------------------------------- | --------------- | ------------------ |
| `soap.state`     | State manager keeping SOAP service definitions | `soap_services` | `handler_soap`     |
| `soap.domain`    | Domain name used to filter SOAP definitions    | `pricing`       | -                  |
| `soap.local.dir` | Local directory used for service jars          | `/tmp`          | `[java.io.tmpdir]` |

#### Runtime dependency

```gradle
implementation (group:'com.rierino.custom', name: 'soap', version:"${rierinoVersion}")
```

Action details: [Call SOAP API](/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/call-soap-api.md)

### Integrate with Camel

Class: `com.rierino.handler.camel.CamelEventHandler`

Uses Apache Camel producers for third-party integrations.

#### Handler parameters

This handler has no parameters. It uses configured runner systems as potential Camel producers.

#### Runtime dependency

```gradle
implementation (group:'com.rierino.runner', name: 'camel', version:"${rierinoVersion}")
```

Action details: [Integrate with Camel](/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/integrate-with-camel.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.rierino.com/devops/microservices/building-blocks/execution-handlers/specialized-handlers.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
