@Override public void start() throws Throwable { life = new LifeSupport(); for (XaDataSource ds : dataSources.values()) { life.add(ds); } life.start(); for (DataSourceRegistrationListener listener : dsRegistrationListeners) { try { for (XaDataSource ds : dataSources.values()) { listener.registeredDataSource(ds); } } catch (Throwable t) { msgLog.logMessage("Failed when notifying registering listener", t); } } }
public void addDataSourceRegistrationListener(DataSourceRegistrationListener listener) { if (life.getStatus().equals(LifecycleStatus.STARTED)) { try { for (XaDataSource ds : dataSources.values()) { listener.registeredDataSource(ds); } } catch (Throwable t) { msgLog.logMessage("Failed when notifying registering listener", t); } } dsRegistrationListeners = Listeners.addListener(listener, dsRegistrationListeners); }