org.apache.xmlrpc.common

Class XmlRpcWorkerFactory

public abstract class XmlRpcWorkerFactory extends Object

A factory for {@link XmlRpcWorker} instances.
Constructor Summary
XmlRpcWorkerFactory(XmlRpcController pController)
Creates a new instance.
Method Summary
XmlRpcControllergetController()
Returns the factory controller.
intgetCurrentRequests()
Returns the number of currently running requests.
XmlRpcWorkergetWorker()
Returns a worker for synchronous processing.
protected abstract XmlRpcWorkernewWorker()
Creates a new worker instance.
voidreleaseWorker(XmlRpcWorker pWorker)
Called, when the worker did its job.

Constructor Detail

XmlRpcWorkerFactory

public XmlRpcWorkerFactory(XmlRpcController pController)
Creates a new instance.

Parameters: pController The client controlling the factory.

Method Detail

getController

public XmlRpcController getController()
Returns the factory controller.

Returns: The controller, an instance of {@link org.apache.xmlrpc.client.XmlRpcClient}, or {@link org.apache.xmlrpc.server.XmlRpcServer}.

getCurrentRequests

public int getCurrentRequests()
Returns the number of currently running requests.

Returns: Current number of concurrent requests.

getWorker

public XmlRpcWorker getWorker()
Returns a worker for synchronous processing.

Returns: An instance of {@link XmlRpcWorker}, which is ready for use.

Throws: XmlRpcLoadException The clients maximum number of concurrent threads is exceeded.

newWorker

protected abstract XmlRpcWorker newWorker()
Creates a new worker instance.

Returns: New instance of {@link XmlRpcWorker}.

releaseWorker

public void releaseWorker(XmlRpcWorker pWorker)
Called, when the worker did its job. Frees resources and decrements the number of concurrent requests.

Parameters: pWorker The worker being released.

Copyright © 2001-2007 Apache Software Foundation. All Rights Reserved.