[ http://nagoya.apache.org/jira/browse/JSIEVE-10?page=comments#action_55326 ] Steve Brewin commented on JSIEVE-10: ------------------------------------
In truth all the Singletons should be synchronized learning from Double-checked locking and the Singleton pattern (http://www-106.ibm.com/developerworks/java/library/j-dcl.html?dwzone=java). That they aren't is because by and large the Singletons represent an alpha level harness to access the core code. In the future I was thinking of using IOC (probably Hivemind) to assemble things in a much cleaner manner. Still, I would be happy if someone wants to submit a patch to make the singletons thread safe. -- Steve > Race condition in CommandStateManager > ------------------------------------- > > Key: JSIEVE-10 > URL: http://nagoya.apache.org/jira/browse/JSIEVE-10 > Project: jSieve > Type: Bug > Reporter: Kirk Chen > > The resetInstance method in CommandStateManager should be synchronized. In > multithreaded environment, I encountered the following exception: > java.lang.NullPointerException > at > org.apache.jsieve.commands.CommandStateManager.setInstance(CommandStateManager.java:122) > at > org.apache.jsieve.commands.CommandStateManager.updateInstance(CommandStateManager.java:140) > at > org.apache.jsieve.commands.CommandStateManager.getInstance(CommandStateManager.java:95) > at org.apache.jsieve.SieveFactory.evaluate(SieveFactory.java:145) > at RuleManager.applyRules(RuleManager.java:87) > ... > which should have been caused by the lack of it. I am yet to verify this > theory, however. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://nagoya.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
