ConcurrentStandardizerProcessor takes Deprecated Standardize

User 7910dcb734

27-02-2013 10:55:35

Hi,


I'm attempting to use a ConcurrentStandardizerProcessor. The documentation says to use the .setStandardizer method, passing it a Standardizer object.


Unfortunately, the Standardizer object it accepts is the deprecated (chemaxon.reaction.standardizer) version, rather than the current version (chemaxon.standardize.standardizer). In fact, the API from the ConcurrentStandardizerProcessor still points to the out-dated version. 


Any workarounds?


 


Brendan

ChemAxon f250711500

28-02-2013 11:14:34

Hi Brendan,


Unfortunately ConcurrentStandardizerProcessor works only with the chemaxon.reaction.Standardizer class. In an upcoming version we will have a concurrent implementation for the chemaxon.standardizer.Standardizer class too. We deprecated the older version of standardizer too soon, but it will not be removed in the near future.


As for now please use the older implementation of Standardizer with ConcurrentStandardizerProcessor if you need concurrent executon.


Sorry for the inconvenience,


Imre


 

User 7910dcb734

06-03-2013 16:10:37

Hi Imre,


Thanks for the response. I will use the deprecated version for now.


Is there a concurrent CheckerRunner for structure checking, or can/should I thread this one manually?


Cheers,


Brendan

ChemAxon f250711500

07-03-2013 10:26:32

Hi Brendan,


We do not have public API for concurrent execution of structure checker (however the GUI of the structure checker is executed concurrently).


As for now you need to create a custom implementation. An important note for the implementation is, that you should not use a single checker instance on more than one thread, as some checkers may contain volatile data. If you have a configuration XML or action string, you need to read it once for each thread.


Cheers,


Imre

User 7910dcb734

07-03-2013 10:36:30

Thanks Imre.


 


If I make a new CheckerRunner for each thread, would this cause problems?


I am using a ConfigurationReader to read the Checker config.xml. Is this thread-safe, or do I need a seperate one for each thread also?


 


Cheers,


 


Brendan

ChemAxon f250711500

11-03-2013 08:58:09

Hi Brendan,


 


You should create a new CheckerRunner and XML configuration reader for each thread, as we use SAX parsing, that is not stateless.


We are planning to implement concurrent execution for Structure Checker too (with clonable configuration for optimization)


 


Best regards,


Imre 

ChemAxon e08c317633

28-08-2013 13:42:26

From JChem 6.0 chemaxon.standardizer.concurrent.StandardizerRunner can be used to execute Standardizer (chemaxon.standardizer.Standardizer) in concurrent mode.


Currently there is no API support to run Structure Checker in concurrent mode.