Every time a new ServiceDispatcher is created, it calls ServiceEcaUtil.readConfig(). This is turn walks *all* installed ofbiz components, finding any ecas, and *adding* them to the global map in the ServiceEcaUtil class.
readConfig does not protect against being called a second(or third/fourth) time. So, each time it is called, another copy of the eca rules will be added. Every single ofbiz component has it's own dispatcher created. This then loads it's own ServiceDispatcher. In the ServiceDispatcher constructor, ServiceEcaUtil.readConfig() is called. The later then has no protection against being called multiple times. Could any one else confirm this?
