KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jonas > jmx > J2eeObjectName


1 /**
2  * JOnAS: Java(TM) Open Application Server
3  * Copyright (C) 1999-2004 Bull S.A.
4  * Contact: jonas-team@objectweb.org
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19  * USA
20  *
21  * --------------------------------------------------------------------------
22  * $Id: J2eeObjectName.java,v 1.35 2005/07/25 22:49:52 vivekl Exp $
23  * --------------------------------------------------------------------------
24  */

25
26 package org.objectweb.jonas.jmx;
27
28 import java.util.ArrayList JavaDoc;
29 import java.util.Collections JavaDoc;
30 import java.util.Iterator JavaDoc;
31 import java.util.List JavaDoc;
32
33 import javax.management.MBeanServer JavaDoc;
34 import javax.management.MBeanServerConnection JavaDoc;
35 import javax.management.ObjectName JavaDoc;
36
37 /**
38  * A set of static methods used to create object names for J2EE managed object.
39  * This implementation is conformant to the JSR77.
40  * @author Adriana Danes
41  * @author Michel-Ange Anton
42  */

43 public class J2eeObjectName {
44
45     private static MBeanServerConnection JavaDoc localManagementRepr = null;
46
47     /**
48      * private constructor
49      */

50     private J2eeObjectName() {
51     }
52
53     // --------------------------------------------------------- Constants
54
/**
55      * Constant used in pattern ObjectNames
56      */

57     public static final String JavaDoc ALL = "*";
58
59     /**
60      * Constant used in ObjectNames of standalone modules
61      */

62     public static final String JavaDoc NONE = "none";
63
64     // --------------------------------------------------------- Public Methods
65
/**
66      * @param pObjectName Stringified ObjectName
67      * @return ObjectName instance corresponding to the received argument
68      */

69     public static ObjectName JavaDoc getObjectName(String JavaDoc pObjectName) {
70         try {
71             return ObjectName.getInstance(pObjectName);
72         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
73             // this should never occur
74
return null;
75         }
76     }
77
78     /**
79      * Return the list of <code>ObjectName</code> gotten by the query in the
80      * current MbeanServer.
81      * @param pOn Query Mbeans to search
82      * @return The list of <code>ObjectName</code>
83      * @throws ManagementException
84      */

85     public static List JavaDoc queryObjectNames(ObjectName JavaDoc pOn) throws ManagementException {
86         ArrayList JavaDoc al = new ArrayList JavaDoc();
87         if (localManagementRepr == null) {
88             localManagementRepr = ManagementReprFactory.getLocalManagementRepr();
89             if (localManagementRepr == null) {
90                 return al;
91             }
92         }
93         Iterator JavaDoc itNames = ((MBeanServer JavaDoc) localManagementRepr).queryNames(pOn, null).iterator();
94         while (itNames.hasNext()) {
95             al.add(itNames.next());
96         }
97         return al;
98     }
99
100     /**
101      * Return the list of ObjectName's String gotten by the query in the current
102      * MbeanServer.
103      * @param pOn Query Mbeans to search
104      * @return A list of <code>ObjectName</code> convert to String
105      * @throws ManagementException
106      */

107     public static List JavaDoc queryStrings(ObjectName JavaDoc pOn) throws ManagementException {
108         ArrayList JavaDoc al = new ArrayList JavaDoc();
109         if (localManagementRepr == null) {
110             localManagementRepr = ManagementReprFactory.getLocalManagementRepr();
111             if (localManagementRepr == null) {
112                 return al;
113             }
114         }
115         Iterator JavaDoc itNames = ((MBeanServer JavaDoc) localManagementRepr).queryNames(pOn, null).iterator();
116         while (itNames.hasNext()) {
117             ObjectName JavaDoc item = (ObjectName JavaDoc) itNames.next();
118             al.add(item.toString());
119         }
120         Collections.sort(al);
121         return al;
122     }
123
124     public static ObjectName JavaDoc J2EEDomain(String JavaDoc pDomain) {
125         try {
126             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
127             sb.append(":j2eeType=J2EEDomain");
128             sb.append(",name=");
129             sb.append(pDomain);
130             return new ObjectName JavaDoc(sb.toString());
131         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
132             // this should never occur
133
return null;
134         }
135     }
136
137     public static ObjectName JavaDoc J2EEDomains() {
138         try {
139             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(ALL);
140             sb.append(":j2eeType=J2EEDomain");
141             sb.append(",");
142             sb.append(ALL);
143             return new ObjectName JavaDoc(sb.toString());
144         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
145             // this should never occur
146
return null;
147         }
148     }
149
150     public static ObjectName JavaDoc J2EEServers() {
151         try {
152             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(ALL);
153             sb.append(":j2eeType=J2EEServer");
154             sb.append(",");
155             sb.append(ALL);
156             return new ObjectName JavaDoc(sb.toString());
157         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
158             // this should never occur
159
return null;
160         }
161     }
162
163     public static ObjectName JavaDoc J2EEServers(String JavaDoc pDomain) {
164         try {
165             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
166             sb.append(":j2eeType=J2EEServer");
167             sb.append(",");
168             sb.append(ALL);
169             return new ObjectName JavaDoc(sb.toString());
170         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
171             // this should never occur
172
return null;
173         }
174     }
175
176     public static ObjectName JavaDoc J2EEServer(String JavaDoc pDomain, String JavaDoc pServer) {
177         try {
178             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
179             sb.append(":j2eeType=J2EEServer");
180             sb.append(",name=");
181             sb.append(pServer);
182             return new ObjectName JavaDoc(sb.toString());
183         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
184             // this should never occur
185
return null;
186         }
187     }
188
189     public static ObjectName JavaDoc JVM(String JavaDoc pDomain, String JavaDoc pServer, String JavaDoc pName) {
190         try {
191             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
192             sb.append(":j2eeType=JVM");
193             sb.append(",name=");
194             sb.append(pName);
195             sb.append(",J2EEServer=");
196             sb.append(pServer);
197             return new ObjectName JavaDoc(sb.toString());
198         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
199             // this should never occur
200
return null;
201         }
202     }
203
204     public static ObjectName JavaDoc JVMs(String JavaDoc pDomain, String JavaDoc pServer) {
205         try {
206             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
207             sb.append(":j2eeType=JVM");
208             sb.append(",J2EEServer=");
209             sb.append(pServer);
210             sb.append(",");
211             sb.append(ALL);
212             return new ObjectName JavaDoc(sb.toString());
213         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
214             // this should never occur
215
return null;
216         }
217     }
218
219     public static ObjectName JavaDoc J2EEApplications() {
220         try {
221             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(ALL);
222             sb.append(":j2eeType=J2EEApplication");
223             sb.append(",");
224             sb.append(ALL);
225             return new ObjectName JavaDoc(sb.toString());
226         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
227             // this should never occur
228
return null;
229         }
230     }
231
232     public static ObjectName JavaDoc J2EEApplications(String JavaDoc pDomain) {
233         try {
234             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
235             sb.append(":j2eeType=J2EEApplication");
236             sb.append(",");
237             sb.append(ALL);
238             return new ObjectName JavaDoc(sb.toString());
239         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
240             // this should never occur
241
return null;
242         }
243     }
244
245     public static ObjectName JavaDoc J2EEApplications(String JavaDoc pDomain, String JavaDoc pServer) {
246         try {
247             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
248             sb.append(":j2eeType=J2EEApplication");
249             sb.append(",J2EEServer=");
250             sb.append(pServer);
251             sb.append(",");
252             sb.append(ALL);
253             return new ObjectName JavaDoc(sb.toString());
254         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
255             // this should never occur
256
return null;
257         }
258     }
259
260     public static ObjectName JavaDoc J2EEApplication(String JavaDoc pDomain, String JavaDoc pServer, String JavaDoc pName) {
261         try {
262             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
263             sb.append(":j2eeType=J2EEApplication");
264             sb.append(",name=");
265             sb.append(pName);
266             sb.append(",J2EEServer=");
267             sb.append(pServer);
268             return new ObjectName JavaDoc(sb.toString());
269         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
270             // this should never occur
271
return null;
272         }
273     }
274     /**
275      * Create generic name for all AppClientModules deployed in a given server, possibly belonging
276      * to a given J2EE application
277      * @param pDomain domain name
278      * @param pServer server name
279      * @param pApplication application name
280      * @return generic name for the AppClientModules in a given server and application
281      */

282     public static ObjectName JavaDoc getAppClientModules(String JavaDoc pDomain, String JavaDoc pServer, String JavaDoc pApplication) {
283         try {
284             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
285             sb.append(":j2eeType=AppClientModule");
286             sb.append(",J2EEApplication=");
287             if ((pApplication != null) && (pApplication.length() > 0)) {
288                 sb.append(pApplication);
289             } else {
290                 sb.append(NONE);
291             }
292             sb.append(",J2EEServer=");
293             sb.append(pServer);
294             sb.append(",");
295             sb.append(ALL);
296             return new ObjectName JavaDoc(sb.toString());
297         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
298             // this should never occur
299
return null;
300         }
301     }
302     /**
303      * Create ObjectName for an AppClientModule
304      * @param pDomain domain name
305      * @param pServer server name
306      * @param pApplication application name
307      * @param pName module name
308      * @return ObjectName for an AppClientModule
309      */

310     public static ObjectName JavaDoc getAppClientModule(String JavaDoc pDomain, String JavaDoc pServer, String JavaDoc pApplication, String JavaDoc pName) {
311         try {
312             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
313             sb.append(":j2eeType=AppClientModule");
314             sb.append(",name=");
315             sb.append(pName);
316             sb.append(",J2EEApplication=");
317             if ((pApplication != null) && (pApplication.length() > 0)) {
318                 sb.append(pApplication);
319             } else {
320                 sb.append(NONE);
321             }
322             sb.append(",J2EEServer=");
323             sb.append(pServer);
324             return new ObjectName JavaDoc(sb.toString());
325         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
326             // this should never occur
327
return null;
328         }
329     }
330     public static ObjectName JavaDoc getEJBModules() {
331         try {
332             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(ALL);
333             sb.append(":j2eeType=EJBModule");
334             sb.append(",");
335             sb.append(ALL);
336             return new ObjectName JavaDoc(sb.toString());
337         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
338             // this should never occur
339
return null;
340         }
341     }
342
343     public static ObjectName JavaDoc getEJBModules(String JavaDoc pDomain) {
344         try {
345             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
346             sb.append(":j2eeType=EJBModule");
347             sb.append(",");
348             sb.append(ALL);
349             return new ObjectName JavaDoc(sb.toString());
350         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
351             // this should never occur
352
return null;
353         }
354     }
355
356     public static ObjectName JavaDoc getEJBModules(String JavaDoc pDomain, String JavaDoc pServer) {
357         try {
358             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
359             sb.append(":j2eeType=EJBModule");
360             sb.append(",J2EEServer=");
361             sb.append(pServer);
362             sb.append(",");
363             sb.append(ALL);
364             return new ObjectName JavaDoc(sb.toString());
365         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
366             // this should never occur
367
return null;
368         }
369     }
370
371     public static ObjectName JavaDoc getEJBModules(String JavaDoc pDomain, String JavaDoc pServer, String JavaDoc pApplication) {
372         try {
373             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
374             sb.append(":j2eeType=EJBModule");
375             sb.append(",J2EEApplication=");
376             if ((pApplication != null) && (pApplication.length() > 0)) {
377                 sb.append(pApplication);
378             } else {
379                 sb.append(NONE);
380             }
381             sb.append(",J2EEServer=");
382             sb.append(pServer);
383             sb.append(",");
384             sb.append(ALL);
385             return new ObjectName JavaDoc(sb.toString());
386         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
387             // this should never occur
388
return null;
389         }
390     }
391
392     public static ObjectName JavaDoc getEJBModule(String JavaDoc pDomain, String JavaDoc pServer, String JavaDoc pApplication, String JavaDoc pName) {
393         try {
394             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
395             sb.append(":j2eeType=EJBModule");
396             sb.append(",name=");
397             sb.append(pName);
398             sb.append(",J2EEApplication=");
399             if ((pApplication != null) && (pApplication.length() > 0)) {
400                 sb.append(pApplication);
401             } else {
402                 sb.append(NONE);
403             }
404             sb.append(",J2EEServer=");
405             sb.append(pServer);
406             return new ObjectName JavaDoc(sb.toString());
407         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
408             // this should never occur
409
return null;
410         }
411     }
412
413     public static ObjectName JavaDoc getEntityBean(String JavaDoc pDomain, String JavaDoc pModule, String JavaDoc pServer, String JavaDoc pApplication,
414             String JavaDoc pName) {
415         try {
416             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
417             sb.append(":j2eeType=EntityBean");
418             sb.append(",name=");
419             sb.append(pName);
420             sb.append(",EJBModule=");
421             sb.append(pModule);
422             sb.append(",J2EEApplication=");
423             if ((pApplication != null) && (pApplication.length() > 0)) {
424                 sb.append(pApplication);
425             } else {
426                 sb.append(NONE);
427             }
428             sb.append(",J2EEServer=");
429             sb.append(pServer);
430             return new ObjectName JavaDoc(sb.toString());
431         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
432             // this should never occur
433
return null;
434         }
435     }
436
437     public static ObjectName JavaDoc getEntityBeans(String JavaDoc pDomain, String JavaDoc pModule) {
438         try {
439             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
440             sb.append(":j2eeType=EntityBean");
441             sb.append(",EJBModule=");
442             sb.append(pModule);
443             sb.append(",");
444             sb.append(ALL);
445             return new ObjectName JavaDoc(sb.toString());
446         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
447             // this should never occur
448
return null;
449         }
450     }
451
452     public static ObjectName JavaDoc getEntityBeans(String JavaDoc pDomain, String JavaDoc pModule, String JavaDoc pServer) {
453         try {
454             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
455             sb.append(":j2eeType=EntityBean");
456             sb.append(",EJBModule=");
457             sb.append(pModule);
458             sb.append(",J2EEServer=");
459             sb.append(pServer);
460             sb.append(",");
461             sb.append(ALL);
462             return new ObjectName JavaDoc(sb.toString());
463         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
464             // this should never occur
465
return null;
466         }
467     }
468
469     public static ObjectName JavaDoc getStatefulSessionBean(String JavaDoc pDomain, String JavaDoc pModule, String JavaDoc pServer,
470             String JavaDoc pApplication, String JavaDoc pName) {
471         try {
472             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
473             sb.append(":j2eeType=StatefulSessionBean");
474             sb.append(",name=");
475             sb.append(pName);
476             sb.append(",EJBModule=");
477             sb.append(pModule);
478             sb.append(",J2EEApplication=");
479             if ((pApplication != null) && (pApplication.length() > 0)) {
480                 sb.append(pApplication);
481             } else {
482                 sb.append(NONE);
483             }
484             sb.append(",J2EEServer=");
485             sb.append(pServer);
486             return new ObjectName JavaDoc(sb.toString());
487         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
488             // this should never occur
489
return null;
490         }
491     }
492
493     public static ObjectName JavaDoc getStatefulSessionBeans(String JavaDoc pDomain, String JavaDoc pModule) {
494         try {
495             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
496             sb.append(":j2eeType=StatefulSessionBean");
497             sb.append(",EJBModule=");
498             sb.append(pModule);
499             sb.append(",");
500             sb.append(ALL);
501             return new ObjectName JavaDoc(sb.toString());
502         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
503             // this should never occur
504
return null;
505         }
506     }
507
508     public static ObjectName JavaDoc getStatefulSessionBeans(String JavaDoc pDomain, String JavaDoc pModule, String JavaDoc pServer) {
509         try {
510             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
511             sb.append(":j2eeType=StatefulSessionBean");
512             sb.append(",EJBModule=");
513             sb.append(pModule);
514             sb.append(",J2EEServer=");
515             sb.append(pServer);
516             sb.append(",");
517             sb.append(ALL);
518             return new ObjectName JavaDoc(sb.toString());
519         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
520             // this should never occur
521
return null;
522         }
523     }
524
525     public static ObjectName JavaDoc getStatelessSessionBean(String JavaDoc pDomain, String JavaDoc pModule, String JavaDoc pServer,
526             String JavaDoc pApplication, String JavaDoc pName) {
527         try {
528             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
529             sb.append(":j2eeType=StatelessSessionBean");
530             sb.append(",name=");
531             sb.append(pName);
532             sb.append(",EJBModule=");
533             sb.append(pModule);
534             sb.append(",J2EEApplication=");
535             if ((pApplication != null) && (pApplication.length() > 0)) {
536                 sb.append(pApplication);
537             } else {
538                 sb.append(NONE);
539             }
540             sb.append(",J2EEServer=");
541             sb.append(pServer);
542             return new ObjectName JavaDoc(sb.toString());
543         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
544             // this should never occur
545
return null;
546         }
547     }
548
549     public static ObjectName JavaDoc getStatelessSessionBeans(String JavaDoc pDomain, String JavaDoc pModule) {
550         try {
551             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
552             sb.append(":j2eeType=StatelessSessionBean");
553             sb.append(",EJBModule=");
554             sb.append(pModule);
555             sb.append(",");
556             sb.append(ALL);
557             return new ObjectName JavaDoc(sb.toString());
558         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
559             // this should never occur
560
return null;
561         }
562     }
563
564     public static ObjectName JavaDoc getStatelessSessionBeans(String JavaDoc pDomain) {
565         try {
566             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
567             sb.append(":j2eeType=StatelessSessionBean");
568             sb.append(",");
569             sb.append(ALL);
570             return new ObjectName JavaDoc(sb.toString());
571         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
572              // this should never occur
573
return null;
574         }
575     }
576
577
578     public static ObjectName JavaDoc getStatelessSessionBeans(String JavaDoc pDomain, String JavaDoc pModule, String JavaDoc pServer) {
579         try {
580             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
581             sb.append(":j2eeType=StatelessSessionBean");
582             sb.append(",EJBModule=");
583             sb.append(pModule);
584             sb.append(",J2EEServer=");
585             sb.append(pServer);
586             sb.append(",");
587             sb.append(ALL);
588             return new ObjectName JavaDoc(sb.toString());
589         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
590             // this should never occur
591
return null;
592         }
593     }
594
595     public static ObjectName JavaDoc getMessageDrivenBean(String JavaDoc pDomain, String JavaDoc pModule, String JavaDoc pServer,
596             String JavaDoc pApplication, String JavaDoc pName) {
597         try {
598             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
599             sb.append(":j2eeType=MessageDrivenBean");
600             sb.append(",name=");
601             sb.append(pName);
602             sb.append(",EJBModule=");
603             sb.append(pModule);
604             sb.append(",J2EEApplication=");
605             if ((pApplication != null) && (pApplication.length() > 0)) {
606                 sb.append(pApplication);
607             } else {
608                 sb.append(NONE);
609             }
610             sb.append(",J2EEServer=");
611             sb.append(pServer);
612             return new ObjectName JavaDoc(sb.toString());
613         } catch (javax.management.MalformedObjectNameException JavaDoc e) {
614             // this should never occur
615
return null;
616         }
617     }
618
619     public static ObjectName JavaDoc getMessageDrivenBeans(String JavaDoc pDomain, String JavaDoc pModule, String JavaDoc pServer) {
620         try {
621             StringBuffer JavaDoc sb = new StringBuffer JavaDoc(pDomain);
622             sb.append(":j2eeType