/** * Adds a @UpdateCheckListener who will be notified when the version changes, * @param newListener */ public void addListener(UpdateCheckListener newListener) { GatewayVersion latestGatewayVersion = this.getLatestGatewayVersion(); if (latestGatewayVersion != null && latestGatewayVersion.compareTo(currentVersion) > 0) { newListener.newVersionAvailable(currentVersion, latestGatewayVersion); } newListener.setUpdateCheckService(this); listeners.add(newListener); } }
@Override public void start() throws Exception { // add listeners listeners.clear(); addListener(new UpdateCheckLoggingListener()); Map<String, Object> serviceSpecificObjects = serviceContext.getServiceSpecificObjects(); Object managementListener = serviceSpecificObjects.get(MANAGEMENT_UPDATE_CHECK_LISTENER); if (managementListener != null && managementListener instanceof UpdateCheckListener) { addListener((UpdateCheckListener) managementListener); } for (UpdateCheckListener listener : listeners) { listener.setUpdateCheckService(this); } scheduledTasks = scheduler.scheduleAtFixedRate(new UpdateCheckTask(this, versionServiceUrl, productName), 0, 7, DAYS); }