|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--edu.ucsb.adl.middleware.rmi.QueryDriver
Proxy driver for the ADL query service. This driver establishes an RMI connection to a remote middleware server and thereby provides access to a (single) remote collection.
Before submitting a query to the remote server, the list of
collection names in the query is replaced with a single collection
name: that of the remote collection. If an
UnsupportedException is received due to an
unrecognized ranking method, the query is resubmitted with no
ranking. The remote collection name is renamed to the local
collection name in returned metadata reports.
This class reads the following properties from the RMI proxy driver
configuration file rmi-proxy-driver.conf. Property
values may be indirectly specified using the notation
@P where P is the name of another
property (see ExtendedProperties
for more information).
remote_collection_name
adl_catalog".
registry
rmi://piru.alexandria.ucsb.edu".
query.name
/edu/ucsb/adl/middleware/rmi/QueryService".
cancel.name
/edu/ucsb/adl/middleware/rmi/CancelService".
results.name
/edu/ucsb/adl/middleware/rmi/ResultsService".
query.polling_cycle_time
1000" is 1 second.
s" (seconds), "m" (minutes),
"h" (hours), and "d" (days).
$Log: QueryDriver.java,v $
Revision 1.6 2004/09/23 18:15:51 gjanee
Rewrite to use classes
edu.ucsb.adl.middleware.ExtendedProperties and
edu.ucsb.adl.middleware.XmlUtils.
Revision 1.5 2004/03/11 19:26:35 gjanee
Added support for different units of measure in time duration
properties.
Revision 1.4 2004/03/05 23:39:38 gjanee
Added support for multiple middleware instances. A middleware
instance is represented by a Global object that is
tied to a main middleware configuration file. All service objects
now maintain a reference to the appropriate Global
object. Instance-wide variables formerly coded as class variables
are now held by the Global object; various methods
that return instance-wide variables now accept a
Global object as an argument. The Global
object is now passed to all service drivers.
Revision 1.3 2002/09/28 20:48:57 gjanee
Configuration file renames. Renamed the RMI proxy driver
configuration file to rmi-proxy-driver.conf.
Revision 1.2 2001/08/20 18:04:14 gjanee
Switched to the new configuration file structure. In the new
structure, an entirely collection-independent "main" configuration
file refers to a directory of subdirectories, one subdirectory per
collection; each subdirectory holds a collection-specific
middleware configuration file in addition to any configuration
files required by the collection driver.
Revision 1.1 2001/03/16 23:59:19 gjanee
Initial revision
| Method Summary | |
static edu.ucsb.adl.middleware.rmi.QueryDriver |
createDriver(edu.ucsb.adl.middleware.Global global,
java.io.File directory,
java.lang.String collection)
Creates a QueryDriver for a collection. |
edu.ucsb.adl.middleware.QueryThread |
createQueryThread(java.lang.String collection,
edu.ucsb.adl.middleware.Query query,
edu.ucsb.adl.middleware.ResultAccumulator accumulator)
Creates a thread that processes a query on behalf of the collection. |
void |
destroy()
Frees all resources held by the driver. |
java.rmi.Remote[] |
reloadRemoteServices()
For use by QueryThread only. |
void |
threadStarting(edu.ucsb.adl.middleware.rmi.QueryThread thread)
For use by QueryThread only. |
void |
threadTerminated(edu.ucsb.adl.middleware.rmi.QueryThread thread)
For use by QueryThread only. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
public static edu.ucsb.adl.middleware.rmi.QueryDriver createDriver(edu.ucsb.adl.middleware.Global global,
java.io.File directory,
java.lang.String collection)
throws InternalErrorException
QueryDriver for a collection.
global - Unused.directory - The pathname of the directory containing the RMI proxy driver
configuration file.collection - The name of the collection, e.g., "adl_catalog".
QueryDriver.
InternalErrorException - If any error is encountered.
public java.rmi.Remote[] reloadRemoteServices()
throws InternalErrorException
QueryThread only.
InternalErrorException
public edu.ucsb.adl.middleware.QueryThread createQueryThread(java.lang.String collection,
edu.ucsb.adl.middleware.Query query,
edu.ucsb.adl.middleware.ResultAccumulator accumulator)
throws InternalErrorException
createQueryThread in interface QueryDrivercollection - The collection name, e.g., "adl_catalog".query - The query.accumulator - The result accumulator to which query results are to be sent.
InternalErrorException - If the thread cannot be created.QueryServicepublic void threadStarting(edu.ucsb.adl.middleware.rmi.QueryThread thread)
QueryThread only.
public void threadTerminated(edu.ucsb.adl.middleware.rmi.QueryThread thread)
QueryThread only.
public void destroy()
destroy in interface QueryDriver
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||