6 Replies Latest reply on Jan 13, 2009 3:12 PM by clebert.suconic

    class incompatibilites b/w JBM 1.4 and JBM 2

    jmesnil

      I'm checking that the bridge can successfully bridge a JBM 2 destination to a JBM 1.4 destination.

      I'm using JBoss AS 5.0.0.GA which hosts the bridge (JBAS 5 is bundled with JBM 1.4).
      The destination source will be a remote queue hosted on a remote JBM2 server
      The destination target will be a local queue

      I was able to check the bridge but I had to modify a few classes to do so.

      There are some classes which are in both JBM 1.4 and JBM 2 but with incompatible version (methods added/removed)
      The clashing classes are all in the org.jboss.messaging.util package:
      * ExecutorFactory
      * JBMThreadFactory
      * OrderedExecutorFactor
      * XMLUtil

      Since the bridge requires to run code from both JBM 1.4 and JBM 2, the class clashes appeared when I first run the code w/o any modification.

      To test the bridge, I renamed with classes from XXX to XXX2 in JBM2 and the code ran w/o any problem.

      To avoid these class incompatibilities, there are several solutions:
      1. renamed the classes
      2. moved them to another package
      3. use classloader to isolate the clashing classes

      I talked to Clebert about (3) but he advised against it as it'll be a PITA to maintain (and I've not found the documentation to do that in JBAS 5).

      Clebert suggested to rename the package org.jboss.messaging.util to org.jboss.messaging.utilities to avoid any further clash.

      I'm ok with his suggestion and if everyone agree, i'll update the trunk.
      wdyt? any other suggestions?.fr/