Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-1660

Per-thread scope services not thread-safe

    XMLWordPrintableJSON

Details

    Description

      Hi,

      Since Tapestry 5.2, it seems that per-thread scope services are not thread-safe (some of our integration tests executed in parallel fail since Tapestry 5.2).

      The proxy managed by Tapestry does not create a new instance of the service for each request/thread as expected.
      That leads to strange behaviour when you use the Environmental services as data's container for example.

      I also noticed that the synchronization of some resources (used by per-thread scope services) is effective only for jdk 1.5 (see PerthreadmanagerImpl's constructor and JDUtils.JDK_1_5). But this aspect does not explain everything : the tests fail with JDK 1.5 too.

      The related discussion here : http://tapestry.1045711.n5.nabble.com/Tapestry-5-2-Per-thread-scope-services-not-thread-safe-td4825735.html

      Nourredine.

      Attachments

        1. tapestry5-concurrency-sample.zip
          109 kB
          Nourredine K.
        2. Perthread_scope_Threadsafe_Tapestry5.2.6.patch
          2 kB
          Nourredine K.

        Activity

          People

            Unassigned Unassigned
            nourredine Nourredine K.
            Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: