How to extend Camunda API?

Hi guys,
I need to extend the Camunda API (JAVA/REST). What are the best practices?

For Example, I want to extend Runtime Service because I want change the claim service.

Thanks in advance

Luca

Hi @lsantaniello,
have a look at Engine Plugins option.
Related docs: https://docs.camunda.org/manual/7.7/user-guide/process-engine/process-engine-plugins/
Some examples: https://github.com/camunda/camunda-bpm-examples/tree/master/process-engine-plugin

Hi @sdorokova,
I read the documentation page but I don’t understand very well. Could you please support me?

For example, I want rewrite startProcessInstanceByKey service (or other services).

@Autowired
private RuntimeService runtimeService;

@EventListener
private void processPostDeploy(PostDeployEvent event) {
	runtimeService.startProcessInstanceByKey("workflow-sanity");
}

I think that I need to extends TaskService but I don’t know How.

I found this description:

We have decided to refactor the configuration mechanism. Especially, we removed the org.camunda.bpm.spring.boot.starter.configuration.CamundaConfiguration interface. For now, each configuration is a org.camunda.bpm.engine.impl.cfg.ProcessEnginePlugin. With this it is possible to hook into preInit, postInit and postProcessEngineBuild, which supports more complex situations. If you have implemented a CamundaConfiguration, you have to switch to ProcessEnginePlugin (and its preInit method). You can also extend your configuration from org.camunda.bpm.spring.boot.starter.configuration.impl.AbstractCamundaConfiguration to avoid a cast to SpringProcessEngineConfiguration.

Thanks in advance

Luca