Remove Java client dependency on commons-collection.jar
-------------------------------------------------------

                 Key: QPID-2629
                 URL: https://issues.apache.org/jira/browse/QPID-2629
             Project: Qpid
          Issue Type: Improvement
          Components: C++ Client
            Reporter: Rajith Attapattu
            Assignee: Rajith Attapattu


The JMS client has only a single dependency on the commons-collection.jar.
It is using the RefereneMap in the message delegates to store the destination 
cache.

It would be nice if we could use an alternative instead of having yet another 
dependency.
For a client application it's really a big plus point to have as less 
dependencies as possible

(Pls note that for the broker module, commons-collection is a transitive 
dependency, so we can't just remove it from our lib folder).
But that is fine as it's only a compile time dependency should anybody wish to 
build the client from source.
But for runtime we could definitely get rid of it to keep the size small.

Possible strategies.
1. Replace the ReferenceMap with a suitable implementation. I don't think 
WeakHashMap as suggested on a thread is the right solution either.
    We currently use the ref map with hard refs for keys and soft refs for 
values.

2. We could just include the necessary files (just 4 actually) in the clients 
source dir.  - This is perfectly legal as per the ASF license this is allowed.
    This also seems like a very good short term solution.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to