struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yasser Zamani <yasserzam...@apache.org>
Subject RE: EmptyStackException after upgrading Struts 2.3 to 2.5
Date Tue, 29 Jan 2019 11:04:21 GMT
>From: Lukasz Lenart <lukaszlenart@apache.org>
>Sent: Tuesday, January 29, 2019 2:18 PM
>To: Struts Users Mailing List <user@struts.apache.org>
>Subject: Re: EmptyStackException after upgrading Struts 2.3 to 2.5
>
>wt., 29 sty 2019 o 11:30 Yasser Zamani <yasserzamani@apache.org> napisaƂ(a):
>> Yes you both are right. It looks like a race condition between stack.clear and
>stack.write [1]. But somehow it's odd. I was aware about this and defined them
>as prototype [2] so I except new instance on each request. I also can recall I
>tested them heavily on high concurrent load [3].
>
>but this is used in an interceptor and interceptors are created once per package,
>so the same instance will be used for the same requests

Yes I recently learnt it but I always logically had this assumption: When bean A needs bean
B to be injected and B's type is `prototype`, then Struts internal injection cycle always
re-inject a new instance of B into A regardless if A's type is `singleton` or `prototype`.
So I missed this case :( and Ach, you're right, I now can retain my high concurrent test was
on JSONResult not JSONInterceptor :(

Regards.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Mime
View raw message