Details
-
Feature Request
-
Resolution: Unresolved
-
L3 - Default
-
None
-
None
-
None
-
None
Description
User Story (Required on creation):
I use spin/jackson to serialize and deserialize complex process variables. I use spring boot. My jackson object mapper has a specific configuration of modules, mixins, ... I expose this mapper as singleton spring bean and inject it in any component that requires json. Works great.
But: I cannot register my jackson object mapper instance in the camunda spin plugin. I have to provide a service loader, a dataFormatConfigurator interface implementation and provide static access to (a copy of) my singleton objectMapper.
What I want to do: Provide a SpinPlugin bean in my spring context that gets my object mapper injected and registers a dataFormatConfigurator based on that mapper.
Functional Requirements (Required before implementation):
Technical Requirements (Required before implementation):
Extend the SpinProcessEnginePlugin so it accepts an optional list of dataFormatConfigurators. If configurators are passed they are used (in addition to the service loader spi) to configure the DataFormats.INSTANCE. The methods already exist, just the constructor and the preInit() method of the plugin have to be extended.
Hint:
I already did this locally by extending the plugin class and overwriting preInit(), but I would like to see this in the core to a) avoid additional implementation and b) avoid copying code fragments that might change in the core (call of super.preInit() did not work, had to copy the method.
I would provide a PR for this. It is a personal feature request by me as community member.