00001
00026 package org.objectweb.jonas.jmx;
00027
00028 import javax.management.MalformedObjectNameException;
00029 import javax.management.ObjectName;
00030
00031 import org.objectweb.jonas.service.ServiceManager;
00032
00042 public class JonasObjectName {
00043
00047 private static String domain = null;
00048
00052 private static String getDomain() {
00053 if (domain == null) {
00054 try {
00055 domain = ((JmxService) ServiceManager.getInstance().getJmxService()).getJmxServer().getDefaultDomain();
00056 } catch (Exception e) {
00057
00058 }
00059 }
00060 return domain;
00061 }
00062
00069 public static ObjectName jmxConnectorServer(String protocol, String connectorName) {
00070 try {
00071 return ObjectName.getInstance("connectors:protocol=" + protocol + ",name=" + connectorName);
00072 } catch (MalformedObjectNameException e) {
00073
00074 return null;
00075 }
00076 }
00077
00081 public static ObjectName serverConfig() {
00082 try {
00083 return ObjectName.getInstance(getDomain() + ":type=management,name=reconfigManager");
00084 } catch (MalformedObjectNameException e) {
00085
00086 return null;
00087 }
00088 }
00089
00090 public static ObjectName wwwService() {
00091 try {
00092 return ObjectName.getInstance(getDomain() + ":type=webContainer,name=Jetty");
00093 } catch (MalformedObjectNameException e) {
00094
00095 return null;
00096 }
00097 }
00098
00099 public static ObjectName ejbService() {
00100 try {
00101 return ObjectName.getInstance(getDomain() + ":type=service,name=ejbContainers");
00102 } catch (MalformedObjectNameException e) {
00103
00104 return null;
00105 }
00106 }
00107
00112 public static ObjectName earService() {
00113 try {
00114 return ObjectName.getInstance(getDomain() + ":type=service,name=ear");
00115 } catch (MalformedObjectNameException e) {
00116
00117 return null;
00118 }
00119 }
00120
00125 public static ObjectName mailService() {
00126 try {
00127 return ObjectName.getInstance(getDomain() + ":type=service,name=mail");
00128 } catch (MalformedObjectNameException e) {
00129
00130 return null;
00131 }
00132 }
00133
00138 public static ObjectName webContainerService() {
00139 try {
00140 return ObjectName.getInstance(getDomain() + ":type=service,name=webContainers");
00141 } catch (MalformedObjectNameException e) {
00142
00143 return null;
00144 }
00145 }
00146
00147 public static ObjectName databaseService() {
00148 try {
00149 return ObjectName.getInstance(getDomain() + ":type=service,name=database");
00150 } catch (MalformedObjectNameException e) {
00151
00152 return null;
00153 }
00154 }
00155
00156 public static ObjectName resourceService() {
00157 try {
00158 return ObjectName.getInstance(getDomain() + ":type=service,name=resource");
00159 } catch (MalformedObjectNameException e) {
00160
00161 return null;
00162 }
00163 }
00164
00165 public static ObjectName transactionService() {
00166 try {
00167 return ObjectName.getInstance(getDomain() + ":type=service,name=jtm");
00168 } catch (MalformedObjectNameException e) {
00169
00170 return null;
00171 }
00172 }
00173
00174 public static ObjectName logService(String filename) {
00175 try {
00176 return ObjectName.getInstance(getDomain() + ":type=service,name=log,fname="
00177 + fileNameForObjectName(filename));
00178 } catch (MalformedObjectNameException e) {
00179
00180 return null;
00181 }
00182 }
00187 public static ObjectName discoveryService() {
00188 try {
00189 return ObjectName.getInstance(getDomain() + ":type=service,name=discovery");
00190 } catch (MalformedObjectNameException e) {
00191
00192 return null;
00193 }
00194 }
00195
00196 public static ObjectName allLogServices() {
00197 try {
00198 return ObjectName.getInstance(getDomain() + ":type=service,name=log,*");
00199 } catch (MalformedObjectNameException e) {
00200
00201 return null;
00202 }
00203 }
00204
00205 public static ObjectName allServices() {
00206 try {
00207 return ObjectName.getInstance(getDomain() + ":type=service,*");
00208 } catch (MalformedObjectNameException e) {
00209
00210 return null;
00211 }
00212 }
00213
00214 public static ObjectName jmsService() {
00215 try {
00216 return ObjectName.getInstance(getDomain() + ":type=service,name=jms");
00217 } catch (MalformedObjectNameException e) {
00218
00219 return null;
00220 }
00221 }
00222
00223 public static ObjectName jmsService1() {
00224 try {
00225 return ObjectName.getInstance(getDomain() + ":type=service,name=jms");
00226 } catch (MalformedObjectNameException e) {
00227
00228 return null;
00229 }
00230 }
00231
00232 public static ObjectName securityService() {
00233 try {
00234 return ObjectName.getInstance(getDomain() + ":type=service,name=security");
00235 } catch (MalformedObjectNameException e) {
00236
00237 return null;
00238 }
00239 }
00240
00241 public static ObjectName jmxService() {
00242 try {
00243 return ObjectName.getInstance("JMImplementation:type=MBeanServerDelegate");
00244 } catch (MalformedObjectNameException e) {
00245
00246 return null;
00247 }
00248 }
00249
00250 public static ObjectName www(String subtype)
00251 throws MalformedObjectNameException {
00252 return ObjectName.getInstance(getDomain() + ":type=www,subtype=" + subtype);
00253 }
00254
00255 public static ObjectName rar(String filename)
00256 throws MalformedObjectNameException {
00257 return ObjectName.getInstance(getDomain() + ":type=resource,fname=" + fileNameForObjectName(filename));
00258 }
00259
00260 public static ObjectName war(String filename)
00261 throws MalformedObjectNameException {
00262 return ObjectName.getInstance(getDomain() + ":type=war,fname=" + fileNameForObjectName(filename));
00263 }
00264
00265 public static ObjectName datasource(String name)
00266 throws MalformedObjectNameException {
00267 return ObjectName.getInstance(getDomain() + ":type=datasource,name=" + name);
00268 }
00269
00276 public static ObjectName sessionMailFactory(String name)
00277 throws MalformedObjectNameException {
00278 return ObjectName.getInstance(getDomain() + ":type=sessionmailfactory,name=" + name);
00279 }
00280
00287 public static ObjectName mimeMailFactory(String name)
00288 throws MalformedObjectNameException {
00289 return ObjectName.getInstance(getDomain() + ":type=mimemailfactory,name=" + name);
00290 }
00291
00298 public static ObjectName securityMemoryFactory(String name)
00299 throws MalformedObjectNameException {
00300 return ObjectName.getInstance(getDomain() + ":type=securityfactory,subtype=memory,name=" + name);
00301 }
00302
00309 public static ObjectName securityDatasourceFactory(String name)
00310 throws MalformedObjectNameException {
00311 return ObjectName.getInstance(getDomain() + ":type=securityfactory,subtype=datasource,name=" + name);
00312 }
00313
00320 public static ObjectName securityLdapFactory(String name)
00321 throws MalformedObjectNameException {
00322 return ObjectName.getInstance(getDomain() + ":type=securityfactory,subtype=ldap,name=" + name);
00323 }
00324
00332 public static ObjectName user(String resource, String username)
00333 throws MalformedObjectNameException {
00334 return ObjectName.getInstance(getDomain() + ":type=security,subtype=users,resource=" + resource
00335 + ",name=" + username);
00336 }
00337
00343 public static ObjectName allUsers() {
00344 try {
00345 return ObjectName.getInstance(getDomain() + ":type=security,subtype=users,*");
00346 }
00347 catch (MalformedObjectNameException e) {
00348
00349 return null;
00350 }
00351 }
00352
00360 public static ObjectName group(String resource, String groupname)
00361 throws MalformedObjectNameException {
00362 return ObjectName.getInstance(getDomain() + ":type=security,subtype=groups,resource=" + resource
00363 + ",name=" + groupname);
00364 }
00365
00371 public static ObjectName allGroups() {
00372 try {
00373 return ObjectName.getInstance(getDomain() + ":type=security,subtype=groups,*");
00374 }
00375 catch (MalformedObjectNameException e) {
00376
00377 return null;
00378 }
00379 }
00380
00388 public static ObjectName role(String resource, String rolename)
00389 throws MalformedObjectNameException {
00390 return ObjectName.getInstance(getDomain() + ":type=security,subtype=roles,resource=" + resource
00391 + ",name=" + rolename);
00392 }
00393
00399 public static ObjectName allRoles() {
00400 try {
00401 return ObjectName.getInstance(getDomain() + ":type=security,subtype=roles,*");
00402 }
00403 catch (MalformedObjectNameException e) {
00404
00405 return null;
00406 }
00407 }
00408
00409 public static ObjectName resourceAdapters()
00410 throws MalformedObjectNameException {
00411 return ObjectName.getInstance(getDomain() + ":type=resourceadapter,*");
00412 }
00413
00414 public static ObjectName resourceAdapter(String name)
00415 throws MalformedObjectNameException {
00416 return ObjectName.getInstance(getDomain() + ":type=resourceadapter,name=" + name);
00417 }
00418
00419 public static ObjectName rmiConnector() {
00420 try {
00421 return ObjectName.getInstance(getDomain() + ":type=connector,name=rmiconnector");
00422 }
00423 catch (MalformedObjectNameException e) {
00424
00425 return null;
00426 }
00427 }
00428
00429 public static ObjectName allWWW() {
00430 try {
00431 return ObjectName.getInstance(getDomain() + ":type=service,name=www,*");
00432 }
00433 catch (MalformedObjectNameException e) {
00434
00435 return null;
00436 }
00437 }
00438
00439 public static ObjectName allEars() {
00440 try {
00441 return ObjectName.getInstance(getDomain() + ":type=ear,*");
00442 }
00443 catch (MalformedObjectNameException e) {
00444
00445 return null;
00446 }
00447 }
00448
00449 public static ObjectName allRars() {
00450 try {
00451 return ObjectName.getInstance(getDomain() + ":type=resource,*");
00452 } catch (MalformedObjectNameException e) {
00453
00454 return null;
00455 }
00456 }
00457
00458 public static ObjectName allWars() {
00459 try {
00460 return ObjectName.getInstance(getDomain() + ":type=war,*");
00461 } catch (MalformedObjectNameException e) {
00462
00463 return null;
00464 }
00465 }
00466
00467 public static ObjectName allDatasources() {
00468 try {
00469 return ObjectName.getInstance(getDomain() + ":type=datasource,*");
00470 } catch (MalformedObjectNameException e) {
00471
00472 return null;
00473 }
00474 }
00475
00480 public static ObjectName allSessionMailFactories() {
00481 try {
00482 return ObjectName.getInstance(getDomain() + ":type=sessionmailfactory,*");
00483 } catch (MalformedObjectNameException e) {
00484
00485 return null;
00486 }
00487 }
00488
00493 public static ObjectName allMimeMailFactories() {
00494 try {
00495 return ObjectName.getInstance(getDomain() + ":type=mimemailfactory,*");
00496 } catch (MalformedObjectNameException e) {
00497
00498 return null;
00499 }
00500 }
00501
00502 public static ObjectName allResourceAdaptors() {
00503 try {
00504 return ObjectName.getInstance(getDomain() + ":type=resourceadapter,*");
00505 } catch (MalformedObjectNameException e) {
00506
00507 return null;
00508 }
00509 }
00510
00511 public static String getType(ObjectName obj) {
00512 return obj.getKeyProperty("type");
00513 }
00514
00515 public static String fileNameForObjectName(String fileName) {
00516 return fileName.replace(':', '|');
00517 }
00518
00526 public static ObjectName securityFactories(String pName)
00527 throws MalformedObjectNameException {
00528 return ObjectName.getInstance(JonasObjectName.getDomain() + ":type=securityfactory,name=" + pName);
00529 }
00530
00537 public static ObjectName allSecurityFactories()
00538 throws MalformedObjectNameException {
00539 return ObjectName.getInstance(JonasObjectName.getDomain() + ":type=securityfactory,*");
00540 }
00541
00548 public static ObjectName allSecurityMemoryFactories()
00549 throws MalformedObjectNameException {
00550 return ObjectName.getInstance(JonasObjectName.getDomain() + ":type=securityfactory,subtype=memory,*");
00551 }
00552
00559 public static ObjectName allSecurityDatasourceFactories()
00560 throws MalformedObjectNameException {
00561 return ObjectName.getInstance(JonasObjectName.getDomain() + ":type=securityfactory,subtype=datasource,*");
00562 }
00563
00570 public static ObjectName allSecurityLdapFactories()
00571 throws MalformedObjectNameException {
00572 return ObjectName.getInstance(JonasObjectName.getDomain() + ":type=securityfactory,subtype=ldap,*");
00573 }
00574
00582 public static ObjectName allUsers(String pResource)
00583 throws MalformedObjectNameException {
00584 return ObjectName.getInstance(JonasObjectName.getDomain() + ":type=security,subtype=users,resource="
00585 + pResource + ",*");
00586 }
00587
00595 public static ObjectName allRoles(String pResource)
00596 throws MalformedObjectNameException {
00597 return ObjectName.getInstance(JonasObjectName.getDomain() + ":type=security,subtype=roles,resource="
00598 + pResource + ",*");
00599 }
00600
00608 public static ObjectName allGroups(String pResource)
00609 throws MalformedObjectNameException {
00610 return ObjectName.getInstance(JonasObjectName.getDomain() + ":type=security,subtype=groups,resource="
00611 + pResource + ",*");
00612 }
00613
00620 public String toString() {
00621 return super.toString();
00622 }
00623
00624
00625
00630 public static ObjectName joramLocalServer() throws MalformedObjectNameException {
00631 return ObjectName.getInstance("joram:type=JMSlocalServer");
00632 }
00633
00640 public static ObjectName joramRemoteServer(String id) throws MalformedObjectNameException {
00641 return ObjectName.getInstance("joram:type=JMSremoteServer,id=" + id);
00642 }
00643
00650 public static ObjectName joramQueue(String name) throws MalformedObjectNameException {
00651 return ObjectName.getInstance("joram:type=JMSqueue,name=" + name);
00652 }
00653
00660 public static ObjectName joramTopic(String name) throws MalformedObjectNameException {
00661 return ObjectName.getInstance("joram:type=JMStopic,name=" + name);
00662 }
00663
00668 public static ObjectName discoveryManager() throws MalformedObjectNameException {
00669 return ObjectName.getInstance(getDomain() + ":type=management,name=discoveryManager,server=JOnAS");
00670 }
00671
00676 public static ObjectName discoveryClient() throws MalformedObjectNameException {
00677 return ObjectName.getInstance(getDomain() + ":type=management,name=discoveryClient,server=JOnAS");
00678 }
00683 public static ObjectName discoveryEnroller() throws MalformedObjectNameException {
00684 return ObjectName.getInstance(getDomain() + ":type=management,name=discoveryEnroller,server=JOnAS");
00685 }
00686
00692 public static ObjectName catalinaConnectorFactory(String pDomain) throws MalformedObjectNameException {
00693 return new ObjectName(pDomain + ":type=ConnectorFactory");
00694 }
00695
00701 public static ObjectName webModuleProxy(String pDomain) throws MalformedObjectNameException {
00702 return new ObjectName(pDomain + ":type=WebModuleProxy");
00703 }
00704 }