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()