Compatability

Which JDK is required to use ProxyToys?

JDK 1.3 or later.

What are the advantages of using CGLIB based factory over pure Java mode?

Feature Pure Java CGLIB
Public interfaces Yes Yes
JDK 1.3 Yes Yes
Public classes No Yes
Non-public classes No No
Final classes No No

Which CGLIB versions are compatible with ProxyToys?

ProxyToys can run with CGLIB versions 2.1, 2.0.2 and 2.0. Note, that the CLIB archives cglib-full-2.0.x contain also classes of ASM 1.x. The newer version ASM 2.x is no longer compatible with any version of the plain CGLIB archives, you may use therefore cglib-nodeps-2.1 instead.

Are there plans to provide enhanced mode support to other byte code libraries?

Yes. Let us know which library you would like supported. Single precondition is an own Proxy implementation.

Scalability

Is ProxyToys thread safe?

Yes. The Proxy factories have a static interface. Starting with ProxyToys 0.2 none of the proxy instances itself created by the individual toys do not have state.

Development

Why is the ProxyToys source stored in a Subversion repository? What's wrong with CVS?

The main reason for the use of Subversion instead of CVS is that the development for ProxyToys can take place while not connected to the Internet. With Subversion, commands like add, remove, rename, diff and revert do not require a connection to the server.

I run the unit tests or ProxyToys in my IDE, but most of them are failing. Did you ever run them?

The unit tests are run with every build of ProxyToys. If your IDE has collected the unit tests automatically, this might be wrong. You have to call explicitly com.thoughtworks.proxy.AllTests.suite()