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

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

              Dates

              • Created:
                Updated:
                Resolved: