ActiveMq - wie kann ich eine Queue löschen?

Lenzen

Aktives Mitglied
Wie ist es möglich eine Queue zu löschen. Ich konnte leider nichts finden.
Zur Info: ActiveMq läuft auf der lokalen Maschine.

Mein Versuch:

Queue löschen * funktioniert nicht * - was muss ich ändern?
Java:
	public static void delete() {

		try {
			BrokerService broker = new BrokerService(); // hier ist der Broker null
			// configure the broker
			// broker.getBroker();

			ObjectName brokerName = new ObjectName("org.apache.activemq:BrokerName=localhost,Type=Broker");
			BrokerViewMBean brokerMbean = (BrokerViewMBean) broker.getManagementContext().newProxyInstance(brokerName, BrokerViewMBean.class, true);

			brokerMbean.removeQueue("meineTestQueue");

			// for (ObjectName name : brokerMbean.getQueues()) {
			// QueueViewMBean bean = (QueueViewMBean)
			// broker.getManagementContext().newProxyInstance(name,
			// QueueViewMBean.class, true);
			// bean.purge();
			// }
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
Fehler:
Java:
Exception in thread "main" java.lang.RuntimeException: javax.management.InstanceNotFoundException: org.apache.activemq:BrokerName=localhost,Type=Broker
	at JMSTest.JMSQueuePrioTest.delete(JMSQueuePrioTest.java:186)
	at JMSTest.JMSQueuePrioTest.main(JMSQueuePrioTest.java:193)
Caused by: javax.management.InstanceNotFoundException: org.apache.activemq:BrokerName=localhost,Type=Broker
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(Unknown Source)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
	at javax.management.MBeanServerInvocationHandler.invoke(Unknown Source)
	at $Proxy0.removeQueue(Unknown Source)
	at JMSTest.JMSQueuePrioTest.delete(JMSQueuePrioTest.java:179)
	... 1 more

#######################################
Zur Info: Nachricht in eine Queue schreiben funktioniert
Java:
	public static void purge(){		

		try{
			
	      JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi");
	      JMXConnector connector = JMXConnectorFactory.connect(url, null);
	      connector.connect();	      
	      MBeanServerConnection connection = connector.getMBeanServerConnection();	      
	      ObjectName name = new ObjectName("org.apache.activemq:BrokerName=localhost,Type=Queue,Destination=meineTestQueue");
	      QueueViewMBean queueMbean = (QueueViewMBean) MBeanServerInvocationHandler.newProxyInstance(connection, name, QueueViewMBean.class, true);
		  queueMbean.purge();
		 	      
			} catch (JMSException e) {
				e.printStackTrace();
			} catch (MalformedObjectNameException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (NullPointerException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
 

Lenzen

Aktives Mitglied
...jetzt habe ich eine Möglichkeit gefunden
Java:
package teste;

import javax.management.MBeanServerConnection;
import javax.management.MBeanServerInvocationHandler;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;

import org.apache.activemq.broker.jmx.BrokerViewMBean;

public class Test1 {

	public static void main(String[] args) throws Exception {

		try {

			JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi"),null);
			connector.connect();
			MBeanServerConnection connection = connector.getMBeanServerConnection();

			ObjectName mbeanName = new ObjectName("org.apache.activemq:BrokerName=localhost,Type=Broker");
			BrokerViewMBean mbean = (BrokerViewMBean) MBeanServerInvocationHandler.newProxyInstance(connection, mbeanName,BrokerViewMBean.class, true);

			System.out.println("Statistics for broker " + mbean.getBrokerId() + " - " + mbean.getBrokerName());
			System.out.println("\n-----------------\n");
			System.out.println("Total message count: " + mbean.getTotalMessageCount() + "\n");
			System.out.println("Total number of consumers: " + mbean.getTotalConsumerCount());
			System.out.println("Total number of Queues: " + mbean.getQueues().length);

			mbean.removeQueue("meineTestQueue");

		} catch (Exception x) {
			x.printStackTrace();
		}

	}

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I ActiveMQ-Messages übers Netzwerk Netzwerkprogrammierung 13
M ActiveMQ Anfänger-Fehler Netzwerkprogrammierung 3
S ActiveMQ, JMS und Datei übertragen Netzwerkprogrammierung 25
Kr0e Java JMS (ActiveMQ) Netzwerkprogrammierung 7
F JMS mit activemq Netzwerkprogrammierung 3
K Java RMI bricht ab wenn Remote eine Methode ausgeführt werden soll Netzwerkprogrammierung 5
D path-Variablen in eine URL hinzufügen mit Java 1.8 Netzwerkprogrammierung 2
T Webserviceaufruf verursacht eine Exception Netzwerkprogrammierung 3
B Codierung bei der Anbindung an eine REST API Netzwerkprogrammierung 3
L Socket Wie kann ich checken ob ein User eine Nachricht per Outputstream an den Server gesendet hat? Netzwerkprogrammierung 1
X Mit Java eine Applikation auf einem anderen Windows Rechner (Windows Server 2008) starten Netzwerkprogrammierung 1
H Socket Java | Server sendet Nachricht nur wenn vorher eine JOptionPane-Nachricht ausgegeben wurde. Netzwerkprogrammierung 2
P Eine etwas andere Frage: Sicherheit Netzwerkprogrammierung 5
I Server schickt eine Nachricht an Broadcast Netzwerkprogrammierung 2
M Server nur für eine Aufgabe Netzwerkprogrammierung 2
N über Java in eine Text-Datei auf einem Server schreiben Netzwerkprogrammierung 2
C ObjectInputReader wirft beim zweiten Aufruf eine Exception Netzwerkprogrammierung 3
N Problem über http eine Datei zu senden Netzwerkprogrammierung 4
N eine klasse mit server & client Netzwerkprogrammierung 5
X Über eine Socket-Verbindung Arrays übergeben Netzwerkprogrammierung 5
H Eine Mac-Adresse übers Internet ermitteln Netzwerkprogrammierung 2
V Alle Ip-Adressen eine Lokalen-Netzwerkes erfragen Netzwerkprogrammierung 9
B Zugriff auf eine Text- und XML-Datei Netzwerkprogrammierung 4
T Tomcat zeigt immer nur eine Seite Netzwerkprogrammierung 3
Q Problem bei Vergleichen von Strings übertragen über eine Socketverbindung Netzwerkprogrammierung 3
E Wie erstelle ich eine blockiernde Funktion? Netzwerkprogrammierung 12
G binden auf eine bstimmte IP und Netzwerkinterface Netzwerkprogrammierung 12
G Warum eine java.net.ConnectException? Netzwerkprogrammierung 7
P eine BufferedReader für alles ankommende Netzwerkprogrammierung 2
M Wie läd man eine HTML Seite in Java runter Netzwerkprogrammierung 2
A Anmeldung an eine Active Directory? Netzwerkprogrammierung 5
T Möglichkeit über das Netzwerk eine Funktion zu starten? Netzwerkprogrammierung 2
F String in eine URL umwandeln Netzwerkprogrammierung 7
M Wie empfange ich eine ftp liste? Netzwerkprogrammierung 12
S GEHT DAS? - Nur eine Frage! (Printer Port direkt ansteuern?) Netzwerkprogrammierung 4
R auf RemotPC eine Applikation starten Netzwerkprogrammierung 10
D Zwei Applikationen eine Liste? Netzwerkprogrammierung 2
X mehrere Request über eine HttpURLConnection Netzwerkprogrammierung 2
F RabbitMQ: Check queue exists Netzwerkprogrammierung 0
C Socket Datagram-Sockets mit integrierter Message Queue? Netzwerkprogrammierung 2
E Socket DatagramSocket, wieviele Packete sind in der Receive Queue? Netzwerkprogrammierung 5
F Message Queue 4.4 Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben