Details

    • Type: Enhancement
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 4.5.0.Final
    • Component/s: jaxrs
    • Labels:
      None

      Description

      This is about:

      • Improving Resteasy boot time by reducing copying within ResteasyProviderFactoryImpl, Client/ServerHelper, and MediaTypeMap: a ton of copy-on-write structures and patterns are used. Even with improvements last summer (RESTEASY-2302), WebTargets still do a ton of copying of their underlying ResteasyProviderFactories. Code has to be changed so that at boot time copy-on-write is turned off and after boot is complete, a flag is set to turn ON copy-on-write.
      • Next big change is needed for Quarkus on boot. New fine-grain registration methods to ResteasyProviderFactoryImpl are needed to allow Quarkus to do a lot of boot processing at build time.
      • Finally, in the current codebase, if there is no async injection, a huge CompletionStage chain is created that encompasses: resource object construction, property injection, method argument injection, and method invocation. The huge CompletionStage stack that is created for each HTTP invocation has to be unwound.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  bill.burke Bill Burke
                  Reporter:
                  asoldano Alessio Soldano
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: