Package mx4j.log

Examples of mx4j.log.Logger


      return stopped;
   }

   public synchronized void start() throws IOException
   {
      Logger logger = getLogger();

      if (isActive())
      {
         if (logger.isEnabledFor(Logger.TRACE)) logger.trace("This RMIConnectorServer has already been started");
         return;
      }
      if (isStopped())
      {
         if (logger.isEnabledFor(Logger.TRACE)) logger.trace("This RMIConnectorServer has already been stopped");
         throw new IOException("This RMIConnectorServer has already been stopped");
      }

      MBeanServer server = getMBeanServer();
      if (server == null) throw new IllegalStateException("This RMIConnectorServer is not attached to an MBeanServer");

      JMXServiceURL address = getAddress();
      String protocol = address.getProtocol();
      ConnectionResolver resolver = ConnectionResolver.newConnectionResolver(protocol, environment);
      if (rmiServer == null)
      {
         if (resolver == null) throw new MalformedURLException("Unsupported protocol: " + protocol);
         rmiServer = (RMIServerImpl)resolver.createServer(address, environment);
      }

      rmiServer.setRMIConnectorServer(this);
      rmiServer.setMBeanServer(server);
      rmiServer.setDefaultClassLoader(defaultClassLoader);

      rmiServer.export();

      // Replace the JMXServiceURL, as it can now contain the encoded stub/ior
      url = resolver.bindServer(rmiServer, address, environment);

      active = true;

      if (logger.isEnabledFor(Logger.INFO)) logger.info("RMIConnectorServer started at: " + url);
   }
View Full Code Here


      if (logger.isEnabledFor(Logger.TRACE)) logger.trace(removed + " notification listener(s) removed successfully from " + this);
   }

   public void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
   {
      Logger logger = getLogger();
      if (logger.isEnabledFor(Logger.TRACE)) logger.trace("Removing notification listener: " + listener + ", filter: " + filter + ", handback: " + handback);

      // Normalize the arguments if necessary
      if (filter == null) filter = NULL_FILTER;
      if (handback == null) handback = NULL_HANDBACK;

      int removed = removeNotificationListenerImpl(listener, filter, handback);

      if (logger.isEnabledFor(Logger.TRACE)) logger.trace(removed + " notification listener(s) removed successfully from " + this);
   }
View Full Code Here

      ConnectionResolver resolver = ConnectionResolver.newConnectionResolver(protocol, environment);
      if (resolver == null) throw new MalformedURLException("Unsupported protocol: " + protocol);
      resolver.unbindServer(rmiServer, address, environment);
      resolver.destroyServer(rmiServer, address, environment);

      Logger logger = getLogger();
      if (logger.isEnabledFor(Logger.INFO)) logger.info("RMIConnectorServer stopped at: " + address);
   }
View Full Code Here

      if (logger.isEnabledFor(Logger.TRACE)) logger.trace(removed + " notification listener(s) removed successfully from " + this);
   }

   private int removeNotificationListenerImpl(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
   {
      Logger logger = getLogger();
      synchronized (this)
      {
         if (logger.isEnabledFor(Logger.TRACE)) logger.trace("Listeners for " + this + " are: " + m_listeners);

         ArrayList pairs = (ArrayList)m_listeners.get(listener);

         if (pairs == null) throw new ListenerNotFoundException("NotificationListener " + listener + " not found");
View Full Code Here

    *
    * @param notification The notification to send
    */
   public void sendNotification(Notification notification)
   {
      Logger logger = getLogger();
      boolean trace = logger.isEnabledFor(Logger.TRACE);
      boolean info = logger.isEnabledFor(Logger.INFO);

      HashMap listeners = null;

      synchronized (this)
      {
         // Clone the listeners, so we can notify without holding any lock
         // It is a shallow copy, below we will clone the pairs as well
         // I don't care if in the middle someone else adds or remove other pairs
         listeners = (HashMap)m_listeners.clone();
      }

      // Loop over all listeners
      Iterator i = listeners.keySet().iterator();

      if (i.hasNext() && trace) logger.trace("Sending notifications from " + this);

      while (i.hasNext())
      {
         NotificationListener listener = (NotificationListener)i.next();
         if (trace) logger.trace("\tListener is: " + listener);

         // Clone again the pairs for this listener.
         // I freezed the listeners with the first clone, if someone removes a pair
         // in the middle of notifications I don't care: here I clone the actual pairs
         ArrayList pairs = null;
         synchronized (this)
         {
            pairs = (ArrayList)listeners.get(listener);
            pairs = (ArrayList)pairs.clone();
         }

         if (trace) logger.trace("\tFilters - Handback for this listener: " + pairs);

         // Loop over the same listener that registered many times with different filter / handbacks
         for (int j = 0; j < pairs.size(); ++j)
         {
            FilterHandbackPair pair = (FilterHandbackPair)pairs.get(j);

            NotificationFilter filter = pair.filter;
            Object handback = pair.handback;

            // Denormalize filter and handback if necessary
            if (filter == NULL_FILTER) filter = null;
            if (handback == NULL_HANDBACK) handback = null;

            boolean enabled = false;
            try
            {
               enabled = filter == null || filter.isNotificationEnabled(notification);
            }
            catch (Throwable x)
            {
               if (info) logger.info("Throwable caught from isNotificationEnabled", x);
               // And go on
            }

            if (trace) logger.trace("\t\tFilter is: " + filter + ", enabled: " + enabled);

            if (enabled)
            {
               if (trace)
               {
                  logger.debug("\t\tHandback is: " + handback);
                  logger.debug("\t\tSending notification " + notification);
               }

               try
               {
                  handleNotification(listener, notification, handback);
               }
               catch (Throwable x)
               {
                  if (info) logger.info("Throwable caught from handleNotification", x);
                  // And go on with next listener
               }
            }
         }
      }
View Full Code Here

      }
   }

   private Map.Entry getNextNonFinishedTaskEntry(Iterator i)
   {
      Logger logger = getLogger();

      synchronized (this)
      {
         if (i.hasNext())
         {
            Map.Entry entry = (Map.Entry)i.next();
            TimerTask t = (TimerTask)entry.getValue();
            if (t.isFinished())
            {
               if (logger.isEnabledFor(Logger.DEBUG)) logger.debug("Found an expired notification, removing it: " + t);
               i.remove();
               return getNextNonFinishedTaskEntry(i);
            }
            return entry;
         }
View Full Code Here

      }
   }

   public void sendNotification(Notification n)
   {
      Logger logger = getLogger();
      if (logger.isEnabledFor(Logger.TRACE)) logger.trace("Start sending notifications from Timer service " + objectName);
      super.sendNotification(n);
      if (logger.isEnabledFor(Logger.TRACE)) logger.trace("Finished sending notifications from Timer service " + objectName);
   }
View Full Code Here

      if (modelMBeanInfo == null) throw new RuntimeOperationsException(new IllegalArgumentException("ModelMBeanInfo cannot be null"));
      if (!isModelMBeanInfoValid(modelMBeanInfo)) throw new RuntimeOperationsException(new IllegalArgumentException("ModelMBeanInfo is invalid"));

      m_modelMBeanInfo = new ModelMBeanInfoSupport(modelMBeanInfo);

      Logger logger = getLogger();
      if (logger.isEnabledFor(Logger.DEBUG)) logger.debug("ModelMBeanInfo successfully set to: " + m_modelMBeanInfo);
   }
View Full Code Here

   public void setManagedResource(Object resource, String resourceType) throws MBeanException, RuntimeOperationsException, InstanceNotFoundException, InvalidTargetObjectTypeException
   {
      if (!isResourceTypeSupported(resourceType)) throw new InvalidTargetObjectTypeException(resourceType);

      Logger logger = getLogger();
      if (logger.isEnabledFor(Logger.DEBUG)) logger.debug("Setting managed resource to be: " + resource);
      m_managedResource = resource;
   }
View Full Code Here

         }
      }

      getAttributeChangeBroadcaster().addNotificationListener(listener, filter, handback);

      Logger logger = getLogger();
      if (logger.isEnabledFor(Logger.DEBUG)) logger.debug("Listener " + listener + " for attribute " + attributeName + " added successfully, handback is " + handback);
   }
View Full Code Here

TOP

Related Classes of mx4j.log.Logger

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.