AEM & Adobe IO Events - Advanced Configurations
Custom OSGI to Adobe I/O Events event mapping configurations:
The aio-aem-events add-on module is providing a set of 11 default OSGI to Adobe I/O Events event mapping configurations
You can extend these and define your own mapping. For more details about these refer to our aio-aem-events-osgi-mapping project
Adobe I/O Events queuing and retries
When an OSGI event of interest is triggered (i.e an OSGI events that matches one of your mapping configurations, see above), it makes it to a job queue handled by an aio-aem-event Sling Job Consumer.
This job is persisted in the resource tree (for failover etc.), then the job is distributed to an instance responsible for processing the job; and on that instance the job is put into a processing queue, where eventually a Sling Job Consumer will execute it.
This Adobe I/O Events Sling Job Consumer's job is to send this event to Adobe I/O.
JobResult.OKshould be returned. If the job has not been processed completely,JobResult.FAILEDshould be returned if Adobe I/O fails either to receive or to process it (due to network failure or Adobe I/O failure). In that case the job will be rescheduled/retried- if the max number of retries is met, the process will not be rescheduled and treated like the method would have returned
JobResult.CANCEL.
Note that
-
Adobe I/O Events Sling Job Consumer topic is
aio/events -
Adobe I/O Events
Sling Job Queue configurationis the defaultApache Sling Job Default Queuewith- a Normal job priority
- 10 maximum retries
- 2 seconds retry delay
- 15 maximum parallel jobs
You can tune this configuration according to your needs: using the OSGI > configuration menu of AEM's system console and create there a new Apache Sling Job Queue Configuration
Note that you can use the Sling > Jobs menu of AEM system console, to look up the statistics and health of your queues
Please refer to the Sling documentation:
- https://sling.apache.org/apidocs/sling7/org/apache/sling/event/jobs/consumer/JobConsumer.html
- https://sling.apache.org/documentation/bundles/apache-sling-eventing-and-job-handling.html