protected void bindManagement() throws JMException { ObjectName objectName = new ObjectName("org.nuxeo.automation:name=tracerfactory"); MBeanServer mBeanServer = Framework.getService(ServerLocator.class).lookupServer(); mBeanServer.registerMBean(tracerFactory, objectName); }
/** * Flushes resources for tomcat cache * * @since 5.5 */ protected static void flushWebResources() throws ReflectiveOperationException, JMException { ObjectName on = new ObjectName("org.nuxeo:type=sdk,name=web-resources"); MBeanServer mbs = Framework.getService(ServerLocator.class).lookupServer(); if (mbs.isRegistered(on)) { // only in tomcat container mbs.invoke(on, "flushWebResources", new Object[0], new String[0]); } }
protected void unBindManagement() throws MalformedObjectNameException, NotCompliantMBeanException, InstanceAlreadyExistsException, MBeanRegistrationException, InstanceNotFoundException { final ObjectName on = new ObjectName("org.nuxeo.automation:name=tracerfactory"); final ServerLocator locator = Framework.getService(ServerLocator.class); if (locator != null) { MBeanServer mBeanServer = locator.lookupServer(); mBeanServer.unregisterMBean(on); } }
protected static ServerInstance bind(Class<?> itf, Object managed, String name) { MBeanServer mbs = Framework.getService(ServerLocator.class).lookupServer(); name = Defaults.instance.name(itf, name); try { ObjectInstance oi = mbs.registerMBean(managed, new ObjectName(name)); return new ServerInstance(mbs, oi.getObjectName()); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException | MalformedObjectNameException e) { throw new UnsupportedOperationException("Cannot bind " + managed + " on " + name, e); } }
synchronized public void initialize(String repositoryName, Model model, RowMapper rowMapper, InvalidationsPropagator invalidationsPropagator, Map<String, String> properties) { this.model = model; this.rowMapper = rowMapper; this.invalidationsPropagator = invalidationsPropagator; invalidationsPropagator.addQueue(invalidationsQueue); if (cacheManager == null) { if (properties.containsKey(EHCACHE_FILE_PROP)) { String value = properties.get(EHCACHE_FILE_PROP); log.info("Creating ehcache manager for VCS, using ehcache file: " + value); cacheManager = CacheManager.create(value); } else { log.info("Creating ehcache manager for VCS, No ehcache file provided"); cacheManager = CacheManager.create(); } isXA = cacheManager.getConfiguration().getCacheConfigurations().get(CACHE_NAME).isXaTransactional(); // Exposes cache to JMX MBeanServer mBeanServer = Framework.getService(ServerLocator.class).lookupServer(); ManagementService.registerMBeans(cacheManager, mBeanServer, true, true, true, true); } rowMapperCount.incrementAndGet(); cache = cacheManager.getCache(CACHE_NAME); setMetrics(repositoryName); }