cancel
Showing results for 
Search instead for 
Did you mean: 

Switching Persistence layer

byr
Champ in-the-making
Champ in-the-making
Hi!

I'm playing with Activiti 6 Beta2 Snapshot (got the sources yesterday) to completely switch the Persistence layer from Mybatis / native SQL to our in-house solution.

It seems to work fine, however I faces some problems and I have also some questions regarding this:

1.) I run in the HistoricActivityInstanceQueryImpl.java into a problem, that the fields tenantId, tenantIdLike and withoutTenantId do not have a getter, so I'm unable to get the values and set into my query (except with reflection, but I don't want to do this). Is this on purpose or just a mistake? (I saw in the entity mapping xml, that all 3 fields are used to filter the query)

2.) If I completely switch to a different persistence layer is there any possibility to get a ProcessEngineConfiguration implementation where no Datasource and Database type is required? I saw in the code, that even if I create new DataManagers to all entities, some native SQL-s are still run through DbSqlSession. I do not want that, since our persistence layer can support databases, which are not supported by Activiti. It would be nice, to have a ProcessEngineConfiguration, where no Datasource is needed and if the Engine requires data (like schema.version or similar data) would obtain them through the proper DataManager. Our persistence layer will handle database structure changes, so no need to do this via Activiti Engine.

Should I run into similar problems like in 1.) should I write it here, or is there some other forum or JIRA or something where I could fire bug reports?

Thanks!

Regards,

byr
10 REPLIES 10

jbarrez
Star Contributor
Star Contributor
I think it has to do with the way Activiti does updates: it keeps inserted/retrieved entities in a cache and at the end of the transaction those are flushed. For this puprose, the https://github.com/Activiti/Activiti/blob/activiti6/modules/activiti-engine/src/main/java/org/activi... has been extracted.

I'm not sure if we can provide something on a higher level that would make these things easier … I've added it https://github.com/Activiti/Activiti/wiki/Activiti-V6-notes to think about and (hopefully) fix