7 Replies Latest reply on Jan 29, 2008 12:09 AM by Brian Stansberry

    Nice version conlfict on jboss-ejb3-ext-api-impl

    Carlo de Wolf Master

      I ran into a version conflict on jboss-ejb3-ext-api-impl (/ jboss-ejb3-impl). AS 5.0.0.Beta4 uses 0.1.2.Beta1. These do not contain implementation for interceptor annotations. So I upgraded to 0.1.3-SNAPSHOT. This one however contains a conflicting ClusteredImpl.

      Normally this would mean a backport of interceptor implementations to another minor (in this case we can only go for 0.1.2.Beta2).

      But it turns out that a better option is removing the dependency of ejb3-ext-api-impl in ejb3-interceptors. So this means that ejb3-ext-api-impl should slowly empty out into the different components and then be trashed.

        • 1. Re: Nice version conlfict on jboss-ejb3-ext-api-impl
          Andrew Rubinger Master

          This brings up a couple issues.

          1) How we resolve the conflict
          2) How we continue with ejb3-ext-api-impl (if at all)

          1 -

          Resolving the conflict with ClusteredImpl may be a bit more involved than it seems because AS5 Beta3 shipped with @Clustered within the ha-client version 1.0.0.BETA1. Beta4 is currently gunning to use the same version, but if Brian's got changes he needs to get into the release, @Clustered will disappear (as it's been moved to ejb3-ext-api).

          So we've got three projects tied together (for the time being), ejb3-ext-api, ejb3-ext-api-impl, and ha-client. If we bump up any of these releases for Beta4, we must bump up all. This binding was intended for structural changes to code in ext-api and ext-api-impl.

          So resolution depends, then, on what version of ha-client will be used in Beta4. If we stay on 1.0.0.BETA1 then we'd have to backport the annotation impls, unless...

          2 -

          Moving forward, we'll go with the conventions we've set forth for versioning: 0.2.x should be the next series, not 0.1.4. This way we won't have to increment betas (Beta2 in the case you'd shown isn't really Beta2, its got new featuresets).

          However, I thought the point of moving these annotation impls into their own package was for the following benefits:

          * Discourage interdependencies within projects
          * Allow for separate, frozen lifecycle
          * Logically divide code and keep components small

          For instance, if both Core and Interceptors need ExcludeClassInterceptorsImpl, wouldn't it be better for them both to depend on an ejb3-ext-api-impl than Core > Interceptors or vise-versa?

          I suppose point 2) is a matter of preference.

          S,
          ALR

          • 2. Re: Nice version conlfict on jboss-ejb3-ext-api-impl
            Brian Stansberry Master

            Re: ha-client and AS 5 Beta4, I would certainly prefer to move off 1.0.0.BETA1. The only reason I haven't is if I do, the AS will no longer build because @Clustered doesn't exist in the AS ejb3 module and doesn't exist in ha-client BETA2. I was going to propose moving the old @Clustered (i.e. the one in ha-client BETA1) into the AS ejb3 module so it could build. Assumption was your installer would replace the ejb3 module with whatever you've got.

            • 3. Re: Nice version conlfict on jboss-ejb3-ext-api-impl
              Andrew Rubinger Master

              I'd like to add new releases of ejb3-ext-api and ejb-ext-api-impl to the scope of AS5 Beta4.

              Reasoning:

              * The missing annotation impls were found and moved out of core post-Beta3
              * We won't have to move @Clustered, yet again. :)
              * The newer versions of these projects more accurately represent what will be present in the CR release.

              S,
              ALR

              • 4. Re: Nice version conlfict on jboss-ejb3-ext-api-impl
                Carlo de Wolf Master

                ejb3-ext-api-impl should slowly disappear as we put annotation implementations within their respective components. So ClusteredImpl should be in with the code that instantiates it.
                @Clustered is part of ejb3-ext-api.

                • 5. Re: Nice version conlfict on jboss-ejb3-ext-api-impl
                  Andrew Rubinger Master

                  And I'll be cutting new releases of ejb3-ext-api, ejb3-ext-api-impl, and ha-client for Beta4.

                  S,
                  ALR

                  • 6. Re: Nice version conlfict on jboss-ejb3-ext-api-impl
                    Brian Stansberry Master

                    No need for a new ha-client release; the one you want is already there (1.0.0.BETA2), just needs build/build-thirdparty.xml to specify it once ejb3 can properly use it.

                    • 7. Re: Nice version conlfict on jboss-ejb3-ext-api-impl
                      Brian Stansberry Master

                      Andrew, please use just-released 1.0.0.GA for jboss-ha-client. (No code difference vs. BETA2).