/** * Set the default work manager * @param wm The work manager */ public void setDefaultWorkManager(WorkManager wm) { log.tracef("Default WorkManager: %s", wm); String currentName = null; if (defaultWorkManager != null) currentName = defaultWorkManager.getName(); defaultWorkManager = wm; if (wm != null) { workmanagers.put(wm.getName(), wm); } else if (currentName != null) { workmanagers.remove(currentName); } }
/** * Unregister work manager * @param wm The work manager */ public void unregisterWorkManager(WorkManager wm) { if (wm != null) { if (wm.getName() == null || wm.getName().trim().equals("")) throw new IllegalArgumentException("The name of WorkManager is invalid: " + wm); log.tracef("Unregistering WorkManager: %s", wm); if (workmanagers.keySet().contains(wm.getName())) { workmanagers.remove(wm.getName()); // Clear any events if (wm instanceof DistributedWorkManager) { WorkManagerEventQueue wmeq = WorkManagerEventQueue.getInstance(); List<WorkManagerEvent> events = wmeq.getEvents(wm.getName()); events.clear(); } } } }
dwm.getTransport().unregister(new Address(wm.getId(), wm.getName(), dwm.getTransport().getId()));
if (wm.getName() == null || wm.getName().trim().equals("")) throw new IllegalArgumentException("The name of WorkManager is invalid: " + wm); if (!workmanagers.keySet().contains(wm.getName())) workmanagers.put(wm.getName(), wm); List<WorkManagerEvent> events = wmeq.getEvents(wm.getName()); log.tracef("%s: Events=%s", wm.getName(), events);