44import org .apache .activemq .artemis .api .core .SimpleString ;
55import org .apache .activemq .artemis .api .core .management .*;
66import org .apache .activemq .artemis .api .core .RoutingType ;
7+ import org .jetbrains .annotations .NotNull ;
78
89import javax .management .MBeanServerConnection ;
910import javax .management .MBeanServerInvocationHandler ;
@@ -16,10 +17,12 @@ public class ArtemisResolver implements Resolver<ActiveMQServerControl, QueueCon
1617 private final String DEFAULT_DOMAIN = "org.apache.activemq.artemis" ;
1718 private MBeanServerConnection mBeanServerConnection ;
1819 private String brokerName ;
20+ private ObjectNameBuilder objectNameBuilder ;
1921
2022 public ArtemisResolver (MBeanServerConnection mBeanServerConnection , String brokerName ) {
2123 this .mBeanServerConnection = mBeanServerConnection ;
2224 this .brokerName = brokerName ;
25+ this .objectNameBuilder = ObjectNameBuilder .create (DEFAULT_DOMAIN , brokerName , true );
2326 }
2427
2528 @ Override
@@ -29,40 +32,44 @@ public String getBrokerName() {
2932
3033 @ Override
3134 public ActiveMQServerControl getBrokerView () throws Exception {
32- ObjectName objectName = ObjectNameBuilder .create (DEFAULT_DOMAIN , brokerName , true ).getActiveMQServerObjectName ();
3335 // 1.0 org.apache.activemq.artemis:module=Core,type=Server
3436 // 1.2 org.apache.activemq.artemis:type=Broker,brokerName="<broker-name>",module=Core,ServerType=Server";
3537 // 1.5.1 org.apache.activemq.artemis:type=Broker,brokerName="amq",serviceType=Address,name="queue-anycast2"
3638 // 2.0 org.apache.activemq.artemis:broker="<brokerName>",component=addresses,address="<addressName>",subcomponent=queues,routing-type="<routingType>",queue="<queueName>"
37- objectName = ObjectNameBuilder . create ( DEFAULT_DOMAIN , brokerName , true ) .getActiveMQServerObjectName ();
39+ ObjectName objectName = objectNameBuilder .getActiveMQServerObjectName ();
3840 return MBeanServerInvocationHandler .newProxyInstance (mBeanServerConnection , objectName , ActiveMQServerControl .class , false );
3941 }
4042
4143 @ Override
4244 public QueueControl getQueueView (String addressName , String queueName ) throws Exception {
43- ObjectName objectName = ObjectNameBuilder . create ( DEFAULT_DOMAIN , brokerName , true ) .getQueueObjectName (new SimpleString (addressName ), new SimpleString (queueName ), RoutingType .ANYCAST );
45+ ObjectName objectName = objectNameBuilder .getQueueObjectName (new SimpleString (addressName ), new SimpleString (queueName ), RoutingType .ANYCAST );
4446 return MBeanServerInvocationHandler .newProxyInstance (mBeanServerConnection , objectName , QueueControl .class , false );
4547 }
4648
4749 @ Override
4850 public QueueControl getTopicView (String addressName , String topicName ) throws Exception {
4951// if address doesn't add RoutingType.MULTICAST, it does not have any type
50- ObjectName objectName = ObjectNameBuilder . create ( DEFAULT_DOMAIN , brokerName , true ) .getQueueObjectName (new SimpleString (addressName ), new SimpleString (topicName ), RoutingType .MULTICAST );
52+ ObjectName objectName = objectNameBuilder .getQueueObjectName (new SimpleString (addressName ), new SimpleString (topicName ), RoutingType .MULTICAST );
5153 return MBeanServerInvocationHandler .newProxyInstance (mBeanServerConnection , objectName , QueueControl .class , false );
5254 }
5355
5456 public AcceptorControl getAcceptorView (String acceptorName ) throws Exception {
55- ObjectName objectname = ObjectNameBuilder . create ( DEFAULT_DOMAIN , brokerName , true ) .getAcceptorObjectName (acceptorName );
57+ ObjectName objectname = objectNameBuilder .getAcceptorObjectName (acceptorName );
5658 return MBeanServerInvocationHandler .newProxyInstance (mBeanServerConnection , objectname , AcceptorControl .class , false );
5759 }
5860
5961 public AddressControl getAddressView (String addressName ) throws Exception {
60- ObjectName objectname = ObjectNameBuilder . create ( DEFAULT_DOMAIN , brokerName , true ). getAddressObjectName (new SimpleString ( addressName ) );
62+ ObjectName objectname = getAddressObjectName (addressName );
6163 return MBeanServerInvocationHandler .newProxyInstance (mBeanServerConnection , objectname , AddressControl .class , false );
6264 }
6365
66+ @ NotNull
67+ public ObjectName getAddressObjectName (String addressName ) throws Exception {
68+ return objectNameBuilder .getAddressObjectName (new SimpleString (addressName ));
69+ }
70+
6471 public DivertControl getDivertView (String addressName , String divertName ) throws Exception {
65- ObjectName objectname = ObjectNameBuilder . create ( DEFAULT_DOMAIN , brokerName , true ) .getDivertObjectName (divertName , addressName );
72+ ObjectName objectname = objectNameBuilder .getDivertObjectName (divertName , addressName );
6673 return MBeanServerInvocationHandler .newProxyInstance (mBeanServerConnection , objectname , DivertControl .class , false );
6774 }
6875
0 commit comments