+
+ public void deregisterProducer(EiProducer producer, EiTypes eiTypes, EiJobs eiJobs) {
+ this.remove(producer);
+ for (EiType type : producer.getEiTypes()) {
+ boolean removed = type.removeProducer(producer) != null;
+ if (!removed) {
+ this.logger.error("Bug, no producer found");
+ }
+ if (type.getProducerIds().isEmpty()) {
+ eiTypes.deregisterType(type, eiJobs);
+ }
+ }
+ }
+
+ private synchronized void remove(EiProducer producer) {
+ this.allEiProducers.remove(producer.getId());
+ }
+