Bom... acho q ng vai conseguir me ajudar, mas n custa nada tentar...
É o seguinte... adicionei listeners em mbeans do meu jboss.
ate ai foi tranquilo, eu primeiro criei uma classe de notificacao que implementa a interface NotificationListener, do javax.management:
public class Notif implements NotificationListener {
public void handleNotification(Notification n, Object handback)
{
try{
System.out.println("Props da notificadao:");
System.out.println("tipo: " + n.getType());
System.out.println("mensagem:"+n.getMessage());
System.out.println("sequence number:"+n.getSequenceNumber());
System.out.println("timestamp:"+n.getTimeStamp());
System.out.println(" tostring:"+n.toString());
}catch(Exception e)
{
System.out.println("excecao");
}
}
}
List list = MBeanServerFactory.findMBeanServer(null);
MBeanServer server = (MBeanServer)list.iterator().next();
//ateh aqui peguei o mbeanserver da instancia em que a minha aplicacao web esta rodando.
//agora vou registrar um listener em um mbean
ObjectName nome = new ObjectName("jboss.web:service=WebServer");
Notif notif = new Notif();
server.addNotificationListener(nome, notif, null, null);
Isso funcionou perfeitamente. A cada solicitacao ao mbean, o listener é chamado e imprime as informacoes na saida, que é o log do meu jboss. O problema é que eu gostaria de fazer a mesma coisa, mas com um bean de um servidor remoto. Ou seja, eu gostaria que a cada solicitacao ao mbean de um servidor remoto, fossem impressas as informacoes no log do jboss da minha maquina.
Alguem tem alguma ideia? Li um pouco sobre rmi, jmx, mas n consegui implementar...