blob: 14875f6d20a71f109127dd9837108d2523d29d53 [file] [log] [blame]
/*
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code 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 General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.corba.se.spi.orbutil.threadpool;
import java.io.Closeable;
public interface ThreadPoolManager extends Closeable
{
/**
* This method will return an instance of the threadpool given a threadpoolId,
* that can be used by any component in the app. server.
*
* @throws NoSuchThreadPoolException thrown when invalid threadpoolId is passed
* as a parameter
*/
public ThreadPool getThreadPool(String threadpoolId) throws NoSuchThreadPoolException;
/**
* This method will return an instance of the threadpool given a numeric threadpoolId.
* This method will be used by the ORB to support the functionality of
* dedicated threadpool for EJB beans
*
* @throws NoSuchThreadPoolException thrown when invalidnumericIdForThreadpool is passed
* as a parameter
*/
public ThreadPool getThreadPool(int numericIdForThreadpool) throws NoSuchThreadPoolException;
/**
* This method is used to return the numeric id of the threadpool, given a String
* threadpoolId. This is used by the POA interceptors to add the numeric threadpool
* Id, as a tagged component in the IOR. This is used to provide the functionality of
* dedicated threadpool for EJB beans
*/
public int getThreadPoolNumericId(String threadpoolId);
/**
* Return a String Id for a numericId of a threadpool managed by the threadpool
* manager
*/
public String getThreadPoolStringId(int numericIdForThreadpool);
/**
* Returns the first instance of ThreadPool in the ThreadPoolManager
*/
public ThreadPool getDefaultThreadPool();
/**
* Return an instance of ThreadPoolChooser based on the componentId that was
* passed as argument
*/
public ThreadPoolChooser getThreadPoolChooser(String componentId);
/**
* Return an instance of ThreadPoolChooser based on the componentIndex that was
* passed as argument. This is added for improved performance so that the caller
* does not have to pay the cost of computing hashcode for the componentId
*/
public ThreadPoolChooser getThreadPoolChooser(int componentIndex);
/**
* Sets a ThreadPoolChooser for a particular componentId in the ThreadPoolManager. This
* would enable any component to add a ThreadPoolChooser for their specific use
*/
public void setThreadPoolChooser(String componentId, ThreadPoolChooser aThreadPoolChooser);
/**
* Gets the numeric index associated with the componentId specified for a
* ThreadPoolChooser. This method would help the component call the more
* efficient implementation i.e. getThreadPoolChooser(int componentIndex)
*/
public int getThreadPoolChooserNumericId(String componentId);
}
// End of file.