Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@www.apache.org Received: (qmail 36115 invoked from network); 14 Oct 2005 18:30:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 14 Oct 2005 18:30:18 -0000 Received: (qmail 14504 invoked by uid 500); 14 Oct 2005 18:30:15 -0000 Delivered-To: apmail-jakarta-commons-dev-archive@jakarta.apache.org Received: (qmail 14480 invoked by uid 500); 14 Oct 2005 18:30:15 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 14461 invoked by uid 500); 14 Oct 2005 18:30:15 -0000 Received: (qmail 14455 invoked by uid 99); 14 Oct 2005 18:30:15 -0000 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 14 Oct 2005 11:30:15 -0700 Received: (qmail 35974 invoked by uid 65534); 14 Oct 2005 18:29:54 -0000 Message-ID: <20051014182954.35971.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r321168 - /jakarta/commons/sandbox/proxy/trunk/xdocs/index.xml Date: Fri, 14 Oct 2005 18:29:53 -0000 To: commons-cvs@jakarta.apache.org From: jcarman@apache.org X-Mailer: svnmailer-1.0.5 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: jcarman Date: Fri Oct 14 11:29:41 2005 New Revision: 321168 URL: http://svn.apache.org/viewcvs?rev=321168&view=rev Log: Improved documentation. Modified: jakarta/commons/sandbox/proxy/trunk/xdocs/index.xml Modified: jakarta/commons/sandbox/proxy/trunk/xdocs/index.xml URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/proxy/trunk/xdocs/index.xml?rev=321168&r1=321167&r2=321168&view=diff ============================================================================== --- jakarta/commons/sandbox/proxy/trunk/xdocs/index.xml (original) +++ jakarta/commons/sandbox/proxy/trunk/xdocs/index.xml Fri Oct 14 11:29:41 2005 @@ -36,10 +36,10 @@
  • Performance Monitoring - the proxy can log each method invocation to a performance monitor allowing system administrators to see what parts of the system are potentially bogged down.
  • - Commons Proxy supports dynamic proxy generation using proxy factories, object providers, and + Commons Proxy supports dynamic proxy generation using proxy factories, object providers, invocation handlers, and method interceptors.

    - +

    Proxy factories encapsulate all necessary proxying logic away from your code. Switching proxying @@ -59,32 +59,72 @@

    - - +
    +

    Object providers provide the objects which will be the "target" of a proxy. There are two types of object providers: + +

    + A core object provider provides a core implementation object. Commons Proxy supports + many different implementations including: +

    + + + + + + + + + +
    ConstantAlways returns a specific object
    BeanMerely instantiates an object of a specified class each time
    CloningReflectively calls the public clone() method on a Cloneable object
    HessianReturns a Hessian-based service object
    BurlapReturns a Burlap-based service object
    Apache XML-RPCReturns an Apache XML-RPC-based service object
    JAX-RPCReturns a JAX-RPC-based service object
    Session BeanReturns a reference to a Session EJB (stateless session beans only)
    + + +

    + A decorating object provider decorates the object returned by another provider. + Commons Proxy provides a few implementations including: +

    + + + + +
    SingletonCalls a nested provider at most once, returning that original value on all subsequent invocations
    CachedReturns an object from a cache (if available). If no object is available in the cache, the nested provider is called
    PooledReturns an object from a pool, creating new objects using the nested provider
    + +
    -
      -
    • Core Object Providers - a provider which provides the core implementation - object.
    • -
    • Decorating Object Providers - a provider which decorates the object returned by - another provider.
    • -

    - - +
    +
    +

    + An invocation handler handles all + method invocations using a single method. Commons Proxy provides a couple invocation handler implementations: + + + + +
    NullA provider which always returns a specific object
    Apache XML-RPCUses Apache XML-RPC to fulfill the method invocation
    CloningA provider which reflectively calls the public clone() method on a Cloneable object
    +

    + +
    +

    Commons Proxy uses the AOP Alliance API for method interceptor support. Method interceptors provide rudimentary aspect-oriented programming support, allowing you to alter the results/effects of a method invocation without actually - changing the implementation of the method itself. Commons Proxy provides a - filtered - method interceptor implementation allowing you to specify which methods are intercepted using a - method filter. + changing the implementation of the method itself. Commons Proxy provides a few method interceptor + implementations including: + + + + +
    ExecutorUses an + Executor to execute the method in possibly another thread (only void methods are supported).
    LoggingLogs all method invocations using the + Jakarta Commons Logging API
    FilteredOptionally intercepts a method invocation based on a + method filter

    - +
    --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org