com.bmc.arsys.api
Class DefaultProxyManager
java.lang.Object
com.bmc.arsys.api.ProxyManager
com.bmc.arsys.api.DefaultProxyManager
public class DefaultProxyManager
- extends ProxyManager
DefaultProxyManager is a singleton factory class that provides clients with Proxy instances. Proxies
represent connections to AR System servers and provide access to their server via the native AR System API. Proxies
are optionally pooled by server. A client taking a proxy from the pool by calling
getProxy must return it to the pool when done by calling
releaseProxy and not hold onto a reference to it.
Here the DefaultProxyManager simply instantiates Proxy on request and terminates its connection when a
client releases it. Because a connection is maintained until the proxy has been releasd, clients should not hold
references to a proxy for extended times; an AR System server license is also consumed while the connection is
active. Behavior is undefined when holding a reference to a released proxy and calling methods on it. Such practice
will also prevent the proxy from being garbage collected.
The default ProxyManager returned by getProxyManager does not pool connections.
The system property ProxyManager class can be set to the name of an alternative class that uses another
policy. Specifically, the API provides PoolingProxyManager if pooling of connections is desired.
|
Method Summary |
com.bmc.arsys.api.Proxy |
getProxy(ARServerUser context)
Get proxy for the AR System server specified by the context. |
void |
releaseProxy(com.bmc.arsys.api.Proxy proxy,
ARServerUser context)
Return a proxy for possible later reuse. |
getProxy
public com.bmc.arsys.api.Proxy getProxy(ARServerUser context)
throws ARException
- Get proxy for the AR System server specified by the context. The caller must return the proxy after
use by calling
releaseProxy. The proxy holds one of a limited number of connections to its
associated server. The caller must not hold a reference to the proxy after returning it.
- Specified by:
getProxy in class ProxyManager
- Throws:
ARException - because set server port failed in the server
releaseProxy
public void releaseProxy(com.bmc.arsys.api.Proxy proxy,
ARServerUser context)
- Return a proxy for possible later reuse. Whether it can be later reused depends on whether the specific
ProxyManager being used pools connections or not. The specified context is used to determine which AR
System server (and its connection) is associated with this proxy. The caller must not continue to hold
a reference to the proxy after returning it to the ProxyManager so that when it expires its
connection can be terminated and it can be garbage collected.
- Specified by:
releaseProxy in class ProxyManager
? Copyright 2006, 2007 BMC Software, Inc.