Qpid
  1. Qpid
  2. QPID-3473

[Java] Replace use of MINA IO with IO layer developed for the Java 0-10 client

    Details

      Description

      Historically the Java client (when using non 0-10 versions on AMQP) and the Java Broker have used (a very old version of) MINA to provide the IO transport. There are fundamental issues when using MINA in the way we have been using it, and as such we have undertaken a lot of work to properly abstract the definition of a transport layer and allow for alternatives.

      Now that the abstraction work has been completed we can replace the use of MINA with the IO layer that was developed for the 0-10 client. As a separate JIRA we should replace the final dependency we have on MINA in terms of the use of their expandable ByteBuffer.

      We may decide to implement a new transport based on a current version of MINA in the future, but if doing so we should ensure to keep within the abstractions now defined).

        Issue Links

          Activity

          Rob Godfrey created issue -
          Rob Godfrey made changes -
          Field Original Value New Value
          Fix Version/s 0.14 [ 12316855 ]
          Component/s Java Broker [ 12311388 ]
          Component/s Java Client [ 12311389 ]
          Component/s Java Common [ 12311490 ]
          Component/s Java Tests [ 12311960 ]
          Rob Godfrey made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Rob Godfrey made changes -
          Status In Progress [ 3 ] Open [ 1 ]
          Rob Godfrey made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Rajith Attapattu added a comment -

          Thanks for taking care of this, makes my life easy when creating rpms
          This was the last hurdle, now the java client has only a very few dependencies which are reasonable and manageable.

          Show
          Rajith Attapattu added a comment - Thanks for taking care of this, makes my life easy when creating rpms This was the last hurdle, now the java client has only a very few dependencies which are reasonable and manageable.
          Hide
          Robbie Gemmell added a comment -

          Mina isn't used for IO any more but the client still depends on Mina just now due to the reliance on its expanding ByteBuffer which we haven't removed....yet.

          Show
          Robbie Gemmell added a comment - Mina isn't used for IO any more but the client still depends on Mina just now due to the reliance on its expanding ByteBuffer which we haven't removed....yet.
          Hide
          Rajith Attapattu added a comment -

          Yes I understood that part. I think there is already a patch for this from Emmanuel.
          For me the biggest hurdle was the MINA IO code present in the common module and I didn't want to touch that areas bcos I believe it was used in production in some environments. So with that not being an issue anymore I believe we can now get to the task of getting rid of the bytebuffer deps completely.

          Show
          Rajith Attapattu added a comment - Yes I understood that part. I think there is already a patch for this from Emmanuel. For me the biggest hurdle was the MINA IO code present in the common module and I didn't want to touch that areas bcos I believe it was used in production in some environments. So with that not being an issue anymore I believe we can now get to the task of getting rid of the bytebuffer deps completely.
          Hide
          Robbie Gemmell added a comment -

          Indeed, my sources tell me it is already being worked on...

          I'm aware of Emmanuel's patch (QPID-2627), it didn't quite remove the dependency but its gone very very stale at this point anyway...our bad

          Show
          Robbie Gemmell added a comment - Indeed, my sources tell me it is already being worked on... I'm aware of Emmanuel's patch ( QPID-2627 ), it didn't quite remove the dependency but its gone very very stale at this point anyway...our bad
          Hide
          Andrew Stitcher added a comment -

          Is there an open jira to track the final demise of Mina? I'm very keen on this work for similar reasons to Rajith. More directly to do with the JCA Adapter. if that work is targetted for 0.14 that would make me very happy.

          Show
          Andrew Stitcher added a comment - Is there an open jira to track the final demise of Mina? I'm very keen on this work for similar reasons to Rajith. More directly to do with the JCA Adapter. if that work is targetted for 0.14 that would make me very happy.
          Hide
          Robbie Gemmell added a comment -

          QPID-2627 should do nicely, I have updated it accordingly.

          Show
          Robbie Gemmell added a comment - QPID-2627 should do nicely, I have updated it accordingly.
          Robbie Gemmell made changes -
          Fix Version/s 0.13 [ 12316854 ]
          Fix Version/s 0.14 [ 12316855 ]
          Robbie Gemmell made changes -
          Link This issue relates to QPID-2627 [ QPID-2627 ]

            People

            • Assignee:
              Rob Godfrey
              Reporter:
              Rob Godfrey
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development