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

@RequestScoped isn't honoured

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment