Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-13628

Quarkus Support for the Platform



    • Epic
    • Resolution: Done
    • L3 - Default
    • 7.16.0, 7.16.0-alpha5
    • None
    • None
    • None
    • Platform offers Quarkus Support


      The platform offers Quarkus Support

      Product Management Requirements

      • Source code of Quarkus Extension is part of the Platform's mono repository (see CAM-13582)
      • When the Quarkus application starts, a single engine is bootstrapped based on the user configurations
      • Support engine-cdi¬†module to the extent of the coverage of the CDI standard that comes with the Quarkus ARC implementation (see CAM-13562)
      • Deployment
        • Programmatic deployment is possible (see CAM-13630)
        • [OPTIONAL] Modelling resources are automatically deployed (see CAM-13565)
          • Resources are picked up via classpath scanning
          • There is a predefined pattern to scan automatically for resources that can be configured via application.properties file
      • Persistence Layer Integration via Quarkus Agroal (see CAM-13632)
        • Quarkus Agroal provides a transaction manager which allows users to integrate with their Quarkus application into process engine transactions
          • The transaction manager should be used by the process engine
          • Root cause the exception thrown when configuring the transaction manager with H2
        • When multiple data sources are available, it is possible to configure the one used for the engine, via a configuration property in the¬†application.properties file
          • When the property is not set and...
            • ...only one data source available => choose this one
            • ...multiple data sources exist but one is default => choose this one
            • ...multiple data sources exist but none of them is default => throw exception
        • [OPTIONAL] For the sake of a good getting started experience, in-memory persistence using the H2 database should be configured automatically (see CAM-13635)
      • Configuration
        • A user can configure the process engine programmatically (e.g., via defining a process engine configuration bean)
        • [OPTIONAL] Process Engine plugins can be registered via bean definition (see CAM-13633)
          • This allows to configure the process engine programmatically
        • [OPTIONAL] There exists a mechanism to configure the process engine via application.properties comparable to the Spring Boot generic-properties mechanism (see CAM-13629)
      • Job executor (see CAM-13630)
        • Investigate what other Quarkus tasks use the Quarkus thread pool and decide if it makes sense to create a dedicated thread pool for the Job Executor or integrate the Job Executor into the Quarkus thread pool (Do Engine Job Executor tasks compete with HTTP requests? With what tasks would the Job Executor compete?).
        • Make configurations available via application.properties for the user (since they are not available via process engine configuration)

      Source code of the prototype



        This is the controller panel for Smart Panels app


          Issue Links



                tassilo.weidner Tassilo Weidner
                tassilo.weidner Tassilo Weidner
                Tassilo Weidner Tassilo Weidner
                Nikola Koevski Nikola Koevski
                2 Vote for this issue
                3 Start watching this issue