code: @PostConstruct
      public void init() {
          //init Bus and LifeCycle listeners
          if (bus != null && sendLifecycleEvent ) {
                  ServerLifeCycleManager slcm = bus.getExtension(ServerLifeCycleManager.class);
                  if (null != slcm) {
                      ServiceListenerImpl svrListener = new ServiceListenerImpl();
                      svrListener.setSendLifecycleEvent(sendLifecycleEvent);
                      svrListener.setQueue(queue);
                      svrListener.setMonitoringServiceClient(monitoringServiceClient);
                      slcm.registerListener(svrListener);
                  }
  
                  ClientLifeCycleManager clcm = bus.getExtension(ClientLifeCycleManager.class);
                  if (null != clcm) {
                      ClientListenerImpl cltListener = new ClientListenerImpl();
                      cltListener.setSendLifecycleEvent(sendLifecycleEvent);
                      cltListener.setQueue(queue);
                      cltListener.setMonitoringServiceClient(monitoringServiceClient);
                      clcm.registerListener(cltListener);
                  }
          }
  
          if(executorQueueSize == 0) {
          	executor = Executors.newFixedThreadPool(this.executorPoolSize);
          }else{
              executor = new ThreadPoolExecutor(executorPoolSize, executorPoolSize, 0, TimeUnit.SECONDS, 
              		new LinkedBlockingQueue<Runnable>(executorQueueSize), Executors.defaultThreadFactory(), 
              			new RejectedExecutionHandlerImpl());
          }
  
          scheduler = new Timer();
          scheduler.scheduleAtFixedRate(new TimerTask() {
              public void run() {
                  sendEventsFromQueue();
              }
          }, 0, getDefaultInterval());
      }
docs: Instantiates a new event collector.