/** * Initializes the timer for sending refresh notifications. */ static void createRefreshTimer() { try { refreshTimer = new javax.management.timer.Timer(); mbeanServer.registerMBean(refreshTimer, refreshTimerObjectName); refreshTimer.start(); } catch (JMException e) { logStackTrace(Level.WARN, e, "Failed to create/register/start refresh timer."); } catch (JMRuntimeException e) { logStackTrace(Level.WARN, e, "Failed to create/register/start refresh timer."); } catch (Exception e) { logStackTrace(Level.WARN, e, "Failed to create/register/start refresh timer."); } }
private void registerTargetCheckTimer() { try { mTargetCheckTimer = new Timer(); mTargetCheckTimerObjectName = new ObjectName(EventManagementConstants.EVENT_MANAGEMENT_TARGET_CHECK_TIMER_MBEAN_NAME); ((MBeanServer) mMBeanServer).registerMBean(mTargetCheckTimer, mTargetCheckTimerObjectName); hookUpToTimerService(mTargetCheckInterval); mTargetCheckTimer.start(); } catch (Exception e) { String bundleKey = "caps.management.server.alert.instance.check.timer.setup.error.log.msg"; String message = AlertUtil.constructLogMessage(bundleKey); mLogger.log(Level.WARNING, message, e); } }
private void registerPolicyExecutionTimer() { try { mTimer = new Timer(); mTimerObjectName = new ObjectName(EventManagementConstants.EVENT_MANAGEMENT_REMOVAL_POLICY_TIMER_MBEAN_NAME); if(mPlatformContext.isAdminServer() && ((MBeanServer) mMBeanServer).isRegistered(mTimerObjectName)) { return; // registered by the controller mbean } ((MBeanServer) mMBeanServer).registerMBean(mTimer, mTimerObjectName); hookUpToTimerService(mAlertPersistenceConfiguration.getPersistenceAlertPolicyExecInterval()); if(mAlertPersistenceConfiguration.getPersistedAlertRemovalPolicyExecEnabled()) { // add notification interval prior to starting isTimerRunning = true; mTimer.start(); } } catch (Exception e) { String bundleKey = "caps.management.server.alert.persistence.removal.policy.setup.error.log.msg"; String message = AlertUtil.constructLogMessage(bundleKey); mLogger.log(Level.WARNING, message, e); } }
@Test(expected=RuntimeException.class) public void testDoubleRegister() throws Exception { ControlService cs = new JMXControlService(DOMAIN, new Hashtable<>()); String type = "timer"; String id = "a"; String alias = "ControlA"; String controlId = cs.registerControl(type, id, alias, TimerMBean.class, new Timer()); try { cs.registerControl(type, id, alias, TimerMBean.class, new Timer()); } finally { cs.unregister(controlId); } } @Test(expected=RuntimeException.class)
/** * Initializes the timer for sending refresh notifications. */ static void createRefreshTimer() { try { refreshTimer = new javax.management.timer.Timer(); mbeanServer.registerMBean(refreshTimer, refreshTimerObjectName); refreshTimer.start(); } catch (JMException e) { logStackTrace(Level.WARN, e, LocalizedStrings.MBeanUtil_FAILED_TO_CREATE_REFRESH_TIMER.toLocalizedString()); } catch (JMRuntimeException e) { logStackTrace(Level.WARN, e, LocalizedStrings.MBeanUtil_FAILED_TO_CREATE_REFRESH_TIMER.toLocalizedString()); } catch (Exception e) { logStackTrace(Level.WARN, e, LocalizedStrings.MBeanUtil_FAILED_TO_CREATE_REFRESH_TIMER.toLocalizedString()); } }
/** * Initializes the timer for sending refresh notifications. */ static void createRefreshTimer() { try { refreshTimer = new javax.management.timer.Timer(); mbeanServer.registerMBean(refreshTimer, refreshTimerObjectName); refreshTimer.start(); } catch (JMException e) { logStackTrace(LogWriterImpl.WARNING_LEVEL, e, LocalizedStrings.MBeanUtil_FAILED_TO_CREATE_REFRESH_TIMER.toLocalizedString()); } catch (JMRuntimeException e) { logStackTrace(LogWriterImpl.WARNING_LEVEL, e, LocalizedStrings.MBeanUtil_FAILED_TO_CREATE_REFRESH_TIMER.toLocalizedString()); } catch (Exception e) { logStackTrace(LogWriterImpl.WARNING_LEVEL, e, LocalizedStrings.MBeanUtil_FAILED_TO_CREATE_REFRESH_TIMER.toLocalizedString()); } }
@Test(expected=RuntimeException.class) public void testDoubleunregister() throws Exception { ControlService cs = new JMXControlService(DOMAIN, new Hashtable<>()); String type = "timer"; String id = "a"; String alias = "ControlA"; String controlId = cs.registerControl(type, id, alias, TimerMBean.class, new Timer()); cs.unregister(controlId); cs.unregister(controlId); } }
@Test public void testControlObject() throws Exception { ControlService cs = new JMXControlService(DOMAIN, new Hashtable<>()); String type = "timer"; String id = "a"; String alias = "ControlA"; String controlId = cs.registerControl(type, id, alias, TimerMBean.class, new Timer()); assertNotNull(controlId); ObjectName on = ObjectName.getInstance(controlId); assertEquals(DOMAIN, on.getDomain()); assertEquals(type, ObjectName.unquote(on.getKeyProperty("type"))); assertEquals(id, ObjectName.unquote(on.getKeyProperty("id"))); assertEquals(alias, ObjectName.unquote(on.getKeyProperty("alias"))); assertEquals(TimerMBean.class.getName(), ObjectName.unquote(on.getKeyProperty("interface"))); MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); assertTrue(mbs.isRegistered(on)); cs.unregister(controlId); assertFalse(mbs.isRegistered(on)); }
String id = "a"; String alias = "ControlA"; String controlId = cs.registerControl(type, id, alias, TimerMBean.class, new Timer());