Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-2629

Remove Java client dependency on commons-collection.jar

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 0.7
    • JMS AMQP 0-x
    • None

    Description

      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.

      Attachments

        1. QPID-2629.patch
          39 kB
          Rajith Muditha Attapattu

        Activity

          People

            rajith Rajith Muditha Attapattu
            rajith Rajith Muditha Attapattu
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: