001/******************************************************************************* 002 * Copyright (c) 2013 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the Eclipse Public License v1.0 006 * which accompanies this distribution, and is available at 007 * http://www.eclipse.org/legal/epl-v10.html 008 *******************************************************************************/ 009package org.nuxeo.ecm.core.management.works; 010 011import org.nuxeo.ecm.core.work.api.WorkManager; 012import org.nuxeo.runtime.api.Framework; 013import org.nuxeo.runtime.management.AbstractResourceFactory; 014import org.nuxeo.runtime.management.ObjectNameFactory; 015 016public class WorksMonitoringFactory extends AbstractResourceFactory { 017 018 protected WorkManager manager() { 019 return Framework.getLocalService(WorkManager.class); 020 } 021 022 @Override 023 public void registerResources() { 024 WorkManager mgr = manager(); 025 service.registerResource("works", 026 ObjectNameFactory.formatQualifiedName("org.nuxeo", "service", WorkManager.class.getName()), 027 WorksMonitoringMBean.class, new WorksMonitoring()); 028 for (String eachId : mgr.getWorkQueueIds()) { 029 service.registerResource( 030 eachId, 031 ObjectNameFactory.formatQualifiedName("org.nuxeo", "service", WorkManager.class.getName() + "." 032 + eachId), WorksQueueMonitoringMBean.class, new WorksQueueMonitoring(eachId)); 033 } 034 } 035 036}