KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > ejb > base > stats > EJBTimedObjectStatsImpl


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the License). You may not use this file except in
5  * compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * https://glassfish.dev.java.net/public/CDDLv1.0.html or
9  * glassfish/bootstrap/legal/CDDLv1.0.txt.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * Header Notice in each file and include the License file
15  * at glassfish/bootstrap/legal/CDDLv1.0.txt.
16  * If applicable, add the following below the CDDL Header,
17  * with the fields enclosed by brackets [] replaced by
18  * you own identifying information:
19  * "Portions Copyrighted [year] [name of copyright owner]"
20  *
21  * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
22  */

23
24 package com.sun.ejb.base.stats;
25
26 //import javax.management.j2ee.statistics.EntityBeanStats;
27
import javax.management.j2ee.statistics.CountStatistic JavaDoc;
28
29 import com.sun.enterprise.admin.monitor.stats.CountStatisticImpl;
30 import com.sun.enterprise.admin.monitor.stats.MutableCountStatisticImpl;
31
32 import com.sun.enterprise.admin.monitor.registry.MonitoringRegistry;
33 import com.sun.enterprise.admin.monitor.registry.MonitoringLevelListener;
34 import com.sun.enterprise.admin.monitor.registry.MonitoringLevel;
35 import com.sun.enterprise.admin.monitor.registry.MonitoringRegistrationException;
36
37 import com.sun.ejb.spi.stats.EJBTimedObjectStatsProvider;
38
39 import java.util.logging.*;
40 import com.sun.enterprise.log.Log;
41 import com.sun.logging.*;
42
43 /**
44  * A Class for providing stats related to Timers created from beans
45  * of type STATELESS/ENTITY/MESSAGE_DRIVEN
46  *
47  */

48
49 public class EJBTimedObjectStatsImpl
50     extends StatsImpl
51     implements com.sun.enterprise.admin.monitor.stats.TimerServiceStats
52 {
53     protected EJBTimedObjectStatsProvider timerDelegate;
54
55     private MutableCountStatisticImpl createdCountStat;
56     private MutableCountStatisticImpl removedCountStat;
57     private MutableCountStatisticImpl deliveredCountStat;
58
59     public EJBTimedObjectStatsImpl(EJBTimedObjectStatsProvider delegate) {
60 // super(delegate, "javax.management.j2ee.statistics.TimerBeanStats");
61
this.timerDelegate = delegate;
62
63     initStats();
64     }
65
66     private void initStats() {
67     createdCountStat = new MutableCountStatisticImpl(
68         new CountStatisticImpl("NumTimersCreated"));
69     removedCountStat = new MutableCountStatisticImpl(
70         new CountStatisticImpl("NumTimersRemoved"));
71     deliveredCountStat = new MutableCountStatisticImpl(
72         new CountStatisticImpl("NumTimersDelivered"));
73     }
74
75     public CountStatistic JavaDoc getNumTimersCreated(){
76     createdCountStat.setCount(timerDelegate.getTimersCreated());
77     return (CountStatistic JavaDoc) createdCountStat.modifiableView();
78     }
79
80     public CountStatistic JavaDoc getNumTimersRemoved(){
81     removedCountStat.setCount(timerDelegate.getTimersRemoved());
82     return (CountStatistic JavaDoc) removedCountStat.modifiableView();
83     }
84
85     public CountStatistic JavaDoc getNumTimersDelivered(){
86     deliveredCountStat.setCount(timerDelegate.getTimersDelivered());
87     return (CountStatistic JavaDoc) deliveredCountStat.modifiableView();
88     }
89
90     public void monitoringLevelChanged( boolean monitoringOn ) {
91         timerDelegate.monitoringLevelChanged( monitoringOn );
92     }
93 }
94
Popular Tags