Hi Tom,

Thanks for your contribution. I will try to fix this for the next release. Do you know a sample scenario that can reproduce the concurrent issue?
If not, can I ask you to test the 1.4 version before I release it to know if it is really solved.
The problem is I will modify TestingEngineRegistry, so I can't apply your patch "as it".

++

Julien

----- Message d'origine ----
De : Tom Ziemer <[EMAIL PROTECTED]>
À : [email protected]
Envoyé le : Mardi, 7 Novembre 2006, 11h01mn 09s
Objet : [Jwebunit-users] Concurrency problems

Hi Julien,

some months ago, a colleague and I submitted a patch that resolved
concurrency issues in jWebUnit. A couple of days ago I was contacted by
somebody who had a similar problem with the current version. Assuming
this is still an open issue (I haven't checked the current source), I am
re-submitting our patch.

Regards,
Tom
22d21
<
31c30,31
<      * @return
---
>      * @return a [EMAIL PROTECTED] Hashtable} containing all registered testing engine classnames
>      * @throws ClassNotFoundException if a testing engine cannot be found in the classpath
33,34c33,35
<     public static Hashtable getTestingEngineMap() {
<         if (testingEngineMap == null) {
---
>     // needs to synchronized for concurrent testing
>     public static synchronized Hashtable getTestingEngineMap() throws ClassNotFoundException{
>         if (testingEngineMap == null) {
36,41c37,44
<             try {
<                 String cp = "net.sourceforge.jwebunit.htmlunit.HtmlUnitDialog";
<                 Class.forName(cp);
<                 testingEngineMap.put(TESTING_ENGINE_HTMLUNIT, cp);
<             } catch (ClassNotFoundException e) {
<                 //Nothing to do
---
>             String cp = "net.sourceforge.jwebunit.htmlunit.HtmlUnitDialog";
>             try{
>                 Class.forName(cp);
>                 testingEngineMap.put(TESTING_ENGINE_HTMLUNIT, cp);
>             }catch(ClassNotFoundException cnfex){
>                 // couldn't find the class we were looking for
>                 // pass the exception on to the caller
>                 throw new ClassNotFoundException("The testing engine class <"+cp+"> could not be found.");
55,56c58
<         Class theClass = Class
<                 .forName((String) getTestingEngineMap().get(aKey));
---
>         Class theClass = Class.forName((String) getTestingEngineMap().get(aKey));
35c35
<
---
>    
2096,2103c2096,2110
<             if (TestingEngineRegistry.getTestingEngineMap().keys()
<                     .hasMoreElements()) {
<                 setTestingEngineKey((String) TestingEngineRegistry
<                         .getTestingEngineMap().keys().nextElement());
<             } else {
<                 throw new RuntimeException(
<                         "TestingEngineRegistry contains no dialog. Check you put at least one plugin in the classpath.");
<             }
---
>             
>             // trying to get registered testing engine
>             // throwing a RuntimeException if this fails
>             try{
>                 if (TestingEngineRegistry.getTestingEngineMap().keys()
>                         .hasMoreElements()) {
>                     setTestingEngineKey((String) TestingEngineRegistry
>                             .getTestingEngineMap().keys().nextElement());
>                 } else {
>                     throw new RuntimeException(
>                             "TestingEngineRegistry contains no dialog. Check you put at least one plugin in the classpath.");
>                 }
>             }catch(ClassNotFoundException cnfex){
>                 throw new RuntimeException("Error obtaining testing engine. Details follow. "+ cnfex.getMessage());
>             }
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Jwebunit-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jwebunit-users



Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions ! Profitez des connaissances, des opinions et des expériences des internautes sur Yahoo! Questions/Réponses.
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Jwebunit-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jwebunit-users

Reply via email to