4
4
import org .apache .activemq .artemis .api .core .SimpleString ;
5
5
import org .apache .activemq .artemis .api .core .management .*;
6
6
import org .apache .activemq .artemis .api .core .RoutingType ;
7
+ import org .jetbrains .annotations .NotNull ;
7
8
8
9
import javax .management .MBeanServerConnection ;
9
10
import javax .management .MBeanServerInvocationHandler ;
@@ -16,10 +17,12 @@ public class ArtemisResolver implements Resolver<ActiveMQServerControl, QueueCon
16
17
private final String DEFAULT_DOMAIN = "org.apache.activemq.artemis" ;
17
18
private MBeanServerConnection mBeanServerConnection ;
18
19
private String brokerName ;
20
+ private ObjectNameBuilder objectNameBuilder ;
19
21
20
22
public ArtemisResolver (MBeanServerConnection mBeanServerConnection , String brokerName ) {
21
23
this .mBeanServerConnection = mBeanServerConnection ;
22
24
this .brokerName = brokerName ;
25
+ this .objectNameBuilder = ObjectNameBuilder .create (DEFAULT_DOMAIN , brokerName , true );
23
26
}
24
27
25
28
@ Override
@@ -29,40 +32,44 @@ public String getBrokerName() {
29
32
30
33
@ Override
31
34
public ActiveMQServerControl getBrokerView () throws Exception {
32
- ObjectName objectName = ObjectNameBuilder .create (DEFAULT_DOMAIN , brokerName , true ).getActiveMQServerObjectName ();
33
35
// 1.0 org.apache.activemq.artemis:module=Core,type=Server
34
36
// 1.2 org.apache.activemq.artemis:type=Broker,brokerName="<broker-name>",module=Core,ServerType=Server";
35
37
// 1.5.1 org.apache.activemq.artemis:type=Broker,brokerName="amq",serviceType=Address,name="queue-anycast2"
36
38
// 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 ();
38
40
return MBeanServerInvocationHandler .newProxyInstance (mBeanServerConnection , objectName , ActiveMQServerControl .class , false );
39
41
}
40
42
41
43
@ Override
42
44
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 );
44
46
return MBeanServerInvocationHandler .newProxyInstance (mBeanServerConnection , objectName , QueueControl .class , false );
45
47
}
46
48
47
49
@ Override
48
50
public QueueControl getTopicView (String addressName , String topicName ) throws Exception {
49
51
// 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 );
51
53
return MBeanServerInvocationHandler .newProxyInstance (mBeanServerConnection , objectName , QueueControl .class , false );
52
54
}
53
55
54
56
public AcceptorControl getAcceptorView (String acceptorName ) throws Exception {
55
- ObjectName objectname = ObjectNameBuilder . create ( DEFAULT_DOMAIN , brokerName , true ) .getAcceptorObjectName (acceptorName );
57
+ ObjectName objectname = objectNameBuilder .getAcceptorObjectName (acceptorName );
56
58
return MBeanServerInvocationHandler .newProxyInstance (mBeanServerConnection , objectname , AcceptorControl .class , false );
57
59
}
58
60
59
61
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 );
61
63
return MBeanServerInvocationHandler .newProxyInstance (mBeanServerConnection , objectname , AddressControl .class , false );
62
64
}
63
65
66
+ @ NotNull
67
+ public ObjectName getAddressObjectName (String addressName ) throws Exception {
68
+ return objectNameBuilder .getAddressObjectName (new SimpleString (addressName ));
69
+ }
70
+
64
71
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 );
66
73
return MBeanServerInvocationHandler .newProxyInstance (mBeanServerConnection , objectname , DivertControl .class , false );
67
74
}
68
75
0 commit comments