/hazelcast/src/main/java/com/hazelcast/jmx/MemberMBean.java

https://bitbucket.org/gabral6_gmailcom/hazelcast · Java · 77 lines · 35 code · 10 blank · 32 comment · 1 complexity · 840be6c2cd9e6f3daf4724be42d7ea35 MD5 · raw file

  1. /*
  2. * Copyright (c) 2008-2013, Hazelcast, Inc. All Rights Reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. package com.hazelcast.jmx;
  17. import com.hazelcast.core.Member;
  18. import javax.management.ObjectName;
  19. import java.net.InetAddress;
  20. /**
  21. * The instrumentation MBean for a member.
  22. *
  23. * @author Marco Ferrante, DISI - University of Genoa
  24. */
  25. @JMXDescription("A member of the cluster")
  26. public class MemberMBean extends AbstractMBean<Member> {
  27. private ObjectName name;
  28. public MemberMBean(Member managedObject, ManagementService managementService) {
  29. super(managedObject, managementService);
  30. }
  31. // public ObjectName getObjectName() throws Exception {
  32. // String memberName = "Local";
  33. // if (!getManagedObject().localMember()) {
  34. // // String concatenation is not a performance issue,
  35. // // used only during registration
  36. // memberName = '"' + getManagedObject().getInetAddress().getHostAddress()
  37. // + ":" + getManagedObject().getPort() + '"';
  38. // }
  39. // return getParentName().getNested("Member", memberName).buildObjectName();
  40. // }
  41. @Override
  42. public ObjectNameSpec getNameSpec() {
  43. String memberName = "Local";
  44. if (!getManagedObject().localMember()) {
  45. // String concatenation is not a performance issue,
  46. // used only during registration
  47. memberName = '"' + getManagedObject().getInetAddress().getHostAddress()
  48. + ":" + getManagedObject().getPort() + '"';
  49. }
  50. return getParentName().getNested("Member", memberName);
  51. }
  52. @JMXDescription("The network Port")
  53. @JMXAttribute("Port")
  54. public int getPort() {
  55. return getManagedObject().getInetSocketAddress().getPort();
  56. }
  57. @JMXAttribute("InetAddress")
  58. @JMXDescription("The network address")
  59. public InetAddress getInetAddress() {
  60. return getManagedObject().getInetSocketAddress().getAddress();
  61. }
  62. @JMXAttribute("LiteMember")
  63. @JMXDescription("The member is a lite member")
  64. public boolean isSuperClient() {
  65. return getManagedObject().isLiteMember();
  66. }
  67. }