Package br.gov.frameworkdemoiselle.management

Examples of br.gov.frameworkdemoiselle.management.NotificationManager


          }

          method.invoke(delegate, new Object[] { newValue });

          // Manda uma notificação de mudança de atributo
          NotificationManager notificationManager = Beans.getReference(NotificationManager.class);
          Class<? extends Object> attributeType = newValue != null ? newValue.getClass() : null;

          AttributeChangeNotification notification = new AttributeChangeNotification(bundle.getString(
              "management-notification-attribute-changed", propertyName, managedType.getType()
                  .getCanonicalName()), propertyName, attributeType, oldValue, newValue);
          notificationManager.sendNotification(notification);

        } catch (ConstraintViolationException ce) {
          throw ce;
        } catch (Exception e) {
          throw new ManagedInvokationException(bundle.getString("management-invoke-error", method.getName()), e);
View Full Code Here


          }

          method.invoke(delegate, new Object[] { newValue });

          // Manda uma notificação de mudança de atributo
          NotificationManager notificationManager = Beans.getReference(NotificationManager.class);
          Class<? extends Object> attributeType = newValue != null ? newValue.getClass() : null;

          AttributeChangeNotification notification = new AttributeChangeNotification(bundle.getString(
              "management-notification-attribute-changed", propertyName, managedType.getType()
                  .getCanonicalName()), propertyName, attributeType, oldValue, newValue);
          notificationManager.sendNotification(notification);

        } catch (DemoiselleException de) {
          throw de;
        } catch (Exception e) {
          throw new DemoiselleException(bundle.getString("management-invoke-error", method.getName()), e);
View Full Code Here

          }

          method.invoke(delegate, new Object[] { newValue });

          // Manda uma notificação de mudança de atributo
          NotificationManager notificationManager = Beans.getReference(NotificationManager.class);
          Class<? extends Object> attributeType = newValue != null ? newValue.getClass() : null;

          Notification notification = new DefaultNotification( new AttributeChangeMessage(
              bundle.getString("management-notification-attribute-changed", propertyName, managedType.getType().getCanonicalName())
              , propertyName
              , attributeType
              , oldValue
              , newValue) );
          notificationManager.sendNotification(notification);

        } catch (ConstraintViolationException ce) {
          throw ce;
        } catch (Exception e) {
          throw new ManagedInvokationException(bundle.getString("management-invoke-error", method.getName()), e);
View Full Code Here

  @Test
  public void sendMessage() {
    JMXConfig config = Beans.getReference(JMXConfig.class);

    // Este será o lado cliente. Este manager é usado para enviar notificações a partir do código da aplicação
    NotificationManager notificationManager = Beans.getReference(NotificationManager.class);

    // Obtém o servidor MBean onde anexaremos um listener para a notificação
    MBeanServer server = ManagementFactory.getPlatformMBeanServer();

    // Aqui obtemos o MBean de notificações já registrado pelo bootstrap
    StringBuffer notificationMBeanName = new StringBuffer()
        .append(config.getNotificationDomain() != null ? config.getNotificationDomain()
            : "br.gov.frameworkdemoiselle.jmx").append(":name=").append(config.getNotificationMBeanName());

    ObjectName name = null;
    try {
      name = new ObjectName(notificationMBeanName.toString());
    } catch (MalformedObjectNameException e) {
      Assert.fail();
    }

    // StringBuffer vazio
    StringBuffer notificationBuffer = new StringBuffer();

    // Este notification listener será chamado quando o Demoiselle enviar a notificação e vai colocar
    // a mensagem enviada em "notificationBuffer"
    NotificationListener listener = new TestNotificationListener(notificationBuffer);

    try {
      // Anexa o listener no servidor MBean
      server.addNotificationListener(name, listener, null, null);
    } catch (InstanceNotFoundException e) {
      Assert.fail();
    }

    // Manda a notificação pelo Demoiselle
    DefaultNotification n = new DefaultNotification("Notification test successful");
    notificationManager.sendNotification(n);

    // Se o componente funcionou, o Demoiselle propagou a notificação para o servidor MBean e o listener preencheu
    // o StringBuffer com nossa mensagem.
    Assert.assertEquals("Notification test successful", notificationBuffer.toString());
   
View Full Code Here

    JMXConfig config = Beans.getReference(JMXConfig.class);

    // Obtém o servidor MBean onde anexaremos um listener para a notificação
    MBeanServer server = ManagementFactory.getPlatformMBeanServer();

    NotificationManager notificationManager = Beans.getReference(NotificationManager.class);
    MBeanManager mBeanManager = Beans.getReference(MBeanManager.class);

    // Aqui obtemos o MBean de notificações já registrado pelo bootstrap
    StringBuffer notificationMBeanName = new StringBuffer()
        .append(config.getNotificationDomain() != null ? config.getNotificationDomain()
            : "br.gov.frameworkdemoiselle.jmx").append(":name=").append(config.getNotificationMBeanName());
    ObjectInstance instance = mBeanManager.findMBeanInstance(notificationMBeanName.toString());

    // StringBuffer vazio
    StringBuffer notificationBuffer = new StringBuffer();

    // Este notification listener será chamado quando o Demoiselle enviar a notificação e vai colocar
    // a mensagem enviada em "notificationBuffer"
    NotificationListener listener = new TestNotificationListener(notificationBuffer);

    try {
      // Anexa o listener no servidor MBean
      server.addNotificationListener(instance.getObjectName(), listener, null, null);
    } catch (InstanceNotFoundException e) {
      Assert.fail();
    }

    // Manda a notificação pelo Demoiselle
    Notification notification = new DefaultNotification( new AttributeChangeMessage("Attribute Changed", "name", String.class, "Demoiselle 1", "Demoiselle 2") );
    notificationManager.sendNotification(notification);

    // Se o componente funcionou, o Demoiselle propagou a notificação para o servidor MBean e o listener preencheu
    // o StringBuffer com nossa mensagem.
    Assert.assertEquals("Attribute Changed: name = Demoiselle 2", notificationBuffer.toString());
   
View Full Code Here

TOP

Related Classes of br.gov.frameworkdemoiselle.management.NotificationManager

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.