Customizing Configuration for Shared Engine

I have a question on customizing the engine configuration for a shared engine environment.
Specifically I want to add a secondary historyManager plugin which means I need to update the engine configuration to use the CompositeHistoryEventHandler.

This is easy enough with an embedded engine as I simply update the Spring configuration class.
However with a shared engine (meaning one of the packaged engines we can download) I’m not certain of the “supported” way to overload the configuration classes.

My client has indicated they dont want me to build a whole new distribution from source so I am looking for a way to overload the configuration of a standard shared engine and adding my custom handler.

Any help appreciated.
Thanks,
greg

Hi Greg,

I think the cleanest way would be via a process engine plugin. Its classes have to be available on the engine’s classpath (or in case of JBoss/Wildfly, the subsystem’s classpath), and you can register it in bpm-platform.xml (or in case of JBoss/Wildfly, standalone.xml).

Cheers,
Thorben

Thanks Thorben,
That was my first thought, but I was concerned that I could only extend the configuration (i.e. add more beans and services) and not over-write existing configuration (which is what is required to extend/replace the HistoryManager).

I will give t a try and report back.
Cheers,
Greg

Quick update.
Thorben’s suggestion was spot on. Setting up the new history manager in a preInit() of a Process Engine Plugin stopped the loading of the default history manager in the shared engine.
This allows the client to upgrade safely while still maintaining the necessary customizations.
Thanks again Thorben.
Greg