[ https://issues.apache.org/struts/browse/WW-2507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Don Brown resolved WW-2507. --------------------------- Resolution: Fixed Assignee: Rainer Hermanns Resolving this issue as the original problem has been fixed. Please open a new ticket if you feel session invalidation should also be addressed. > I18nInterceptor's intercept method is not thread safe > ----------------------------------------------------- > > Key: WW-2507 > URL: https://issues.apache.org/struts/browse/WW-2507 > Project: Struts 2 > Issue Type: Bug > Components: Core Interceptors > Affects Versions: 2.0.11 > Reporter: Bob Tiernay > Assignee: Rainer Hermanns > Fix For: 2.1.3 > > > The following excerpt from I18nInterceptor's intercept method is not thread > safe: > //save it in session > Map session = invocation.getInvocationContext().getSession(); <--- > start of atomic operation > if (session != null) { > if (requested_locale != null) { > Locale locale = (requested_locale instanceof Locale) ? > (Locale) requested_locale : > LocalizedTextUtil.localeFromString(requested_locale.toString(), null); > if (log.isDebugEnabled()) { > log.debug("store locale=" + locale); > } > if (locale != null) { > session.put(attributeName, locale); > } > } > //set locale for action > Object locale = session.get(attributeName); <--- session may no > longer exist due to concurrecy. > if (locale != null && locale instanceof Locale) { > if (log.isDebugEnabled()) { > log.debug("apply locale=" + locale); > } > saveLocale(invocation, (Locale)locale); > } > } > Between the calls of: > 1. Map session = invocation.getInvocationContext().getSession(); , and > 2. Object locale = session.get(attributeName); > the session may have been invalidated. In my particular application, this > was indeed the case. This causes an invalid session exception to be raised. > The recommended handling would be to synchronize this portion of the method. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.