Como Acesso os MBEANS do JBOSS (JMX)

1 resposta
S

E ai pessoal !!
Gostaria de uma ajuda por favor !!
Gostaria de listar os MBeans que tenho no JBOss por minha própria aplicação. Tentei usar o acesso com RMI usando o código :

import javax.management.MBeanInfo;
import javax.management.MBeanOperationInfo;
import javax.management.MBeanParameterInfo;
import javax.management.ObjectName;
import javax.naming.InitialContext;

import org.jboss.jmx.adaptor.rmi.RMIAdaptor;
	   
public class JMXBrowser 
{
	public static void main(String[] args) throws Exception
	{
		try
		{
		InitialContext ic = new InitialContext();
		
		RMIAdaptor server  = (RMIAdaptor) ic.lookup("jmx/invoker/RMIAdaptor");
		
		ObjectName name = new ObjectName("jboss:service=JNDIView");
		MBeanInfo info = server.getMBeanInfo(name);
		System.out.println("JNDIView Class: "+ info.getClassName());
		
		
		MBeanOperationInfo[] opInfo = info.getOperations();
		System.out.println("JNDIView Operations: ");
		for (int o=0;o<opInfo.length;o++)
		{
			MBeanOperationInfo op = opInfo[o];
			
			String returnType = op.getReturnType();
			String opName = op.getName();
			System.out.println(" + "+returnType + " "+ opName + "(");
			
			MBeanParameterInfo[] params = op.getSignature();
			for(int p=0;p<params.length;p++)
			{
				MBeanParameterInfo paramInfo = params[p];
				
				String pname = paramInfo.getName();
				String type = paramInfo.getType();
				
				if (p<params.length-1)
				{
					System.out.println(',');
				}
			}
			System.out.println(")");
		}
		
		String[] sig = {"boolean"};
		Object[] opArgs = {Boolean.TRUE};
		Object result = server.invoke(name,"list", opArgs, sig);
				
		System.out.println("JNDIView.list(true) output:\n"+result);
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}

Só que ja da erro logo de cara na hora do LOOKUP --> ic.lookup("jmx/invoker/RMIAdaptor");

Alguem sabe por que o erro ??? Será que tenho que configurar algo no JBOSS ??

Valeu
[/b]

1 Resposta

S

Bom pessoal eu mesmo achei a resposta para minha pergunta…é o seguinte :

Estava na cara que faltava a configuração do JNDI.PROPERTIES…criei ele com as seguintes propriedades :

jndi.properties :

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

Agora consigo vizualizar os métodos MBean e executá-los!!

Valeu ae

Criado 4 de maio de 2006
Ultima resposta 5 de mai. de 2006
Respostas 1
Participantes 1