That is very helpful, thank you Tim.  I heard that generator didn't work,
but haven't yet tried it myself.

Art

On Wed, Aug 23, 2023 at 11:59 AM Timothy Bish <tabish...@gmail.com> wrote:

> On 8/23/23 13:11, Arthur Naseef wrote:
> > That sounds right.  My 2cents - it would be nice to figure out the
> closest
> > thing to a working flow that we can get, and then worry about cleanup.
> >
> > Art
>
> I spent a little time just to resurrect some knowledge on this, here's
> the basics
>
> To run the generator in the ActiveMQ source tree you need to enable the
> profile in the activemq-client module for the openwire generator and use
> the generate sources goal:
>
>     mvn -P openwire-generate generate-sources
>
> This will at least try and generate the sources, the profile
> configuration tells it what the highest version is to generate in an ant
> task which needs to be moved to an ant target now as task is deprecated
> and will fall on its face until you do so.  Then it will actually try
> and do something, so if you added openwire v13 you'd change it or leave
> it at v12 and see if you can generate matching output and run the above
> command at which point it will fall on its face if you are on JDK 17 as
> the underlying javadoc types used by the generator are relocated to
> 'jdk.javadoc.doclet' and renamed or refactored into something close but
> not quite the same.  So then you run it on JDK 11 and it will fall on
> its face with an NPE that I didn't bother to look deeper into but at
> least you have a starting point.
>
> Likely the ancient annogen and gram stuff just won't work on a newer
> JDK, you could try running it on lower versions but the maven
> configuration will likely be unhappy as the compiler configuration is
> set to target 11 currently.
>
> Hopefully that at least gets you pointed in the right direction,
> frustrating as it may be.
>
>
> >
> > On Wed, Aug 23, 2023 at 4:30 AM Christopher Shannon <
> > christopher.l.shan...@gmail.com> wrote:
> >
> >> So maybe the activemq-openwire project should just be deprecated and go
> >> away since it is not used or maintained.
> >>
> >> It has been several years now but I'm pretty sure I just used the
> >> activemq-openwire-generator 5.x module (as Tim mentioned) to generate
> the
> >> latest v12 Openwire version that is in use today.
> >>
> >>
> https://github.com/apache/activemq/commit/3953b9aaefaee914bdd0702f27aef47c021ceb27
> >>
> >> On Tue, Aug 22, 2023 at 5:49 PM Arthur Naseef <a...@amlinv.com> wrote:
> >>
> >>> Thank you Tim.  That helps.
> >>>
> >>> Art
> >>>
> >>>
> >>> On Tue, Aug 22, 2023 at 2:23 PM Timothy Bish <tabish...@gmail.com>
> >> wrote:
> >>>> On 8/22/23 15:28, Arthur Naseef wrote:
> >>>>> I'd like to ask first to get some clarification.
> >>>>>
> >>>>> Using the activemq-openwire project, I was able to get it to generate
> >>>>> openwire Java code, but that code did not exactly match the code in
> >> the
> >>>>> activemq codebase.  It appeared to be mostly non-functional
> >>> differences,
> >>>>> such as packages being renamed, and import statements vs.
> >>> full-qualified
> >>>>> class names in the code.
> >>>>>
> >>>>> Here are my questions:
> >>>>>
> >>>>>      - What is the process for building and releasing a new version
> of
> >>> the
> >>>>>      openwire protocol?
> >>>> There is no process other than running the generator in the ActiveMQ
> >>>> tree if you can get it to run, I don't recall if there's anything
> >>>> written down now that explains it as it has been years since I touched
> >>>> it and my memory is foggy.  I vaguely recall there being an antrun
> >>>> target in the pom file to run the generator so something like 'mvn
> >>>> antrun:run'.
> >>>>
> >>>> possibly some insights here:
> >>>>
> >>>>
> >>
> https://github.com/apache/activemq-nms-openwire-generator/blob/d16ff371fecade87f97942cdf0174ab790bc999c/pom.xml#L172
> >>>>
> >>>>>      - Where are the NMS and C++ parts generated?  Are there others
> >>>> generated
> >>>>>      as well?
> >>>> I already answered this, please read my previous response.
> >>>>
> >>>>
> >>>>>      - How much manual intervention is needed in that process (e.g.
> >> are
> >>>> the
> >>>>>      java files generated, then copied and editted before being
> >>> committed
> >>>> in the
> >>>>>      main project)?
> >>>> I don't recall anymore if there is much intervention needed other than
> >>>> generating the new marshallers but I do recall that KahaDB has some
> >>>> settings that indicate which version it uses as a baseline.  I'd look
> >> at
> >>>> git commits in the 5.x code around the marshaller version code and see
> >>>> what was touched in the commit.
> >>>>
> >>>>
> >>>>> Art
> >>>>>
> >>>>>
> >>>>> On Tue, Aug 22, 2023 at 12:22 PM Matt Pavlovich <mattr...@gmail.com>
> >>>> wrote:
> >>>>>> Hi-
> >>>>>>
> >>>>>> The activmeq-openwire project is currently hosted in a separate git
> >>>>>> repository. The project is used to generate marshaller classes for
> >>>> multiple
> >>>>>> languages and would be suitable for supporting multi-broker openwire
> >>>>>> support as well (5.x and Artemis). However, it does not appear to be
> >>>> active
> >>>>>> in any build lifecycle or toolchain for any of the ActiveMQ
> >> projects.
> >>>>>> I propose that we host the activemq-openwire project in the main 5.x
> >>>> tree
> >>>>>> for a couple reasons:
> >>>>>>
> >>>>>> 1. JDK changes and overall maintenance is easier from a single repo.
> >>> We
> >>>>>> can add notes able compatibility or a README-VERSIONS.md to note
> >> what
> >>>>>> product releases go to which protocol versions, and when those
> >>> protocol
> >>>>>> versions changed.
> >>>>>>
> >>>>>> 2. ActiveMQ 5.x uses openwire as its internal native protocol. It
> >>> makes
> >>>>>> sense to host it there, especially of things like enhancements to
> >>>> network
> >>>>>> connector commands, which other client libraries and brokers usually
> >>> do
> >>>> not
> >>>>>> adopt fully.
> >>>>>>
> >>>>>> 3. There are planned enhancements coming that most likely require
> >>>> openwire
> >>>>>> version bumps:
> >>>>>>       - JMS 2.0 support features
> >>>>>>       - Replication support (using Network Connectors)
> >>>>>>
> >>>>>> Discuss.
> >>>>>>
> >>>>>> Thank you,
> >>>>>> Matt Pavlovich
> >>>>>>
> >>>>>>
> >>>> --
> >>>> Tim Bish
> >>>>
> >>>>
>
> --
> Tim Bish
>
>

Reply via email to