Source code: org/objectweb/jtests/providers/admin/JBossMQAdmin.java
1 package org.objectweb.jtests.providers.admin;
2
3 import javax.management.Attribute;
4 import javax.management.ObjectName;
5 import javax.naming.*;
6
7 import org.jboss.jmx.adaptor.rmi.RMIAdaptor;
8 import org.objectweb.jtests.jms.admin.Admin;
9
10 import java.util.*;
11
12 public class JBossMQAdmin implements Admin
13 {
14
15 private String name = "JBossMQ";
16 InitialContext ictx = null;
17 RMIAdaptor server;
18
19 public JBossMQAdmin()
20 {
21 try
22 {
23 Properties props = new Properties();
24 props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
25 props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
26 props.setProperty("java.naming.provider.url", "localhost");
27 ictx = new InitialContext(props);
28
29 String serverName = System.getProperty("jbosstest.server.name");
30 if (serverName == null)
31 {
32 serverName = "jmx/invoker/RMIAdaptor";
33 }
34 server = (RMIAdaptor) ictx.lookup(serverName);
35 }
36 catch (Exception e)
37 {
38 e.printStackTrace();
39 }
40 }
41
42
43 public String getName()
44 {
45 return name;
46 }
47
48 public InitialContext createInitialContext() throws NamingException
49 {
50 return ictx;
51 }
52
53 public void createQueueConnectionFactory(String name)
54 {
55 try
56 {
57
58 String mbeanClass = "org.jboss.naming.NamingAlias";
59 ObjectName objn = new ObjectName("testsuite:service=NamingAlias,fromName=" + name);
60 server.createMBean(mbeanClass, objn);
61 server.setAttribute(objn, new Attribute("ToName", "ConnectionFactory"));
62 server.setAttribute(objn, new Attribute("FromName", name));
63 server.invoke(objn, "create", new Object[]{}, new String[]{});
64 server.invoke(objn, "start", new Object[]{}, new String[]{});
65 }
66 catch (Exception e)
67 {
68 e.printStackTrace();
69 }
70 }
71
72
73 public void deleteQueueConnectionFactory(String name)
74 {
75 try
76 {
77 ObjectName objn = new ObjectName("testsuite:service=NamingAlias,fromName=" + name);
78 if (server.isRegistered(objn))
79 {
80 server.invoke(objn, "stop", new Object[]{}, new String[]{});
81 server.invoke(objn, "destroy", new Object[]{}, new String[]{});
82 server.unregisterMBean(objn);
83 }
84 }
85 catch (Exception e)
86 {
87 e.printStackTrace();
88 }
89 }
90
91 public void createTopicConnectionFactory(String name)
92 {
93 createQueueConnectionFactory(name);
94 }
95
96 public void deleteTopicConnectionFactory(String name)
97 {
98 deleteQueueConnectionFactory(name);
99 }
100
101 public void createQueue(String name)
102 {
103
104 try
105 {
106 ObjectName objn = new ObjectName("jboss.mq:service=DestinationManager");
107 server.invoke(objn, "createQueue", new Object[]{"testsuite-" + name, name}, new String[]{String.class.getName(), String.class.getName()});
108 }
109 catch (Exception e)
110 {
111 e.printStackTrace();
112 }
113 }
114
115 public void createTopic(String name)
116 {
117 try
118 {
119 ObjectName objn = new ObjectName("jboss.mq:service=DestinationManager");
120 server.invoke(objn, "createTopic", new Object[]{"testsuite-" + name, name}, new String[]{String.class.getName(), String.class.getName()});
121 }
122 catch (Exception e)
123 {
124 e.printStackTrace();
125 }
126 }
127
128 public void deleteQueue(String name)
129 {
130 try
131 {
132 ObjectName objn = new ObjectName("jboss.mq:service=DestinationManager");
133 server.invoke(objn, "destroyQueue", new Object[]{"testsuite-" + name}, new String[]{String.class.getName()});
134 }
135 catch (Exception e)
136 {
137 e.printStackTrace();
138 }
139 }
140
141 public void deleteTopic(String name)
142 {
143 try
144 {
145 ObjectName objn = new ObjectName("jboss.mq:service=DestinationManager");
146 server.invoke(objn, "destroyTopic", new Object[]{"testsuite-" + name}, new String[]{String.class.getName()});
147 }
148 catch (Exception e)
149 {
150 e.printStackTrace();
151 }
152 }
153
154 }