001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.monitoring.jmx;
016    
017    import com.liferay.portal.monitoring.statistics.service.ServerStatistics;
018    import com.liferay.portal.monitoring.statistics.service.ServiceMonitorAdvice;
019    
020    import java.util.Set;
021    
022    /**
023     * @author Michael C. Han
024     */
025    public class ServiceManager implements ServiceManagerMBean {
026    
027            @Override
028            public void addMonitoredClass(String className) {
029                    _serviceMonitorAdvice.addMonitoredClass(className);
030            }
031    
032            @Override
033            public void addMonitoredMethod(
034                    String className, String methodName, String[] parameterTypes) {
035    
036                    _serviceMonitorAdvice.addMonitoredMethod(
037                            className, methodName, parameterTypes);
038            }
039    
040            @Override
041            public long getErrorCount(
042                    String className, String methodName, String[] parameterTypes) {
043    
044                    return _serverStatistics.getErrorCount(
045                            className, methodName, parameterTypes);
046            }
047    
048            @Override
049            public long getMaxTime(
050                    String className, String methodName, String[] parameterTypes) {
051    
052                    return _serverStatistics.getMaxTime(
053                            className, methodName, parameterTypes);
054            }
055    
056            @Override
057            public long getMinTime(
058                    String className, String methodName, String[] parameterTypes) {
059    
060                    return _serverStatistics.getMinTime(
061                            className, methodName, parameterTypes);
062            }
063    
064            @Override
065            public Set<String> getMonitoredClasses() {
066                    return _serviceMonitorAdvice.getMonitoredClasses();
067            }
068    
069            @Override
070            public Set<MethodSignature> getMonitoredMethods() {
071                    return _serviceMonitorAdvice.getMonitoredMethods();
072            }
073    
074            @Override
075            public long getRequestCount(
076                    String className, String methodName, String[] parameterTypes) {
077    
078                    return _serverStatistics.getRequestCount(
079                            className, methodName, parameterTypes);
080            }
081    
082            @Override
083            public boolean isActive() {
084                    return ServiceMonitorAdvice.isActive();
085            }
086    
087            @Override
088            public boolean isPermissiveMode() {
089                    return _serviceMonitorAdvice.isPermissiveMode();
090            }
091    
092            @Override
093            public void setActive(boolean active) {
094                    _serviceMonitorAdvice.setActive(active);
095            }
096    
097            @Override
098            public void setPermissiveMode(boolean permissiveMode) {
099                    _serviceMonitorAdvice.setPermissiveMode(permissiveMode);
100            }
101    
102            public void setServerStatistics(ServerStatistics serverStatistics) {
103                    _serverStatistics = serverStatistics;
104            }
105    
106            public void setServiceMonitorAdvice(
107                    ServiceMonitorAdvice serviceMonitorAdvice) {
108    
109                    _serviceMonitorAdvice = serviceMonitorAdvice;
110            }
111    
112            private ServerStatistics _serverStatistics;
113            private ServiceMonitorAdvice _serviceMonitorAdvice;
114    
115    }