[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-2864) Injection not working with concurrent clients

Sergey Petrakovsky (JIRA) jira-events at lists.jboss.org
Thu Jul 10 09:00:26 EDT 2008


    [ http://jira.jboss.com/jira/browse/JBSEAM-2864?page=comments#action_12420805 ] 
            
Sergey Petrakovsky commented on JBSEAM-2864:
--------------------------------------------

If 2 threads invoke method of application scoped component at the same time, following scenario can be reproduced:
1. 1st thread call method, it will force component injection (all @In fields will be injected).
2. 2nd thread call method of the same component, as component was already initialized no injection forced.
3. 1st thread went out from the method and disinjection occurs (all @In firlds set to null value).
4. 2nd thread try to execute method on uninitialized component (@In fields == null). ERROR!!

Furthermore, if application scoped component have event scoped @In fields, on the 2nd step component for 2nd thread will be initialized with thread 1 event scoped components == event scoped components of thread 1 will be used by two differrent threads.

If we use about 5 users it works fine, if increase count of users to 10 - we gets NPE.

> Injection not working with concurrent clients
> ---------------------------------------------
>
>                 Key: JBSEAM-2864
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-2864
>             Project: Seam
>          Issue Type: Bug
>          Components: Core, Performance and Scalability
>    Affects Versions: 2.0.1.GA, 2.0.1.CR2, 2.0.1.CR1
>         Environment: Jboss AS 4.2.2.GA, Windows
>            Reporter: Marcell Barbacena
>         Attachments: myproject.zip, Performance.jmx
>
>
> When I was loading testing my application I was getting some NPE.
> I narrowed down the error and created the example app based on a seam-gen one (just stripped the lib directory).
> Basically, what I want to execute the place GET at the following URLs:
> http://localhost:8080/myproject/performance/startsession.seam
> http://localhost:8080/myproject/performance/start.seam
> http://localhost:8080/myproject/performance/search.seam?parameter=1&cid=2
> http://localhost:8080/myproject/performance/end.seam?cid=2
> If after you start jboss you execute the above it goes ok. The debug page shows that the long-running conversation is gone and everything is ok.
> Then I created a JMeter test, just capturing the "cid" from start, and use it at search and end page (see attached jmeter test). If you run the script with 1 thread no loop, it goes ok. If you run with 5 (in my pc) it goes ok. But when you put more then 20, it starts to get NPE at SimpleAction#search when it calls the DAO.
> The log at search.xhtml shows the error and the sysos at SimpleAction#search shows it as well.
> Please, provide a workaround in 2.0.1.CR1.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list