we would like to use in our deployed process definition event definitions, like signal events or error events, which are defined in another BPMN file.
BPMN 2.0 has the Import Class for this, but as we tried this out, we got the following exception from camunda on deployment:
{“type”:“ProcessEngineException”, “message”:“ENGINE-09005 Could not parse BPMN process. Errors: \n* Could not import item of type http://www.omg.org/spec/BPMN/20100524/MODEL | control.bpmn | line 2 | column 156”}
I was checking the source code and the exception is thrown on parsing if there is no fitting importer for this type.
I was wondering why there seems to be no importer for BPMN in the process engine?
Do I have to configure it anywhere or has anyone already used this importer?
our project consists of multiple processes. Each of the process is treated like a microservice and is deployed independently in its own BPMN file.
Event Definitions are created in a seperate model globaly without any process. They will also be deployed seperately, in a definition GPMN file without any processes. If a process works with one of these event definitions, it should reference them from the definition file by the import.
By ddoing this, we want to avoid defining the event definitions together with the process, so we don’t have to check if a definition is already deployed or defined.
I will try to create a simple example as soon as I find the time for it.
Such an importer simply does not exist (yet). Also I am not sure if we currently want to build it.
It is actually the first time I stumble upon your idea
Spontaneously I am not a big fan of sharing some BPMN resource globally, especially if you do microservices. Isn’t that adding some unnecessary dependency on BPMN on a global level?
So you basically want to share the event names - right? My spontaneous thought would have been that this is a simple String - and it is good that there is no common resource needed for it. You could still have test cases or consumer driven contracts to validate the event names you assume are correct. But maybe I am missing something?
Of course, we can and we will work with the simple String event names and validate them locally. The basic question was more about the import functiuon, this was just a use case which came to my mind.
Now we know that this is currently not supported and have to find another solution just in case we might need it in the future.