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

In Spring Boot, availability of long-polling depends on order of rest and webapp artifact in pom.xml

    XMLWordPrintable

Details

    • Bug Report
    • Resolution: Fixed
    • L3 - Default
    • spring-boot 3.4.0
    • spring-boot 3.4.0, spring-boot 3.2.4, spring-boot 3.0.4, spring-boot 3.1.4, spring-boot 3.3.2
    • spring-boot
    • None

    Description

      Steps to reproduce

      1. Use 1st Webapps and 2nd REST API artifact in pom.xml
      2. Start the application
      3. Perform the following REST API request:
        POST http://localhost:8080/rest/external-task/fetchAndLock
        
        {
          "workerId": "aWorkerId",
          "asyncResponseTimeout": 1800001
        }
        

      Observed behavior

      • Response body is an empty JSON array
      • The wrong rest artifact is used

      Expected behavior

      • Response body is
        {"type":"InvalidRequestException","message":"The asynchronous response timeout cannot be set to a value greater than 1800000 milliseconds"}
        
      • Independently of the ordering of the dependencies, the long-polling containing artifact is used

      Ideas to resolve this

      • Use the JAX-RS 2 artifact in the webapps (con: would then also expose long polling API in the webapp, which is not needed at all)
      • Shade the REST API into the webapp with relocated class names => avoids clash between artifacts

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Issue Links

            Activity

              People

                nikola.koevski Nikola Koevski
                tassilo.weidner Tassilo Weidner
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Salesforce