Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * IronJacamar, a Java EE Connector Architecture implementation
   * Copyright 2012, Red Hat Inc, and individual contributors
   * as indicated by the @author tags. See the copyright.txt file in the
   * distribution for a full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 
 package org.jboss.jca.core.workmanager.selector;
 
 
 import java.util.Map;
 
 
The max free threads selector

Author(s):
Jesper Pedersen
 
 public class MaxFreeThreads extends AbstractSelector
 {
   
The logger
 
    private static CoreLogger log = Logger.getMessageLogger(CoreLogger.classMaxFreeThreads.class.getName());

   
Whether trace is enabled
 
    private static boolean trace = .isTraceEnabled();

   
The bundle
 
    private static CoreBundle bundle = Messages.getBundle(CoreBundle.class);

    
Constructor
 
    public MaxFreeThreads()
    {
    }

   
 
    @Override
    public synchronized Address selectDistributedWorkManager(Address ownDistributableWork work)
    {
       /*
         TODO
       String value = getWorkManager(work);
       if (value != null)
       {
          if (trace)
             log.tracef("WorkManager: %s", value);
 
          return value;
       }
       */
 
       Map<AddressLongselectionMap = getSelectionMap(own.getWorkManagerId(), work);
       Address result = null;
       long freeThread = 0L;
 
       if (selectionMap != null)
       {
          for (Map.Entry<AddressLongentry : selectionMap.entrySet())
          {
             Address id = entry.getKey();
             if (!own.equals(id))
             {
                Long free = entry.getValue();
                if (free != null && free.longValue() > 0)
                {
                   if (free.longValue() > freeThread)
                   {
                      result = id;
                      freeThread = free.longValue();
                   }
                }
             }
          }
       }
      if ()
         .tracef("WorkManager: %s (%s)"resultfreeThread);
      return result;
   }
New to GrepCode? Check out our FAQ X