Uploaded image for project: 'Causeway'
  1. Causeway
  2. CAUSEWAY-2296

@RequestScoped isn't honoured

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • None
    • 2.0.0-M3
    • None
    • None

    Description

      @RequestScoped isn't honoured (don't see new instance each request)

      The services are:

      • AcceptHeadersService
      • CommandContext
      • InteractionContext
      • Scratchpad
      • PublisherDispatchServiceDefault

      That's a big problem... I would expect them to be instantiated (and call @PostConstruct/@PreDestroy) for each request.  As it is, they seem to be singletons.

      Also, these three further domain services are annotated with @RequestScoped, but also implement WithTransactionScope:

      • ChangedObjectService
      • QueryResultsCacheDefault
      • MetricsServiceDefault

      This callback is being called, so they are not memory leaking over time, but they are not thread-safe for concurrent transactions.  At any rate, we should get rid of this home-grown transaction stuff and instead use Spring's @TransactionScope

      ~~~

      Also, AcceptHeadersServiceForRest (the RO implementation) although it is annotated with @RequestScoped, seems to have its own thread-local.  This could probably be removed if it can be made to be properly request-scoped.

       

       

      Attachments

        Issue Links

          Activity

            People

              hobrom Andi Huber
              danhaywood Daniel Keir Haywood
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: