Is your feature request related to a problem? Please describe.
Currently the LDESClientProcessor defines it's own entityManagers and handles those connections to the DB, using StatePersistenceFactory. This introduces a whole heap of problems:
Reusing a database connection of a processor with the same name, for which the connection parameters may not be the same. For https://github.com/Informatievlaanderen/VSDS-Linked-Data-Interactions/issues/676, I created a processor with the same name as another LDESClientProcessor. Trying to start that processor resulted in the same error as in the ticket while having other connection details.
...
Describe the solution you'd like
The LDESClientProcessor should use the DBCPConnectionPool controller service of NiFi in order to obtain a database connection. Inspiration of use can be taken from the PutSQL processor of NiFi itself.
Additionally, to query and handle transactions and such, one could use additional libraries such as jOOQ which is more flexible than Hibernate.
Is your feature request related to a problem? Please describe. Currently the LDESClientProcessor defines it's own entityManagers and handles those connections to the DB, using
StatePersistenceFactory
. This introduces a whole heap of problems:Describe the solution you'd like The LDESClientProcessor should use the
DBCPConnectionPool
controller service of NiFi in order to obtain a database connection. Inspiration of use can be taken from the PutSQL processor of NiFi itself.Additionally, to query and handle transactions and such, one could use additional libraries such as jOOQ which is more flexible than Hibernate.