Task Properties are no longer read (via AbstractCurationTask taskProperty) from a configuration file named with the configured task name. This functionality works in DSpace 5.6 but no longer works in 6.0:
host = taskProperty("clamav.service.host");
Note that there is no name of the configuration file even mentioned, just the property name whose value we want. At runtime, the curation system resolves this call to a configuration file, and it uses the name the task has been configured as as the name of the config file. So, for example, if both were installed (in curate.cfg) as:
org.dspace.ctask.general.ClamAv = vscan,
org.community.ctask.ConflictTask = virusscan,
then "taskProperty()" will resolve to dspace/config/modules/vscan.cfg when called from ClamAv task, but dspace/config/modules/virusscan.cfg when called from ConflictTask's code. Note that the "vscan" etc are locally assigned names, so we can always prevent the "collisions" mentioned, and we make the tasks much more portable, since we remove the "hard-coding" of config names.