You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Jean-Louis Monteiro <jl...@tomitribe.com> on 2022/02/16 13:49:34 UTC

SXC JAXB from codehaux

Hi,

I'm still doing some upgrades with the view to have some jakarta compliant
builds for TomEE 9.x.

I did some Geronimo upgrades to Jakarta like Geronimo Transaction (would
need a release). I'm now looking at SXC which is a layer on top of JAXB. It
hasn't been released for 13 years and therefore it's not Jakarta compatible.

I looked at https://github.com/codehaus/sxc which is where the sources are.
But the strange thing is that we seem to be using a non released version,
at least not from that source repo.

Does anyone recall?
Should we fork that repo and do our own sources?
Should we reach out to the community?

If we can't do something smart, I'll have to add a module on our deps/
module in TomEE to build and do the relocation of the package.

--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com

Re: SXC JAXB from codehaux

Posted by Jean-Louis Monteiro <jl...@tomitribe.com>.
Hey David,

Thanks, I ended up finding your repo and putting all the pieces together.
Good to have this summary in the mailing list though.

I'm still not sure if it is worth it or not. We would need to measure it on
different sets of applications. For the moment, I have bytecode updated it
as well as other libraries I can't update or move to Jakarta at the minute.

https://github.com/apache/tomee/tree/tomee-9.x-initial/deps





--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com


On Wed, Feb 16, 2022 at 4:42 PM David Blevins <da...@gmail.com>
wrote:

> > On Feb 16, 2022, at 9:28 AM, Zowalla, Richard <
> richard.zowalla@hs-heilbronn.de> wrote:
> >
> > The list archive does not contain any useful information regarding sxc.
>
> Note the list archive frustratingly searches only the last month's worth
> of mail by default.  Try this link:
>
>  - https://lists.apache.org/list?dev@tomee.apache.org:lte=20y
>
> Here's a couple threads with information:
>
>  - "SXC" February 6, 2019
>    https://lists.apache.org/thread/6h40wo6vfgrspjt2vzzfkpm8k2w42ym4
>
>  - "XML performance improvement" December 10, 2012
>    https://lists.apache.org/thread/f5bnv2nz917pjz8zyh7ktx6ngtysgron
>
> Here's the source code:
>
>  - https://github.com/dblevins/sxc
>
> From the 2012 email, the key part from the last link, "We load 5,000 -
> 6,000 classes when TomEE boots and nearly 4,000 are JAXB generated."  My
> memory is that this was over 50% of our start time.
>
> As a reference, generating classes in advance is basically one of the key
> things that makes Quarkus fast and the SXC/generation optimization a
> significant part of why we were faster to boot than everyone else in the
> pre-Quarkus days.  The concept is valid and we definitely need to do
> significantly more of it, but there is a valid question on if this codebase
> is worth investment.
>
> I don't think it's worth significant investment, but I don't think we
> should remove it until we can replace it with something equivalent or
> better.  If I had to do this again, I'd likely investigate if there's some
> way to do this with extending JAXB via the TomEE Patch Plugin.
>
> My advice would be to bytecode translate it for now if we can.
>
>
> -David
>
>

Re: SXC JAXB from codehaux

Posted by David Blevins <da...@gmail.com>.
> On Feb 16, 2022, at 9:28 AM, Zowalla, Richard <ri...@hs-heilbronn.de> wrote:
> 
> The list archive does not contain any useful information regarding sxc.

Note the list archive frustratingly searches only the last month's worth of mail by default.  Try this link:

 - https://lists.apache.org/list?dev@tomee.apache.org:lte=20y

Here's a couple threads with information:

 - "SXC" February 6, 2019 
   https://lists.apache.org/thread/6h40wo6vfgrspjt2vzzfkpm8k2w42ym4

 - "XML performance improvement" December 10, 2012
   https://lists.apache.org/thread/f5bnv2nz917pjz8zyh7ktx6ngtysgron

Here's the source code:

 - https://github.com/dblevins/sxc

From the 2012 email, the key part from the last link, "We load 5,000 - 6,000 classes when TomEE boots and nearly 4,000 are JAXB generated."  My memory is that this was over 50% of our start time.

As a reference, generating classes in advance is basically one of the key things that makes Quarkus fast and the SXC/generation optimization a significant part of why we were faster to boot than everyone else in the pre-Quarkus days.  The concept is valid and we definitely need to do significantly more of it, but there is a valid question on if this codebase is worth investment.

I don't think it's worth significant investment, but I don't think we should remove it until we can replace it with something equivalent or better.  If I had to do this again, I'd likely investigate if there's some way to do this with extending JAXB via the TomEE Patch Plugin.

My advice would be to bytecode translate it for now if we can.


-David


Re: SXC JAXB from codehaux

Posted by "Zowalla, Richard" <ri...@hs-heilbronn.de>.
Yup, but group ids differ, so I think, that the SXC repo (from
codehaus) on GitHub does not yield the actual code.

From the 2013 commit by Romain, I can see an adjustment of the group id
from com.envoisolutions.sxc to org.metatype.sxc 

The list archive does not contain any useful information regarding sxc.

Gruß
Richard


Am Mittwoch, dem 16.02.2022 um 15:23 +0100 schrieb Jean-Louis Monteiro:
> Codehaus repo is https://github.com/codehaus/sxc
> --
> Jean-Louis Monteiro
> http://twitter.com/jlouismonteiro
> http://www.tomitribe.com
> 
> 
> On Wed, Feb 16, 2022 at 3:21 PM Zowalla, Richard <
> richard.zowalla@hs-heilbronn.de> wrote:
> 
> > From a quick scan of our deps, it looks like we are using
> > 
> > org.metatype.sxc artifacts (last release 2013):
> > https://mvnrepository.com/artifact/org.metatype.sxc
> > 
> > I wasn't able to find an actual repository, which contains the
> > related
> > code (and not the artifacts from the codehouse repo...)
> > 
> > Gruß
> > Richard
> > 
> > 
> > Am Mittwoch, dem 16.02.2022 um 15:17 +0100 schrieb Jean-Louis
> > Monteiro:
> > > We do have some code to generate JAXB accessors. From what I
> > > recall,
> > > the
> > > first time JAXB sees classes, it will bytecode generate the
> > > accessors. This
> > > is fine for further invocations, but when you read descriptors
> > > only
> > > once or
> > > a few times, it's not worth generating them at runtime. We use
> > > SXC to
> > > generate them statically.
> > > 
> > > I'm not fully confident in this area, but this is what I recall
> > > and
> > > what I
> > > saw in the code so far
> > > --
> > > Jean-Louis Monteiro
> > > http://twitter.com/jlouismonteiro
> > > http://www.tomitribe.com
> > > 
> > > 
> > > On Wed, Feb 16, 2022 at 3:08 PM Thomas Andraschko <
> > > andraschko.thomas@gmail.com> wrote:
> > > 
> > > > Why do we need SXC?
> > > > 
> > > > Am Mi., 16. Feb. 2022 um 14:49 Uhr schrieb Jean-Louis Monteiro
> > > > <
> > > > jlmonteiro@tomitribe.com>:
> > > > 
> > > > > Hi,
> > > > > 
> > > > > I'm still doing some upgrades with the view to have some
> > > > > jakarta
> > > > compliant
> > > > > builds for TomEE 9.x.
> > > > > 
> > > > > I did some Geronimo upgrades to Jakarta like Geronimo
> > > > > Transaction
> > > > > (would
> > > > > need a release). I'm now looking at SXC which is a layer on
> > > > > top
> > > > > of JAXB.
> > > > It
> > > > > hasn't been released for 13 years and therefore it's not
> > > > > Jakarta
> > > > > compatible.
> > > > > 
> > > > > I looked at https://github.com/codehaus/sxc which is where
> > > > > the
> > > > > sources
> > > > > are.
> > > > > But the strange thing is that we seem to be using a non
> > > > > released
> > > > > version,
> > > > > at least not from that source repo.
> > > > > 
> > > > > Does anyone recall?
> > > > > Should we fork that repo and do our own sources?
> > > > > Should we reach out to the community?
> > > > > 
> > > > > If we can't do something smart, I'll have to add a module on
> > > > > our
> > > > > deps/
> > > > > module in TomEE to build and do the relocation of the
> > > > > package.
> > > > > 
> > > > > --
> > > > > Jean-Louis Monteiro
> > > > > http://twitter.com/jlouismonteiro
> > > > > http://www.tomitribe.com
> > > > > 

Re: SXC JAXB from codehaux

Posted by Jean-Louis Monteiro <jl...@tomitribe.com>.
Codehaus repo is https://github.com/codehaus/sxc
--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com


On Wed, Feb 16, 2022 at 3:21 PM Zowalla, Richard <
richard.zowalla@hs-heilbronn.de> wrote:

> From a quick scan of our deps, it looks like we are using
>
> org.metatype.sxc artifacts (last release 2013):
> https://mvnrepository.com/artifact/org.metatype.sxc
>
> I wasn't able to find an actual repository, which contains the related
> code (and not the artifacts from the codehouse repo...)
>
> Gruß
> Richard
>
>
> Am Mittwoch, dem 16.02.2022 um 15:17 +0100 schrieb Jean-Louis Monteiro:
> > We do have some code to generate JAXB accessors. From what I recall,
> > the
> > first time JAXB sees classes, it will bytecode generate the
> > accessors. This
> > is fine for further invocations, but when you read descriptors only
> > once or
> > a few times, it's not worth generating them at runtime. We use SXC to
> > generate them statically.
> >
> > I'm not fully confident in this area, but this is what I recall and
> > what I
> > saw in the code so far
> > --
> > Jean-Louis Monteiro
> > http://twitter.com/jlouismonteiro
> > http://www.tomitribe.com
> >
> >
> > On Wed, Feb 16, 2022 at 3:08 PM Thomas Andraschko <
> > andraschko.thomas@gmail.com> wrote:
> >
> > > Why do we need SXC?
> > >
> > > Am Mi., 16. Feb. 2022 um 14:49 Uhr schrieb Jean-Louis Monteiro <
> > > jlmonteiro@tomitribe.com>:
> > >
> > > > Hi,
> > > >
> > > > I'm still doing some upgrades with the view to have some jakarta
> > > compliant
> > > > builds for TomEE 9.x.
> > > >
> > > > I did some Geronimo upgrades to Jakarta like Geronimo Transaction
> > > > (would
> > > > need a release). I'm now looking at SXC which is a layer on top
> > > > of JAXB.
> > > It
> > > > hasn't been released for 13 years and therefore it's not Jakarta
> > > > compatible.
> > > >
> > > > I looked at https://github.com/codehaus/sxc which is where the
> > > > sources
> > > > are.
> > > > But the strange thing is that we seem to be using a non released
> > > > version,
> > > > at least not from that source repo.
> > > >
> > > > Does anyone recall?
> > > > Should we fork that repo and do our own sources?
> > > > Should we reach out to the community?
> > > >
> > > > If we can't do something smart, I'll have to add a module on our
> > > > deps/
> > > > module in TomEE to build and do the relocation of the package.
> > > >
> > > > --
> > > > Jean-Louis Monteiro
> > > > http://twitter.com/jlouismonteiro
> > > > http://www.tomitribe.com
> > > >
>

Re: SXC JAXB from codehaux

Posted by "Zowalla, Richard" <ri...@hs-heilbronn.de>.
From a quick scan of our deps, it looks like we are using

org.metatype.sxc artifacts (last release 2013): 
https://mvnrepository.com/artifact/org.metatype.sxc

I wasn't able to find an actual repository, which contains the related
code (and not the artifacts from the codehouse repo...)

Gruß
Richard


Am Mittwoch, dem 16.02.2022 um 15:17 +0100 schrieb Jean-Louis Monteiro:
> We do have some code to generate JAXB accessors. From what I recall,
> the
> first time JAXB sees classes, it will bytecode generate the
> accessors. This
> is fine for further invocations, but when you read descriptors only
> once or
> a few times, it's not worth generating them at runtime. We use SXC to
> generate them statically.
> 
> I'm not fully confident in this area, but this is what I recall and
> what I
> saw in the code so far
> --
> Jean-Louis Monteiro
> http://twitter.com/jlouismonteiro
> http://www.tomitribe.com
> 
> 
> On Wed, Feb 16, 2022 at 3:08 PM Thomas Andraschko <
> andraschko.thomas@gmail.com> wrote:
> 
> > Why do we need SXC?
> > 
> > Am Mi., 16. Feb. 2022 um 14:49 Uhr schrieb Jean-Louis Monteiro <
> > jlmonteiro@tomitribe.com>:
> > 
> > > Hi,
> > > 
> > > I'm still doing some upgrades with the view to have some jakarta
> > compliant
> > > builds for TomEE 9.x.
> > > 
> > > I did some Geronimo upgrades to Jakarta like Geronimo Transaction
> > > (would
> > > need a release). I'm now looking at SXC which is a layer on top
> > > of JAXB.
> > It
> > > hasn't been released for 13 years and therefore it's not Jakarta
> > > compatible.
> > > 
> > > I looked at https://github.com/codehaus/sxc which is where the
> > > sources
> > > are.
> > > But the strange thing is that we seem to be using a non released
> > > version,
> > > at least not from that source repo.
> > > 
> > > Does anyone recall?
> > > Should we fork that repo and do our own sources?
> > > Should we reach out to the community?
> > > 
> > > If we can't do something smart, I'll have to add a module on our
> > > deps/
> > > module in TomEE to build and do the relocation of the package.
> > > 
> > > --
> > > Jean-Louis Monteiro
> > > http://twitter.com/jlouismonteiro
> > > http://www.tomitribe.com
> > > 

Re: SXC JAXB from codehaux

Posted by Jean-Louis Monteiro <jl...@tomitribe.com>.
We do have some code to generate JAXB accessors. From what I recall, the
first time JAXB sees classes, it will bytecode generate the accessors. This
is fine for further invocations, but when you read descriptors only once or
a few times, it's not worth generating them at runtime. We use SXC to
generate them statically.

I'm not fully confident in this area, but this is what I recall and what I
saw in the code so far
--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com


On Wed, Feb 16, 2022 at 3:08 PM Thomas Andraschko <
andraschko.thomas@gmail.com> wrote:

> Why do we need SXC?
>
> Am Mi., 16. Feb. 2022 um 14:49 Uhr schrieb Jean-Louis Monteiro <
> jlmonteiro@tomitribe.com>:
>
> > Hi,
> >
> > I'm still doing some upgrades with the view to have some jakarta
> compliant
> > builds for TomEE 9.x.
> >
> > I did some Geronimo upgrades to Jakarta like Geronimo Transaction (would
> > need a release). I'm now looking at SXC which is a layer on top of JAXB.
> It
> > hasn't been released for 13 years and therefore it's not Jakarta
> > compatible.
> >
> > I looked at https://github.com/codehaus/sxc which is where the sources
> > are.
> > But the strange thing is that we seem to be using a non released version,
> > at least not from that source repo.
> >
> > Does anyone recall?
> > Should we fork that repo and do our own sources?
> > Should we reach out to the community?
> >
> > If we can't do something smart, I'll have to add a module on our deps/
> > module in TomEE to build and do the relocation of the package.
> >
> > --
> > Jean-Louis Monteiro
> > http://twitter.com/jlouismonteiro
> > http://www.tomitribe.com
> >
>

Re: SXC JAXB from codehaux

Posted by Thomas Andraschko <an...@gmail.com>.
Why do we need SXC?

Am Mi., 16. Feb. 2022 um 14:49 Uhr schrieb Jean-Louis Monteiro <
jlmonteiro@tomitribe.com>:

> Hi,
>
> I'm still doing some upgrades with the view to have some jakarta compliant
> builds for TomEE 9.x.
>
> I did some Geronimo upgrades to Jakarta like Geronimo Transaction (would
> need a release). I'm now looking at SXC which is a layer on top of JAXB. It
> hasn't been released for 13 years and therefore it's not Jakarta
> compatible.
>
> I looked at https://github.com/codehaus/sxc which is where the sources
> are.
> But the strange thing is that we seem to be using a non released version,
> at least not from that source repo.
>
> Does anyone recall?
> Should we fork that repo and do our own sources?
> Should we reach out to the community?
>
> If we can't do something smart, I'll have to add a module on our deps/
> module in TomEE to build and do the relocation of the package.
>
> --
> Jean-Louis Monteiro
> http://twitter.com/jlouismonteiro
> http://www.tomitribe.com
>