EAE Query Service Client
The purpose of the Query Service Client is to make it simpler to
create modules querying the Query Service, hiding TCP/IP communication
and XML logic. In summary, the way this remote client works, is that you
first create an instance of a query manager, i.e., for page view queries
you create an instance of PageviewQueryManager
, and
tell this manager the URL to the Query Service servlet. Then you can
call all the available query methods. These methods return special
objects/Beans, wrapping the response from the Query Service.
Examples and documentation on this remote client API is available
in the Query Service Client JavaDoc, found in
documentation/javadoc/qs-client/
.
Please note that for sites with high traffic peaks where the
application servers receive too many requests, the Query Service may
become too busy, and, it would take too long to respond to the Query
Service Client. The client keeps waiting until it receives response from
the Query Service which may cause performance issues to the sites using
this service. To cope with such situations, one can define two system
properties sun.net.client.defaultConnectTimeout
(default -1) and sun.net.client.defaultReadTimeout
(default -1) in the appserver start up script as a workaround. These
properties specify the default connect and read timeout in milliseconds,
respectively. If the timeout values expire before connection can be
established to the Query Service or data is available to the Query
Service Client, having these properties defined will cause a
java.net.SocketTimeoutException
to be raised.
For more information about these system properties, please refer to http://java.sun.com/j2se/1.5.0/docs/guide/net/properties.html.