Interface IRepositoryConnectorPool
-
- All Known Implementing Classes:
RepositoryConnectorPool
public interface IRepositoryConnectorPoolAn object implementing this interface functions as a pool of repository connectors. Coordination and allocation among cluster members is managed within. These objects are thread-local, so do not share them among threads.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String_rcsid
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidcloseAllConnectors()Clean up all open repository connector handles.voidflushUnusedConnectors()Flush only those connector handles that are currently unused.IRepositoryConnectorgrab(IRepositoryConnection repositoryConnection)Get a repository connector.IRepositoryConnector[]grabMultiple(java.lang.String[] orderingKeys, IRepositoryConnection[] authorityConnections)Get multiple repository connectors, all at once.voidpollAllConnectors()Idle notification for inactive repository connector handles.voidrelease(IRepositoryConnection connection, IRepositoryConnector connector)Release a repository connector.voidreleaseMultiple(IRepositoryConnection[] connections, IRepositoryConnector[] connectors)Release multiple repository connectors.
-
-
-
Field Detail
-
_rcsid
static final java.lang.String _rcsid
- See Also:
- Constant Field Values
-
-
Method Detail
-
grabMultiple
IRepositoryConnector[] grabMultiple(java.lang.String[] orderingKeys, IRepositoryConnection[] authorityConnections) throws ManifoldCFException
Get multiple repository connectors, all at once. Do this in a particular order so that any connector exhaustion will not cause a deadlock.- Parameters:
orderingKeys- are the keys which determine in what order the connectors are obtained.authorityConnections- are the connections to use the build the connector instances.- Throws:
ManifoldCFException
-
grab
IRepositoryConnector grab(IRepositoryConnection repositoryConnection) throws ManifoldCFException
Get a repository connector. The connector is specified by a repository connection object.- Parameters:
repositoryConnection- is the authority connection to base the connector instance on.- Throws:
ManifoldCFException
-
releaseMultiple
void releaseMultiple(IRepositoryConnection[] connections, IRepositoryConnector[] connectors) throws ManifoldCFException
Release multiple repository connectors.- Parameters:
connections- are the connections describing the instances to release.connectors- are the connector instances to release.- Throws:
ManifoldCFException
-
release
void release(IRepositoryConnection connection, IRepositoryConnector connector) throws ManifoldCFException
Release a repository connector.- Parameters:
connection- is the connection describing the instance to release.connector- is the connector to release.- Throws:
ManifoldCFException
-
pollAllConnectors
void pollAllConnectors() throws ManifoldCFExceptionIdle notification for inactive repository connector handles. This method polls all inactive handles.- Throws:
ManifoldCFException
-
flushUnusedConnectors
void flushUnusedConnectors() throws ManifoldCFExceptionFlush only those connector handles that are currently unused.- Throws:
ManifoldCFException
-
closeAllConnectors
void closeAllConnectors() throws ManifoldCFExceptionClean up all open repository connector handles. This method is called when the connector pool needs to be flushed, to free resources.- Throws:
ManifoldCFException
-
-