congrats Icon
New! Tabnine Pro 14-day free trial
Start a free trial
Tabnine Logo
rocks.inspectit.agent.java.sensor.jmx
Code IndexAdd Tabnine to your IDE (free)

How to use rocks.inspectit.agent.java.sensor.jmx

Best Java code snippets using rocks.inspectit.agent.java.sensor.jmx (Showing top 20 results out of 315)

origin: inspectIT/inspectIT

/**
 * Informs {@link #mBeanServerListeners} that server has been removed.
 *
 * @param server
 *            {@link MBeanServer}
 */
private void mbeanServerRemoved(MBeanServer server) {
  if (null == server) {
    return;
  }
  if (CollectionUtils.isNotEmpty(mBeanServerListeners)) {
    for (IMBeanServerListener listener : mBeanServerListeners) {
      listener.mbeanServerRemoved(server);
    }
  }
}
origin: inspectIT/inspectIT

/**
 * Informs {@link #mBeanServerListeners} that server has been added.
 *
 * @param server
 *            {@link MBeanServer}
 */
private void mbeanServerAdded(MBeanServer server) {
  if (null == server) {
    return;
  }
  if (CollectionUtils.isNotEmpty(mBeanServerListeners)) {
    for (IMBeanServerListener listener : mBeanServerListeners) {
      listener.mbeanServerAdded(server);
    }
  }
}
origin: inspectIT/inspectIT

@BeforeMethod
public void init() {
  jmxSensor.init(sensorTypeConfig);
}
origin: inspectIT/inspectIT

@Test
public void nullServer() {
  jmxSensor.mbeanServerAdded(null);
  verifyZeroInteractions(connection);
}
origin: inspectIT/inspectIT

@Test
public void sensorSet() {
  JmxSensorTypeConfig sensorTypeConfig1 = mock(JmxSensorTypeConfig.class);
  jmxSensor.init(sensorTypeConfig1);
  assertThat(jmxSensor.getSensorTypeConfig(), is(sensorTypeConfig1));
}
origin: inspectIT/inspectIT

  @Test
  public void wrongNotification() throws Exception {
    jmxSensor.mbeanServerAdded(mBeanServer);
    ArgumentCaptor<MBeanServerHolder> notificationListener = ArgumentCaptor.forClass(MBeanServerHolder.class);
    verify(mBeanServer).addNotificationListener(Matchers.<ObjectName> any(), notificationListener.capture(), Matchers.<NotificationFilter> any(), eq(null));
    Notification notification = mock(Notification.class);
    when(connection.isConnected()).thenReturn(true);
    notificationListener.getValue().handleNotification(notification, null);
    verifyZeroInteractions(mBeanServer);
  }
}
origin: inspectIT/inspectIT

  @Test
  public void listenerUnregistered() throws Exception {
    ArgumentCaptor<MBeanServerHolder> captor = ArgumentCaptor.forClass(MBeanServerHolder.class);
    jmxSensor.mbeanServerAdded(mBeanServer);
    jmxSensor.mbeanServerRemoved(mBeanServer);
    verify(mBeanServer).removeNotificationListener(Matchers.<ObjectName> any(), captor.capture(), Matchers.<NotificationFilter> any(), eq(null));
    assertThat(captor.getValue().mBeanServer, is(mBeanServer));
  }
}
origin: inspectIT/inspectIT

/**
 * {@inheritDoc}
 */
@Override
public void mbeanServerAdded(MBeanServer server) {
  // if null or already registered do nothing
  if ((null == server) || activeServerMap.containsKey(server)) {
    return;
  }
  try {
    // create holder
    MBeanServerHolder holder = new MBeanServerHolder(server);
    // register listener
    try {
      server.addNotificationListener(new ObjectName(MBEAN_SERVER_DELEGATE_NAME), holder, NOTIFICATION_FILTER, null);
    } catch (Exception e) {
      log.warn("Failed to add notification listener to the MBean server " + server.toString() + ". New added beans/attributes will not be monitored.", e);
    }
    // register already existing beans
    registerMBeans(holder, null);
    // add to map if it all works
    activeServerMap.put(server, holder);
  } catch (Throwable t) { // NOPMD
    // catching throwable if anything goes wrong
    log.warn("Unable to add the MBean server " + server.toString() + ".", t);
  }
}
origin: inspectIT/inspectIT

@Test
public void nothingToCollect() {
  jmxSensor.update(coreService);
  verifyZeroInteractions(coreService);
}
origin: inspectIT/inspectIT

@Test
public void unknownServer() throws Exception {
  jmxSensor.mbeanServerRemoved(mBeanServer);
  verifyZeroInteractions(mBeanServer);
}
origin: inspectIT/inspectIT

/**
 * {@inheritDoc}
 */
@Override
public void update(ICoreService coreService) {
  long sensorTypeIdent = sensorTypeConfig.getId();
  long currentTime = System.currentTimeMillis();
  // Check if the collectData method should be invoked
  if (MapUtils.isNotEmpty(activeServerMap) && ((currentTime - lastDataCollectionTimestamp) > DATA_COLLECT_INTERVAL)) {
    // store the invocation timestamp
    lastDataCollectionTimestamp = System.currentTimeMillis();
    for (MBeanServerHolder holder : activeServerMap.values()) {
      collectData(holder, coreService, sensorTypeIdent);
    }
  }
}
origin: inspectIT/inspectIT

@BeforeMethod
public void init() {
  jmxSensor.init(sensorTypeConfig);
}
origin: inspectIT/inspectIT

/**
 * {@inheritDoc}
 */
public void init(JmxSensorTypeConfig sensorTypeConfig) {
  this.sensorTypeConfig = sensorTypeConfig;
  // check for forcing server creation
  Map<String, Object> parameters = sensorTypeConfig.getParameters();
  if (MapUtils.isNotEmpty(parameters)) {
    if (Boolean.TRUE.equals(parameters.get("forceMBeanServer"))) {
      // create only, get it via hook
      MBeanServer server = ManagementFactory.getPlatformMBeanServer();
      mbeanServerAdded(server);
    }
  }
}
origin: inspectIT/inspectIT

@Test
public void happyPathRemove() {
  when(ssc.getTargetMethodName()).thenReturn("removeMBeanServer");
  Object[] parameters = new Object[] { server };
  Object result = hook.beforeBody(METHOD_ID, object, parameters, ssc);
  assertThat(result, is(nullValue()));
  verify(ssc).getTargetMethodName();
  verify(listener).mbeanServerRemoved(server);
  verifyNoMoreInteractions(ssc, listener);
  verifyZeroInteractions(object);
}
origin: inspectIT/inspectIT

@Test
public void happyPathAdd() {
  when(ssc.getTargetMethodName()).thenReturn("addMBeanServer");
  Object[] parameters = new Object[] { server };
  Object result = hook.beforeBody(METHOD_ID, object, parameters, ssc);
  assertThat(result, is(nullValue()));
  verify(ssc).getTargetMethodName();
  verify(listener).mbeanServerAdded(server);
  verifyNoMoreInteractions(ssc, listener);
  verifyZeroInteractions(object);
}
origin: inspectIT/inspectIT

@BeforeMethod
public void init() {
  jmxSensor.init(sensorTypeConfig);
}
origin: inspectIT/inspectIT

@Test
public void listenerRegistered() throws Exception {
  ArgumentCaptor<MBeanServerHolder> captor = ArgumentCaptor.forClass(MBeanServerHolder.class);
  jmxSensor.mbeanServerAdded(mBeanServer);
  verify(mBeanServer).addNotificationListener(Matchers.<ObjectName> any(), captor.capture(), Matchers.<NotificationFilter> any(), eq(null));
  assertThat(captor.getValue().mBeanServer, is(mBeanServer));
}
origin: inspectIT/inspectIT

@BeforeMethod
public void init() {
  jmxSensor.init(sensorTypeConfig);
}
origin: inspectIT/inspectIT

@Test
public void connectionOff() throws Exception {
  when(connection.isConnected()).thenReturn(false);
  jmxSensor.mbeanServerAdded(mBeanServer);
  verify(mBeanServer).addNotificationListener(Matchers.<ObjectName> any(), Matchers.<NotificationListener> any(), Matchers.<NotificationFilter> any(), eq(null));
  verifyNoMoreInteractions(mBeanServer);
}
origin: inspectIT/inspectIT

/**
 * {@inheritDoc}
 */
@Override
public void afterPropertiesSet() throws Exception {
  for (JmxSensorTypeConfig config : configurationStorage.getJmxSensorTypes()) {
    if (config.getClassName().equals(this.getClass().getName())) {
      this.init(config);
      break;
    }
  }
}
rocks.inspectit.agent.java.sensor.jmx

Most used classes

  • IJmxSensor
    This interface is implemented by classes which provide information about MBeans registered on a MBea
  • IMBeanServerListener
    Generic listener for adding/removing of the MBeanServers.
  • JmxSensor$MBeanServerHolder
    Holder to keep needed information per server.
  • JmxSensor
    The implementation of the JmxSensor.
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimAtomGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyStudentsTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now