KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > enterprise > admin > monitor > registry > MonitoringRegistry


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 /*
25  * Copyright 2004-2005 Sun Microsystems, Inc. All rights reserved.
26  * Use is subject to license terms.
27  */

28
29 /*
30  * MonitoringRegistry.java
31  *
32  * Created on August 11, 2003, 3:36 PM
33  */

34
35 package com.sun.enterprise.admin.monitor.registry;
36
37 import javax.management.j2ee.statistics.*;
38 import com.sun.enterprise.admin.monitor.stats.*;
39
40 /**
41  * Provides component specific methods to enable components to register their
42  * Stats implementations for monitoring. Implementation of this interface enables
43  * a JSR77 Managed Resource's monitoring statistics to be presented
44  * through JMX's API through a DynamicMBean created on the fly
45  * and registered with the MBeanServer. Each registration method also provides
46  * the facility of passing in an implementation of MonitoringLevelListener interface.
47  * The purpose of that interface is to enable components to be notified of a
48  * change in monitoring level from/to OFF, LOW or HIGH. A notification pursuant
49  * to a change in monitoring level should result in a call to unregister previously
50  * registered Stats implementations. If the change is set at a level LOW or HIGH,
51  * a call to register alternative Stats implementations that correspond to the
52  * new monitoring level is to be made by the component. Consequently, a new MBean
53  * is registered with the MBeanServer so that clients may now request statistics
54  * corresponding to the monitoring level.<br>
55  * Registered Stats implementations can be unregistered through the component
56  * specific unregister() methods.
57  *
58  * @see com.sun.enterprise.admin.monitor.registry.MonitoringLevelListener.java
59  * @see com.sun.enterprise.admin.monitor.registry.MonitoringLevel.java
60  * @author Shreedhar Ganapathy
61  * @version $Revision: 1.3 $
62  */

63 public interface MonitoringRegistry {
64    
65     /**
66      * Registers the Stats implementation for EntityBeanStats
67      * @param entityBeanStats implementation of javax.management.j2ee.statistics.EntityBeanStats
68      * @param entityBeanName
69      * @param moduleName
70      * @param applicationName passing a null here would
71      * indicate that this is a registration for an EntityBean deployed under a
72      * standalone module.
73      * @param listener This an optional field and when not required, a null
74      * value should be passed. If a MonitoringLevelListener is defined,
75      * the listener's setLevel() method will be called in response to a change
76      * in monitoring level.
77      * @throws MonitoringRegistrationException
78      */

79     public void registerEntityBeanStats(EntityBeanStats entityBeanStats,
80     String JavaDoc entityBeanName, String JavaDoc moduleName, String JavaDoc applicationName,
81     MonitoringLevelListener listener) throws MonitoringRegistrationException;
82
83     /**
84      * Unregisters the Stats implementation for EntityBeanStats
85      * @param entityBeanName
86      * @param moduleName
87      * @param applicationName passing a null here would
88      * indicate that this is a registration for an EntityBean deployed under a
89      * standalone module.
90      * @throws MonitoringRegistrationException
91      */

92     public void unregisterEntityBeanStats(String JavaDoc entityBeanName, String JavaDoc moduleName,
93     String JavaDoc applicationName) throws MonitoringRegistrationException;
94     
95     /**
96      * Registers the Stats implementation for StatelessSessionBeanStats
97      * @param statelessSessionBeanStats implementation of
98      * javax.management.j2ee.statistics.StatelessSessionBeanStats
99      * @param statelessSessionBeanName
100      * @param moduleName
101      * @param applicationName passing a null here would
102      * indicate that this is a registration for a StatelessSessionBean
103      * deployed under a standalone module.
104      * @param listener This an optional field and when not required, a null
105      * value should be passed. If a MonitoringLevelListener is defined,
106      * the listener's setLevel() method will be called in response to a change
107      * in monitoring level.
108      * @throws MonitoringRegistrationException
109      */

110     public void registerStatelessSessionBeanStats(
111     StatelessSessionBeanStats statelessSessionBeanStats,
112     String JavaDoc statelessSessionBeanName, String JavaDoc moduleName, String JavaDoc applicationName,
113     MonitoringLevelListener listener) throws MonitoringRegistrationException;
114     
115     /**
116      * Unregisters the Stats implementation for StatelessSessionBeanStats
117      * @param statelessSessionBeanName
118      * @param moduleName
119      * @param applicationName passing a null here would
120      * indicate that this is a registration for a StatelessSessionBean
121      * deployed under a standalone module.
122      * @throws MonitoringRegistrationException
123      */

124     public void unregisterStatelessSessionBeanStats(String JavaDoc statelessSessionBeanName,
125     String JavaDoc moduleName, String JavaDoc applicationName)
126     throws MonitoringRegistrationException;
127
128     /**
129      * Registers the Stats implementation for StatefulSessionBeanStats
130      * @param statefulSessionBeanStats implementation of from
131      * javax.management.j2ee.statistics.StatefulSessionBeanStats
132      * @param statefulSessionBeanName
133      * @param moduleName
134      * @param applicationName passing a null here would
135      * indicate that this is a registration for a StatefulSessionBean
136      * deployed under a standalone module.
137      * @param listener This an optional field and when not required, a null
138      * value should be passed. If a MonitoringLevelListener is defined,
139      * the listener's setLevel() method will be called in response to a change
140      * in monitoring level.
141      * @throws MonitoringRegistrationException
142      */

143     public void registerStatefulSessionBeanStats(
144     StatefulSessionBeanStats statefulSessionBeanStats,
145     String JavaDoc statefulSessionBeanName, String JavaDoc moduleName, String JavaDoc applicationName,
146     MonitoringLevelListener listener) throws MonitoringRegistrationException;
147
148     /**
149      * Unregisters the Stats implementation for StatefulSessionBeanStats
150      * @param statefulSessionBeanName
151      * @param moduleName
152      * @param applicationName passing a null here would
153      * indicate that this is a registration for a StatefulSessionBean
154      * deployed under a standalone module.
155      * @throws MonitoringRegistrationException
156      */

157     public void unregisterStatefulSessionBeanStats(String JavaDoc statefulSessionBeanName,
158     String JavaDoc moduleName, String JavaDoc applicationName) throws MonitoringRegistrationException;
159     
160     /**
161      * Registers the Stats implementation for MessageDrivenBeanStats
162      * @param messageDrivenBeanStats implementation of
163      * javax.management.j2ee.statistics.MessageDrivenBeanStats
164      * @param messageDrivenBeanName
165      * @param moduleName
166      * @param applicationName passing a null here would
167      * indicate that this is a registration for a MessageDrivenBean
168      * deployed under a standalone module.
169      * @param listener This an optional field and when not required, a null
170      * value should be passed. If a MonitoringLevelListener is defined,
171      * the listener's setLevel() method will be called in response to a change
172      * in monitoring level.
173      * @throws MonitoringRegistrationException
174      */

175     public void registerMessageDrivenBeanStats(
176     MessageDrivenBeanStats messageDrivenBeanStats,
177     String JavaDoc messageDrivenBeanName, String JavaDoc moduleName, String JavaDoc applicationName,
178     MonitoringLevelListener listener) throws MonitoringRegistrationException;
179
180     /**
181      * Unregisters the Stats implementation for MessageDrivenBeanStats
182      * @param messageDrivenBeanName
183      * @param moduleName
184      * @param applicationName passing a null here would
185      * indicate that this is a registration for a MessageDrivenBean
186      * deployed under a standalone module.
187      * @throws MonitoringRegistrationException
188      */

189     public void unregisterMessageDrivenBeanStats(String JavaDoc messageDrivenBeanName,
190     String JavaDoc moduleName, String JavaDoc applicationName)
191     throws MonitoringRegistrationException;
192     
193     /**
194      * Registers the Stats implementation for EJBCacheStats
195      * @param ejbCacheStats implemetation of
196      * com.sun.enterprise.admin.monitor.stats.EJBCacheStats
197      * @param ejbName
198      * @param moduleName
199      * @param applicationName passing a null here would
200      * indicate that this is a registration for an EJB deployed under a
201      * standalone module.
202      * @param listener This an optional field and when not required, a null
203      * value should be passed. If a MonitoringLevelListener is defined,
204      * the listener's setLevel() method will be called in response to a change
205      * in monitoring level.
206      * @throws MonitoringRegistrationException
207      */

208     public void registerEJBCacheStats(EJBCacheStats ejbCacheStats, String JavaDoc ejbName,
209     String JavaDoc moduleName, String JavaDoc applicationName, MonitoringLevelListener listener)
210     throws MonitoringRegistrationException;
211
212     /**
213      * Unregisters the Stats implementation for EJBCacheStats
214      * @param ejbName
215      * @param moduleName
216      * @param applicationName passing a null here would
217      * indicate that this is a registration for an EJB deployed under a
218      * standalone module.
219      * @throws MonitoringRegistrationException
220      */

221     public void unregisterEJBCacheStats(String JavaDoc ejbName, String JavaDoc moduleName,
222     String JavaDoc applicationName)
223     throws MonitoringRegistrationException;
224     
225     /**
226      * Registers the Stats implementation for EJBPoolStats
227      * @param ejbPoolStats implementation of
228      * com.sun.enterprise.admin.monitor.stats.EJBPoolStats
229      * @param ejbName
230      * @param moduleName
231      * @param applicationName passing a null here would
232      * indicate that this is a registration for an EJB deployed under a
233      * standalone module.
234      * @param listener This an optional field and when not required, a null
235      * value should be passed. If a MonitoringLevelListener is defined,
236      * the listener's setLevel() method will be called in response to a change
237      * in monitoring level.
238      * @throws MonitoringRegistrationException
239      */

240     public void registerEJBPoolStats(EJBPoolStats ejbPoolStats, String JavaDoc ejbName,
241     String JavaDoc moduleName, String JavaDoc applicationName, MonitoringLevelListener listener)
242     throws MonitoringRegistrationException;
243
244     /**
245      * Unregisters the Stats implementation for EJBPoolStats
246      * @param ejbName
247      * @param moduleName
248      * @param applicationName passing a null here would
249      * indicate that this is a registration for an EJB deployed under a
250      * standalone module.
251      * @throws MonitoringRegistrationException
252      */

253     public void unregisterEJBPoolStats(String JavaDoc ejbName, String JavaDoc moduleName,
254     String JavaDoc applicationName) throws MonitoringRegistrationException;
255     
256     /**
257      * Registers the Stats implementation for EJBMethodStats
258      * @param ejbMethodStats implementation of
259      * com.sun.enterprise.admin.monitor.stats.EJBMethodStats
260      * @param ejbMethodName
261      * @param ejbName
262      * @param moduleName
263      * @param applicationName passing a null here would
264      * indicate that this is a registration for an EJB deployed under a
265      * standalone module.
266      * @param listener This an optional field and when not required, a null
267      * value should be passed. If a MonitoringLevelListener is defined,
268      * the listener's setLevel() method will be called in response to a change
269      * in monitoring level.
270      * @throws MonitoringRegistrationException
271      */

272     public void registerEJBMethodStats(EJBMethodStats ejbMethodStats,
273     String JavaDoc ejbMethodName, String JavaDoc ejbName, String JavaDoc moduleName,
274     String JavaDoc applicationName, MonitoringLevelListener listener)
275     throws MonitoringRegistrationException;
276        
277     /**
278      * Unregisters the Stats implementation for EJBMethodStats
279      * @param ejbMethodName
280      * @param ejbName
281      * @param moduleName
282      * @param applicationName passing a null here would
283      * indicate that this is a registration for an EJB deployed under a
284      * standalone module.
285      * @throws MonitoringRegistrationException
286      */

287     public void unregisterEJBMethodStats(String JavaDoc ejbMethodName, String JavaDoc ejbName,
288     String JavaDoc moduleName, String JavaDoc applicationName)
289     throws MonitoringRegistrationException;
290
291     /**
292      * Registers the Stats implementation for OrbConnectionManagerStats
293      * @param orbConnectionManagerStats implementation of
294      * com.sun.enterprise.admin.monitor.stats.OrbConnectionManagerStats
295      * @param connectionMgrName id of the connection-manager
296      * @param listener This an optional field and when not required, a null
297      * value should be passed. If a MonitoringLevelListener is defined,
298      * the listener's setLevel() method will be called in response to a change
299      * in monitoring level.
300      * @throws MonitoringRegistrationException
301      */

302     public void registerOrbConnectionManagerStats(OrbConnectionManagerStats orbConnectionManagerStats,
303     String JavaDoc connectionMgrName, MonitoringLevelListener listener) throws MonitoringRegistrationException;
304
305     /**
306      * Unregisters the Stats implementation for OrbConnectionManagerStats
307      * @param orbName
308      * @throws MonitoringRegistrationException
309      */

310     public void unregisterOrbConnectionManagerStats(String JavaDoc orbName)
311     throws MonitoringRegistrationException;
312     
313     /**
314      * Registers the Stats implementation for ThreadPoolStats. This is meant to be used for
315      * any ThreadPool in the server runtime.
316      * @param ThreadPoolStats implementation of com.sun.enterprise.admin.monitor.stats.ThreadPoolStats
317      * @param poolId String that represents the thread pool id -- needs to be unique
318      * @param listener This an optional field and when not required, a null
319      * value should be passed. If a MonitoringLevelListener is defined,
320      * the listener's setLevel() method will be called in response to a change
321      * in monitoring level.
322      * @throws MonitoringRegistrationException
323      */

324     public void registerThreadPoolStats(ThreadPoolStats ThreadPoolStats,
325     String JavaDoc threadPoolId, MonitoringLevelListener listener)
326     throws MonitoringRegistrationException;
327     
328     /**
329      * Unregisters the Stats implementation for ThreadPoolStats.
330      * @param poolId String representing the (unique) name of the pool
331      * @throws MonitoringRegistrationException
332      */

333     public void unregisterThreadPoolStats(String JavaDoc poolId)
334     throws MonitoringRegistrationException;
335
336     /**
337      * Registers the Stats implementation for ConnectorConnectionPoolStats
338      * @param connectorConnectionPoolStats implementation of
339      * com.sun.enterprise.admin.monitor.stats.ConnectorConnectionPoolStats
340      * @param connectorConnectionPoolName
341      * @param listener This an optional field and when not required, a null
342      * value should be passed. If a MonitoringLevelListener is defined,
343      * the listener's setLevel() method will be called in response to a change
344      * in monitoring level.
345      * @throws MonitoringRegistrationException
346      */

347     public void registerConnectorConnectionPoolStats(
348     com.sun.enterprise.admin.monitor.stats.ConnectorConnectionPoolStats connectorConnectionPoolStats,
349     String JavaDoc connectorConnectionPoolName, MonitoringLevelListener listener)
350     throws MonitoringRegistrationException;
351     
352     /**
353      * Unregisters the Stats implementation for ConnectorConnectionPoolStats
354      * @param connectorConnectionPoolName
355      * @throws MonitoringRegistrationException
356      */

357     public void unregisterConnectorConnectionPoolStats(String JavaDoc connectorConnectionPoolName)
358     throws MonitoringRegistrationException;
359
360     /**
361      * Registers the Stats implementation for JDBCConnectionPoolStats
362      * @param jdbcConnectionPoolStats implementation of
363      * com.sun.enterprise.admin.monitor.stats.JDBCConnectionPoolStats
364      * @param jdbcConnectionPoolName
365      * @param listener This an optional field and when not required, a null
366      * value should be passed. If a MonitoringLevelListener is defined,
367      * the listener's setLevel() method will be called in response to a change
368      * in monitoring level.
369      * @throws MonitoringRegistrationException
370      */

371     public void registerJDBCConnectionPoolStats(
372     com.sun.enterprise.admin.monitor.stats.JDBCConnectionPoolStats jdbcConnectionPoolStats,
373     String JavaDoc jdbcConnectionPoolName, MonitoringLevelListener listener)
374     throws MonitoringRegistrationException;
375
376     /**
377      * Unregisters the Stats implementation for JDBCConnectionPoolStats
378      * @param jdbcConnectionPoolName
379      * @throws MonitoringRegistrationException
380      */

381     public void unregisterJDBCConnectionPoolStats(String JavaDoc jdbcConnectionPoolName)
382     throws MonitoringRegistrationException;
383
384     /**
385      * Registers the Stats implementation for the resource JTAStats
386      * @param jtaStats implementation of com.sun.enterprise.admin.monitor.stats.JTAStats
387      * @param listener This an optional field and when not required, a null
388      * value should be passed. If a MonitoringLevelListener is defined,
389      * the listener's setLevel() method will be called in response to a change
390      * in monitoring level.
391      * @throws MonitoringRegistrationException
392      */

393     public void registerJTAStats(
394     com.sun.enterprise.admin.monitor.stats.JTAStats jtaStats,
395     MonitoringLevelListener listener)
396     throws MonitoringRegistrationException;
397
398     /**
399      * Unregisters the Stats implementation for the resource JTAStats
400      * @throws MonitoringRegistrationException
401      */

402     public void unregisterJTAStats() throws MonitoringRegistrationException;
403     
404     public void registerJVMStats(JVMStats stats,
405     MonitoringLevelListener listener) throws MonitoringRegistrationException;
406     
407     public void unregisterJVMStats() throws MonitoringRegistrationException;
408     
409     /**
410      * Registeres the Stats for Http Listener for the web-server/web-container layer.
411      * Can't be called for the same listener more than once. This method should
412      * generally be called when a particular listener is being started.
413      * @param listenerName String representing the name of the listener (may not be null)
414      * @param vsId String representing the id of pertinent virtual server (may not be null)
415      * @throws MonitoringRegistrationException in case there is a registration failure
416      */

417     public void registerHttpListenerStats(HTTPListenerStats stats,
418                                           String JavaDoc listenerName,
419                                           String JavaDoc vsId,
420                                        MonitoringLevelListener listener)
421                                  throws MonitoringRegistrationException;
422     
423     /**
424      * Unregisters the stats for Http Listener for given listenerName and virtual-server-id.
425      * This method should generally be called when particular listener is deleted/stopped.
426      * @param listenerName String representing the listener's name (may not be null)
427      * @param vsId String represeting the virtual server id (may not be null)
428      * @throws MonitoringRegistrationException in case of a failure
429      */

430     public void unregisterHttpListenerStats(String JavaDoc listenerName, String JavaDoc vsId)
431                                  throws MonitoringRegistrationException;
432      
433     
434     /**
435      * Registers the given listener for the given type of monitorable entity. It is required
436      * that all the implementing classes issue the callback synchonously to the
437      * provided {@link MonitoringLevelListener} before returning to the caller.
438      * The idea is that core components should
439      * know if the registration of specific Stats is required before doing the actual
440      * registration. It is upto the components to decide what do when the callback
441      * is issued. The given listener will be added to the internal list of listeners and will
442      * be notified when the level changes. Note that this method breaks the relationship
443      * between a <em> Stats </em> object and a <em> MonitoringLevelListener </em> object.
444      * Thus all the listeners that register through this method will receive null as the Stats parameter
445      * value in MonitoringLevelListener#changeLevel method.
446      * @param {@link MonitoringLevelListener} that is interested in a specific type (may not be null)
447      * @param {@link MonitoredObjectType} that indicates a specific monitored object
448      * @throws RuntimeException if the registration fails
449      */

450     public void registerMonitoringLevelListener(MonitoringLevelListener listener,
451     com.sun.enterprise.admin.monitor.registry.MonitoredObjectType objType);
452     
453     /**
454      * Unregisters the given {@link MonitoringLevelListener} so that it is removed from internal list.
455      * The registration of same listener has to be done prior to this method call.
456      * This will usually happen when the registered listener has to exit from the VM.
457      * @param MonitoringLevelListener that is registered earlier
458      * @throws RuntimeException if the Listener is not registered before
459      */

460     public void unregisterMonitoringLevelListener(MonitoringLevelListener listener);
461         
462         /**
463          * registers a servlet/JSP, with the monitoring infrastructure
464          * The servlet/Jsp could be part of a J2EE Application or a
465          * stand-alone web module.
466          * @param stats An instance of the ServletStats
467          * @param j2eeAppName A string representing the J2EE Application
468          * to which the webmodule belongs. If the
469          * j2eeAppName is null, then the webmodule
470          * is a stand-alone webmodule
471          *
472          * @param webModuleName The name of the web module to which the
473          * servlet belongs
474          * @param ctxRoot The context root at which the web module has been
475          * deployed
476          * @param vsId The virtual-server, with which the
477          * webmodule is associated
478          * @param servletName The name of the servlet/jsp being monitored
479          * @param listener
480          * @throws MonitoringRegistrationException in case of a failure
481          */

482         
483         public void registerServletStats(com.sun.enterprise.admin.monitor.stats.ServletStats stats,
484                                      String JavaDoc j2eeAppName,
485                                      String JavaDoc webModuleName,
486                                      String JavaDoc ctxRoot,
487                                      String JavaDoc vsId,
488                                      String JavaDoc servletName,
489                                      MonitoringLevelListener listener)
490                                      throws MonitoringRegistrationException;
491         
492         /**
493          * unregisters a servlet/JSP, from the monitoring infrastructure
494          * The servlet/Jsp could be part of a J2EE Application or a
495          * stand-alone web module.
496          *
497          * @param j2eeAppName A string representing the J2EE Application
498          * to which the webmodule belongs. If the
499          * j2eeAppName is null, then the webmodule
500          * is a stand-alone webmodule
501          * @param webModuleName The name of the web module to which the servlet
502          * belongs
503          * @param ctxRoot The context root at which the web module has been
504          * deployed
505          * @param vsId The virtual-server, with which the
506          * webmodule is associated
507          * @param servletName The name of the servlet/jsp being monitored
508          *
509          * @throws MonitoringRegistrationException in case of a failure
510          */

511
512         public void unregisterServletStats(String JavaDoc j2eeAppName,
513                                            String JavaDoc webModuleName,
514                                            String JavaDoc ctxRoot,
515                                            String JavaDoc vsId,
516                                            String JavaDoc servletName)
517             throws MonitoringRegistrationException;
518
519     /**
520      * Registers the given WebModuleStats for the web module with the given
521      * <code>webModuleName</code> deployed on the virtual server with the
522      * given <code>vsId</code>.
523      *
524      * @param stats The stats to register
525      * @param j2eeAppName String representing the J2EE Application to which
526      * the web module belongs, or null if the web module is stand-alone
527      * @param webModuleName The name of the web module for which to register
528      * the stats
529      * @param ctxRoot The context root at which the web module has been
530      * deployed
531      * @param vsId The id of the virtual-server on which the web module has
532      * been deployed
533      * @param listener The listener for monitoring level changes
534      *
535      * @throws MonitoringRegistrationException
536      */

537     public void registerWebModuleStats(WebModuleStats stats,
538                                        String JavaDoc j2eeAppName,
539                                        String JavaDoc webModuleName,
540                                        String JavaDoc ctxRoot,
541                                        String JavaDoc vsId,
542                                        MonitoringLevelListener listener)
543         throws MonitoringRegistrationException;
544
545     /**
546      * Unregisters any WebModuleStats from the web module with the given
547      * <code>webModuleName</code> deployed on the virtual server with the
548      * given <code>vsId</code>.
549      *
550      * @param j2eeAppName String representing the J2EE Application to which
551      * the web module belongs, or null if the web module is stand-alone
552      * @param webModuleName The name of the web module from which to unregister
553      * the stats
554      * @param ctxRoot The context root at which the web module has been
555      * deployed
556      * @param vsId The id of the virtual-server on which the web module has
557      * been deployed
558      *
559      * @throws MonitoringRegistrationException
560      */

561     public void unregisterWebModuleStats(String JavaDoc j2eeAppName,
562                                          String JavaDoc webModuleName,
563                                          String JavaDoc ctxRoot,
564                                          String JavaDoc vsId)
565         throws MonitoringRegistrationException;
566
567     /**
568      * Gets the WebModuleStats associated with the web module named
569      * <code>webModuleName</code> that is part of the application named
570      * <code>j2eeAppName</code> and has been deployed on the virtual server
571      * <code>vsId</code>.
572      *
573      * @param j2eeAppName String representing the J2EE Application to which
574      * the web module belongs, or null if the web module is stand-alone
575      * @param webModuleName The name of the web module whose stats are to be
576      * returned
577      * @param ctxRoot The context root at which the web module has been
578      * deployed
579      * @param vsId The id of the virtual-server on which the web module has
580      * been deployed
581      *
582      * @return The desired WebModuleStats
583      */

584     public WebModuleStats getWebModuleStats(String JavaDoc j2eeAppName,
585                                             String JavaDoc webModuleName,
586                                             String JavaDoc ctxRoot,
587                                             String JavaDoc vsId);
588     
589     // PWC related changes
590
/**
591      * Registers the HttpServiceStats for PWC.
592      * @param stats an instance of PWCHttpServiceStats
593      * @param listener the listener for monitoring level changes
594      * @throws MonitoringRegistrationException
595      */

596     public void registerPWCHttpServiceStats(
597            com.sun.enterprise.admin.monitor.stats.PWCHttpServiceStats stats,
598        MonitoringLevelListener listener)
599            throws MonitoringRegistrationException;
600     
601     /**
602      * Unregisters the stats for the HttpService
603      * @throws MonitoringRegistrationException
604      */

605     public void unregisterPWCHttpServiceStats() throws MonitoringRegistrationException;
606     
607     
608     /**
609      * Registers the ConnectionQueueStats for PWC.
610      * @param stats an instance of PWCConnectionQueueStats
611      * @param listener the listener for monitoring level changes
612      * @throws MonitoringRegistrationException
613      */

614     public void registerPWCConnectionQueueStats(
615            com.sun.enterprise.admin.monitor.stats.PWCConnectionQueueStats stats,
616        MonitoringLevelListener listener)
617            throws MonitoringRegistrationException;
618     
619     /**
620      * Unregisters the stats for the ConnectionQueue
621      * @throws MonitoringRegistrationException
622      */

623     public void unregisterPWCConnectionQueueStats() throws MonitoringRegistrationException;
624     
625     
626     /**
627      * Registers the DNSStats for PWC.
628      * @param stats an instance of PWCDnsStats
629      * @param listener the listener for monitoring level changes
630      * @throws MonitoringRegistrationException
631      */

632     public void registerPWCDnsStats(
633            com.sun.enterprise.admin.monitor.stats.PWCDnsStats stats,
634        MonitoringLevelListener listener)
635        throws MonitoringRegistrationException;
636     
637     
638     /**
639      * Unregisters the stats for the DNS
640      * @throws MonitoringRegistrationException
641      */

642     public void unregisterPWCDnsStats() throws MonitoringRegistrationException;
643     
644     
645     /**
646      * Registers the KeepAliveStats for PWC.
647      * @param stats an instance of PWCKeepAliveStats
648      * @param listener the listener for monitoring level changes
649      * @throws MonitoringRegistrationException
650      */

651     public void registerPWCKeepAliveStats(
652            com.sun.enterprise.admin.monitor.stats.PWCKeepAliveStats stats,
653        MonitoringLevelListener listener)
654        throws MonitoringRegistrationException;
655     
656     
657     /**
658      * Unregisters the stats for the KeepAlive system
659      * @throws MonitoringRegistrationException
660      */

661     public void unregisterPWCKeepAliveStats() throws MonitoringRegistrationException;
662     
663     
664     /**
665      * Registers the ThreadPoolStats for PWC.
666      * @param stats an instance of PWCThreadPoolStats
667      * @param listener the listener for monitoring level changes
668      * @throws MonitoringRegistrationException
669      */

670     public void registerPWCThreadPoolStats(
671            com.sun.enterprise.admin.monitor.stats.PWCThreadPoolStats stats,
672        MonitoringLevelListener listener)
673        throws MonitoringRegistrationException;
674     
675     
676     /**
677      * Unregisters the stats for the PWCThreadPool
678      * @throws MonitoringRegistrationException
679      */

680     public void unregisterPWCThreadPoolStats() throws MonitoringRegistrationException;
681     
682     
683     /**
684      * Registers the FileCacheStats for PWC.
685      * @param stats an instance of PWCFileCacheStats
686      * @param listener the listener for monitoring level changes
687      * @throws MonitoringRegistrationException
688      */

689     public void registerPWCFileCacheStats(
690            com.sun.enterprise.admin.monitor.stats.PWCFileCacheStats stats,
691        MonitoringLevelListener listener)
692        throws MonitoringRegistrationException;
693     
694     
695     /**
696      * Unregisters the stats for the FileCache
697      * @throws MonitoringRegistrationException
698      */

699     public void unregisterPWCFileCacheStats() throws MonitoringRegistrationException;
700     
701     
702     /**
703      * Registers the VirtualServerStats for PWC.
704      * @param stats an instance of PWCVirtualServerStats
705      * @param vsId the Id of the virtual-server for which the Stats
706      * are being registered
707      * @param listener the listener for monitoring level changes
708      * @throws MonitoringRegistrationException
709      */

710     public void registerPWCVirtualServerStats(
711            com.sun.enterprise.admin.monitor.stats.PWCVirtualServerStats stats,
712        String JavaDoc vsId,
713        MonitoringLevelListener listener)
714        throws MonitoringRegistrationException;
715     
716     
717     /**
718      * Unregisters the stats for the VirtualServer
719      * @param vsId the Id of the virtual-server, whose stats need to be deregistered
720      * @throws MonitoringRegistrationException
721      */

722     public void unregisterPWCVirtualServerStats(String JavaDoc vsId) throws MonitoringRegistrationException;
723     
724     /**
725      * Registers the RequestStats for PWC.
726      * @param stats an instance of PWCRequestStats
727      * @param vsId the Id of the virtual-server for which the Stats
728      * are being registered
729      * @param listener the listener for monitoring level changes
730      * @throws MonitoringRegistrationException
731      */

732     public void registerPWCRequestStats(
733            com.sun.enterprise.admin.monitor.stats.PWCRequestStats stats,
734        String JavaDoc vsId,
735        MonitoringLevelListener listener)
736        throws MonitoringRegistrationException;
737     
738     
739     /**
740      * Unregisters the stats for the PWCrequest
741      * @param vsId the Id of the virutal-server
742      * @throws MonitoringRegistrationException
743      */

744     public void unregisterPWCRequestStats(String JavaDoc vsId) throws MonitoringRegistrationException;
745     
746     
747     // Connector related changes
748
/**
749      * Registers the work management stats for the connector
750      * @param stats an instance of com.sun.enterprise.admin.monitor.stats.ConnectorWorkMgmtStats
751      * @param j2eeAppName the name of the j2eeApp,in which the connector is embedded
752      * if null, indicates that a standalone connector is being monitored
753      * @param moduleName the name of the connector module
754      * @param listener the listener for monitoring level changes
755      * @throws MonitoringRegistrationException
756      */

757     public void registerConnectorWorkMgmtStats(
758            com.sun.enterprise.admin.monitor.stats.ConnectorWorkMgmtStats stats,
759        String JavaDoc j2eeAppName,
760        String JavaDoc moduleName,
761        MonitoringLevelListener listener) throws MonitoringRegistrationException;
762     
763     /**
764      * Registers the work management stats for the connector
765      * @param stats an instance of com.sun.enterprise.admin.monitor.stats.ConnectorWorkMgmtStats
766      * @param j2eeAppName the name of the j2eeApp,in which the connector is embedded
767      * if null, indicates that a standalone connector is being monitored
768      * @param moduleName the name of the connector module
769      * @param isJms if true, indicates that the workmanagement stats are being registered
770      * for jms-service
771      * @param listener the listener for monitoring level changes
772      * @throws MonitoringRegistrationException
773      */

774     public void registerConnectorWorkMgmtStats(
775            com.sun.enterprise.admin.monitor.stats.ConnectorWorkMgmtStats stats,
776        String JavaDoc j2eeAppName,
777        String JavaDoc moduleName,
778        boolean isJms,
779        MonitoringLevelListener listener) throws MonitoringRegistrationException;
780  
781     /**
782      * Unregisters the work management stats for the connector
783      *
784      * @param j2eeAppName the name of the j2eeApp,in which the connector is embedded
785      * if null, indicates that a standalone connector is being monitored
786      * @param moduleName the name of the connector module
787      *
788      * @throws MonitoringRegistrationException
789      */

790     public void unregisterConnectorWorkMgmtStats(
791        String JavaDoc j2eeAppName,
792        String JavaDoc moduleName) throws MonitoringRegistrationException;
793  
794     
795     /**
796      * Unregisters the work management stats for the connector
797      *
798      * @param j2eeAppName the name of the j2eeApp,in which the connector is embedded
799      * if null, indicates that a standalone connector is being monitored
800      * @param moduleName the name of the connector module
801      * @param isJms if true, indicates that the workmanagement stats are being unregistered
802      * from jms-service
803      * @throws MonitoringRegistrationException
804      */

805     public void unregisterConnectorWorkMgmtStats(
806        String JavaDoc j2eeAppName,
807        String JavaDoc moduleName, boolean isJms) throws MonitoringRegistrationException;
808  
809     /**
810      * Registers the ConnectionFactoryStats for the jms-service
811      * @param stats an instance of com.sun.enterprise.admin.monitor.stats.ConnectionFactoryStats
812      * @param factoryName the name of the connection factory
813      * @param listener the listener for monitoring level changes
814      * @throws MonitoringRegistrationException
815      */

816     public void registerConnectionFactoryStats(
817            com.sun.enterprise.admin.monitor.stats.ConnectionFactoryStats stats,
818            String JavaDoc factoryName,
819            MonitoringLevelListener listener) throws MonitoringRegistrationException;
820     
821     /**
822      * Unregisters the ConnectionFactoryStats for the jms-service
823      * @param factoryName the name of the connection factory
824      * @throws MonitoringRegistrationException
825      */

826     public void unregisterConnectionFactoryStats(String JavaDoc factoryName) throws MonitoringRegistrationException;
827
828     /**
829      * Registers the Stats implementation for ConnectorConnectionPoolStats
830      * @param connectorConnectionPoolStats implementation of
831      * com.sun.enterprise.admin.monitor.stats.ConnectorConnectionPoolStats
832      * @param poolName
833      * @param j2eeAppName the name of the j2eeApp
834      * @param moduleName the name the connector module
835      * @param listener This an optional field and when not required, a null
836      * value should be passed. If a MonitoringLevelListener is defined,
837      * the listener's setLevel() method will be called in response to a change
838      * in monitoring level.
839      * @throws MonitoringRegistrationException
840      */

841     public void registerConnectorConnectionPoolStats(
842            com.sun.enterprise.admin.monitor.stats.ConnectorConnectionPoolStats stats,
843            String JavaDoc poolName,
844            String JavaDoc j2eeAppName,
845            String JavaDoc moduleName,
846            MonitoringLevelListener listener)
847            throws MonitoringRegistrationException;
848     
849     /**
850      * Unregisters the Stats implementation for ConnectorConnectionPoolStats
851      * @param poolName
852      * @param j2eeAppName
853      * @param moduleName
854      * @throws MonitoringRegistrationException
855      */

856     public void unregisterConnectorConnectionPoolStats(String JavaDoc poolName,
857                                                        String JavaDoc j2eeAppName,
858                                                        String JavaDoc moduleName)
859                                                        throws MonitoringRegistrationException;
860
861     
862     // SessionStore monitoring related changes
863
/**
864      * Registers the Sessionstore stats for an ejb
865      * @param stats an instance of com.sun.enterprise.admin.monitor.stats.StatefulSessionStoreStats
866      * @param ejbName the name of the ejb for which the stats are being registered
867      * @param moduleName the name of the jar to which the ejb belongs
868      * @param j2eeAppName the name of the j2eeApp, that contains the ejb jar
869      * if null, indicates that the ejb jar is standalone
870      * @param listener the listener for monitoring level changes
871      * @throws MonitoringRegistrationException
872      */

873     public void registerStatefulSessionStoreStats(StatefulSessionStoreStats stats,
874                                                   String JavaDoc ejbName,
875                                                   String JavaDoc moduleName,
876                                                   String JavaDoc j2eeAppName,
877                                                   MonitoringLevelListener listener)
878                                                   throws MonitoringRegistrationException;
879
880     /**
881      * Unregisters the Sessionstore stats for the ejb
882      * @param ejbName the name of the ejb for which the stats are being unregistered
883      * @param moduleName the name of the jar, to which the ejb belongs
884      * @param j2eeAppName the name of the j2eeApp, that contains the ejb jar
885      * @throws MonitoringRegistrationException
886      */

887     public void unregisterStatefulSessionStoreStats(String JavaDoc ejbName,
888                                                     String JavaDoc moduleName,
889                                                     String JavaDoc j2eeAppName)
890                                                     throws MonitoringRegistrationException;
891
892     
893     // EJB Timer Monitoring related stuff
894
/**
895      * Registers the timer stats for an ejb
896      * @param stats an instance of com.sun.enterprise.admin.monitor.stats.TimerServiceStats
897      * @param ejbName the name of the ejb for which the stats are being registered
898      * @param moduleName the name of the jar containing the ejb
899      * @param j2eeAppName the name of the j2eeApp, that contains the ejb jar
900      * if null, indicated that the ejb jar is standalone
901      * @param listener the listener for monitoring level changes
902      * @throws MonitoringRegistrationException
903      */

904     public void registerTimerStats(TimerServiceStats stats,
905                                    String JavaDoc ejbName,
906                                    String JavaDoc moduleName,
907                                    String JavaDoc j2eeAppName,
908                                    MonitoringLevelListener listener)
909                                    throws MonitoringRegistrationException;
910     
911     /**
912      * Unregisters the timer stats for an ejb
913      * @param ejbName the name of the ejb for which the stats are being unregistered
914      * @param moduleName the name of the jar, to which the ejb belongs
915      * @param j2eeAppName the name of the j2eeApp, that contains the ejb jar
916      * @throws MonitoringRegistrationException
917      */

918     public void unregisterTimerStats(String JavaDoc ejbName,
919                                      String JavaDoc moduleName,
920                                      String JavaDoc j2eeAppName)
921                                      throws MonitoringRegistrationException;
922
923     /**
924      * Registers the Aggregate stats for an web service endpoint
925      * @param stats an instance of
926      * com.sun.appserv.management.monitor.statistics.WebServiceAggregateStats
927      * @param endpointName the name of the endpoint for which the stats are
928      * being registered
929      * @param moduleName the name of the jar to which the ejb belongs
930      * @param ctxRoot The context root at which the web module has been
931      * deployed
932      * @param j2eeAppName the name of the j2eeApp, that contains the ejb jar
933      * if null, indicates that the ejb jar is standalone
934      * @param listener the listener for monitoring level changes
935      * @throws MonitoringRegistrationException
936      */

937     public void registerWSAggregateStatsForWeb(Stats stats,
938           String JavaDoc endpointName, String JavaDoc moduleName, String JavaDoc ctxRoot,
939           String JavaDoc j2eeAppName, String JavaDoc vs, MonitoringLevelListener listener)
940                 throws MonitoringRegistrationException;
941
942     /**
943      * Unregisters the web service stats in a module
944      * @param endpointName the name of the endpoint for which the stats are
945      * being unregistered
946      * @param moduleName the name of the jar, to which the endpoint belongs
947      * @param ctxRoot The context root at which the web module has been
948      * deployed
949      * @param j2eeAppName the name of the j2eeApp, that contains the ejb jar
950      * @throws MonitoringRegistrationException
951      */

952     public void unregisterWSAggregateStatsForWeb(String JavaDoc endpointName,
953                 String JavaDoc moduleName, String JavaDoc ctxRoot, String JavaDoc j2eeAppName,
954                 String JavaDoc vs)
955                         throws MonitoringRegistrationException;
956
957     /**
958      * Registers the Aggregate stats for an web service endpoint
959      * @param stats an instance of
960      * com.sun.appserv.management.monitor.statistics.WebServiceAggregateStats
961      * @param endpointName the name of the endpoint for which the stats are
962      * being registered
963      * @param moduleName the name of the jar to which the ejb belongs
964      * @param j2eeAppName the name of the j2eeApp, that contains the ejb jar
965      * if null, indicates that the ejb jar is standalone
966      * @param listener the listener for monitoring level changes
967      * @throws MonitoringRegistrationException
968      */

969     public void registerWSAggregateStatsForEjb(Stats stats,
970           String JavaDoc endpointName, String JavaDoc moduleName, String JavaDoc j2eeAppName,
971           MonitoringLevelListener listener)
972                 throws MonitoringRegistrationException;
973
974     /**
975      * Unregisters the web service stats in a module
976      * @param endpointName the name of the endpoint for which the stats are
977      * being unregistered
978      * @param moduleName the name of the jar, to which the endpoint belongs
979      * @param j2eeAppName the name of the j2eeApp, that contains the ejb jar
980      * @throws MonitoringRegistrationException
981      */

982     public void unregisterWSAggregateStatsForEjb(String JavaDoc endpointName,
983                 String JavaDoc moduleName, String JavaDoc j2eeAppName)
984                         throws MonitoringRegistrationException;
985 }
986
987
Popular Tags