NoInitialContextException bei Zugriff über JMX

JDeveloper

Grünschnabel
Hallo,

ich habe hier folgendes Szenario:

Java-App mit embedded JBoss Messaging und JBoss Naming.
In dieser App läuft ein JMX Server.
Ich habe ein MBean registriert, was bestimmte Aktionen ausführen soll.

Fall 1 - Funktioniert:
ausführen der entsprechenden private Methode des MBean (initiiert vom selbigen MBean)

Fall 2 - Funktioniert nicht:
ausführen der entsprechenden Methode via JMX-Aufruf führt zu dieser Exception:

Code:
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
	at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
	at javax.naming.InitialContext.lookup(InitialContext.java:351)
	at org.jboss.messaging.util.JNDIUtil.createContext(JNDIUtil.java:56)
	at org.jboss.messaging.jms.server.impl.JMSServerManagerImpl.bindToJndi(JMSServerManagerImpl.java:116)
	at org.jboss.messaging.jms.server.impl.JMSServerManagerImpl.createTopic(JMSServerManagerImpl.java:146)

Gemäß dem Beitrag:
http://www.tutorials.de/forum/enter...riff-auf-sessionbbean-auf-externem-jboss.html

habe ich sowohl auf Server- als auch auf Client-Seite eine entsprechende jndi.properties in den CLASSPATH gepackt. Außerdem habe ich auf Client und Server-Seite versucht die Property per System.setProperty() zu setzen. (Auch wenn es auf Client-Seite eigentlich keinen Sinn macht, da diese nur per JMX mit dem Server kommuniziert und selbst keine JNDI verwendet.)

Ich frag mich, wie der MBeanServer die Klasse lädt/die Methode ausführt, denn wäre die Property nicht auffindbar würde auch Fall 1 nicht funktionieren.

Kann mir jemand einen Tipp geben? Gibt es da via JMX noch was zu beachten?

Grüße + danke,
Sven
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück