[prev in list] [next in list] [prev in thread] [next in thread] 

List:       activemq-dev
Subject:    Re: Home for activemq-openwire
From:       Matt Pavlovich <mattrpav () gmail ! com>
Date:       2023-08-24 16:07:24
Message-ID: 4893BDDA-A754-4FA4-908F-8C7948420822 () gmail ! com
[Download RAW message or body]


Thanks Tim!

I added these notes and created a new ticket to modernize the tooling.

https://issues.apache.org/jira/browse/AMQ-9302

Thanks,
Matt Pavlovich

> On Aug 23, 2023, at 1:59 PM, Timothy Bish <tabish121@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.shannon@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 <art@amlinv.com> wrote:
> > > 
> > > > Thank you Tim.  That helps.
> > > > 
> > > > Art
> > > > 
> > > > 
> > > > On Tue, Aug 22, 2023 at 2:23 PM Timothy Bish <tabish121@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 <mattrpav@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
> 



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic