Overview
Processors form the core of the Joule platform. A processor performs a distinct unique function when chained with others form a business use case
A use case core definition is based upon the processing pipeline. A pipeline is formed of one or more linked processors. This follows the functional programming paradigm whereby each processor performs a distinct process.
Events are processed in sequence with the final event either being presented to a select processor or directly to connected transports.
Available processor types
Joule has provided a number of core processors for developers to leverage to build domain use case. Processors can be categorised in to various functional grouping that reflect there purpose within the platform.
Observability and Metrics
Each OOTB processor record and presents event metrics to JMX monitoring platforms. This provides direct insight into how a streaming use case is performing.
Metrics available
Received
Processed
Failed
Discarded
Ignored
Average processing latency
All of these metrics are enabled by default and presented as JMX beans on the standard monitoring ports.
Enable JMX
Apply these settings to the joule execution path
For further information use the instructions in Monitoring and Management Using JMX Technology
Core attributes
Every processor that inherits from the base class AbstractProcessor
, using the Joule SDK, will gain these core features.
Attribute | Description | Data Type | Required |
---|---|---|---|
name | Uniquie name of processor. | String Default: Random UUID | |
enabled | Toogle to enable processor processing | Boolean Default: true | |
properties | Processor specific properties | Map | |
clone event | Toogle to clone event for processing. Note this will cause significant memory overhead for high load use cases | Boolean Default: false | |
stores | External data stores can be attached, useful for analytics, enrichment, filtering and transformation use cases | ||
latency trigger | Number of events processed to trigger the average processing calculation. A value less than 1 switches off the calculation. | Integer Default: 1000 |
Last updated