struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrea Ligios (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (WW-4592) The ScopedModelDriven Interceptor is not thread safe ?
Date Tue, 19 Jan 2016 18:07:40 GMT

     [ https://issues.apache.org/jira/browse/WW-4592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Andrea Ligios updated WW-4592:
------------------------------
    Description: 
Looking at the source code of the ScopedModelDriven Interceptor, I can see the following variables
scoped at class level:

{code:java}
     private String scope;
     private String name;
     private String className;
     private ObjectFactory objectFactory;
{code}

https://github.com/apache/struts/blob/master/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java#L85-L88

AFAIK, this means they're not thread safe, since different requests could override those variables
altering the workflow of other threads.

Even if it's not that easy for it to happen, it seems just wrong.

And by the way, what's the problem on having those defined at method level, and settle things
once and for all ? 

  was:
Looking at the source code of the ScopedModelDriven Interceptor, I can see the following variables
scoped at class level:

     private String scope;
     private String name;
     private String className;
     private ObjectFactory objectFactory;

https://github.com/apache/struts/blob/master/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java#L85-L88

AFAIK, this means they're not thread safe, since different requests could override those variables
altering the workflow of other threads.

Even if it's not that easy for it to happen, it seems just wrong.

And by the way, what's the problem on having those defined at method level, and settle things
once and for all ? 


> The ScopedModelDriven Interceptor is not thread safe ?
> ------------------------------------------------------
>
>                 Key: WW-4592
>                 URL: https://issues.apache.org/jira/browse/WW-4592
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Interceptors
>            Reporter: Andrea Ligios
>
> Looking at the source code of the ScopedModelDriven Interceptor, I can see the following
variables scoped at class level:
> {code:java}
>      private String scope;
>      private String name;
>      private String className;
>      private ObjectFactory objectFactory;
> {code}
> https://github.com/apache/struts/blob/master/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java#L85-L88
> AFAIK, this means they're not thread safe, since different requests could override those
variables altering the workflow of other threads.
> Even if it's not that easy for it to happen, it seems just wrong.
> And by the way, what's the problem on having those defined at method level, and settle
things once and for all ? 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message