-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scan models in Subdirectories #1
Comments
This has been implemented on master. Unfortunately, we need the CLI dependency but at least it works for now. |
Reopening because changes needed to be reverted on master because this did not work if started with "java -jar", see commit b5e5eac |
Note: it must be possible to solve this with ahead of time (AOT) compilation, i.e. we resolve the process models at compilation time, not runtime. |
Tobias wrote in Gitter:
Hint from Graeme Rocher
see also |
Have you solved how to serialize the various camunda caching to compile it? A lot of the internal classes are only partially Serializable: a lot of inconsistencies. There were also some issues we ran into around aot compilation: things like ID generation of many of the values, various caches (DBCache, Deployment Cache, etc) that were not designed for pre-comp |
@StephenOTT : This issue here is only about resolving the paths of the models in the classpath. The AOT of the process models itself is part of #85 . Regarding #85: I'm actually not thinking of serializing the process model definition instances but transforming the process models into a fluent API using org.camunda.bpm.model.bpmn.Bpmn.createProcess(...) |
Okay. Note that the fluent API does not support all aspects BPMN. So as a result you need to manually generate many of the objects at a low level of the API. (Again went down this path as well for other use cases) |
GraalVM and Micronaut Data also uses TypeElementVisitor |
Current version can be found under: https://github.com/Hayvon/micronaut-camunda-bpm/tree/processModelsAoT Current ToDos:
|
A GraalVM feature for Flyway that calculates the migration to apply at compile time: |
Scanning recursively is not very resource efficient - instead the locations can now be configured which is the same as for micronaut-flyway. |
Currently, models are only found in the root resource directory. In future, the search should be recursive.
Currently, we're using PathMatchingResourcePatternResolver from Spring (probably comes via Camunda Dependency). We should switch that to io.micronaut.core.io.ResourceLoader
See also https://stackoverflow.com/questions/53370135/is-there-an-equivalent-for-springs-resource-in-micronaut
The text was updated successfully, but these errors were encountered: