Re: [Geoserver-devel] GSIP-171 Java 18.9 compatibility discussion

2018-12-31 Thread Jody Garnett
With today's milestone release going out I am marking this proposal as
complete ...
--
Jody Garnett


On Wed, 26 Sep 2018 at 10:47, Jody Garnett  wrote:

> The GeoTools discussion started getting into specific and I wanted a
> chance to start the conversation here to focus on GeoServer challenges. The
> proposal under discussion is here
> https://github.com/geoserver/geoserver/wiki/GSIP-171
>
> During the last meeting we provided some general feedback:
>
> Proposal for GeoServer:
>
>
>- GSIP 171 Java 18.9 Compatibility
>   - We can relax and just focus on running with Java 11
>  - Still using the CLASSPATH for geoserver
>  - Still use automatic module names
>   - As for repackaging just go ahead and untangle conflicts because
>   we are are not a library
>
> This agrees with feedback I have gotten offline (a photo of a "SpringOne
> Platform" presentation on this topic).
>
> *Upgrade considerations*
> *Consider staying on the JVM class-path*
>
>
>- *Spring 5 runs fine in the class path mode as well as on the module
>path*
>- *however, other libraries may not work in a module setup quite yet*
>- *Tomcat and co run in a custom class loader arrangement anyways*
>
> *Consider staying at Java 8 byte code level*
>
>
>- *Spring 5.1's ASM 7.0 fork accepts Java 8-12 bytecode level*
>- *ASM 5.x (very common) rejects unknown bytecode levels beyond Java 8*
>- *compiling your code with target 1.8 reduces risk of such tools
>breaking*
>
> *Build against Java 8, run against JDK 11?*
>
>
> Specific concerns discussed in terms of:
> - short term: run geoserver on the classpath
> - mid term: run geoserver on classpath or module path, with some
> supporting libraries on the classpath
> - long term: run geoserver on the module path, with some supporting
> libraries on the classpath
>
> *Jars that are not ready?*
> Jars that are not ready yet will have to stay on the CLASSPATH (jai,
> jai-ext, imageio-ext, jai-tools). There is a small change to the GeoTools
> factory interface (isAvailable, isAvailableStatus) to allow us to disable
> functionality if a required jar is not found and report on the GeoServer
> status page/rest api.
>
> Short term we are on the classpath so we will not notice this issue.
> Long term we expect geotools and geosever modules to remain automatic
> modules so they can act as a bridge to the jars still on the classpath.
>
> *Reflection and Unsafe*
> Short term these will keep GeoServer on the CLASSPATH.
>
> Medium term we will update components:
> * Spring 4 --> Spring 5
> * Hazelcast? Not ready yet
> https://github.com/hazelcast/hazelcast/issues/13182
> * XStream? Sort of ready (https://github.com/x-stream/xstream/issues/101)
> and released as Stream 1.4.10 .
> We can open up our own classes to stream reflection as needed
> * Hibernate? ready (https://www.thoughts-on-java.org/hibernate-5-3/) as
> of Hibernate 5.3
>
> Long term access to reflection and unsafe has been allowed - but access
> needs to be granted.
> --
> Jody Garnett
>
___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Re: [Geoserver-devel] GSIP-171 Java 18.9 compatibility discussion

2018-09-28 Thread Jody Garnett
Here is another confirmation that Java EE 8 is CLASSPATH:
https://stackoverflow.com/questions/46497172/is-java-9-modularity-for-war-files-as-well


On Fri, Sep 28, 2018 at 7:26 AM Jody Garnett  wrote:

>
>
> On Thu, Sep 27, 2018 at 11:28 PM Andrea Aime 
> wrote:
>
>> On Fri, Sep 28, 2018 at 7:51 AM Jody Garnett 
>> wrote:
>>
>>> But the spring 5 articles showed how to run with modules so it must be
>>> possible.
>>>
>>
>> I don't see a link about it in this thread, what article are you
>> referring to?
>>
>
> No you are right it is a spring boot example from our wiki page:
> -
> https://medium.com/criciumadev/its-time-migrating-to-java-11-5eb3868354f9
>
>>
>
>> My understanding is that classic web apps are running of classpath, when
>> you put a modularized jar
>> in the classpath is behaves like a normal jar, not as a module, so
>> nothing new there, in order
>> to make a jar behave as a module it has to be in the modulepath (where it
>> will behave accoring
>> to its moduleinfo, or get turned into an automatic module).
>>
>
> That is my understanding also.
>
> I have the impression Oracle is caring less about J2EE because on the
>> cloud the direction is
>> more like going container-less, and either leverage the cloud support for
>> lambdas, or build a tiny
>> HTTP layer using a light container, at which point using the modulepath
>> becomes possible
>> and actually interesting (due to the faster startup times the modulepath
>> allows, which is crucial
>> for small apps starting up and shutting down all the time)
>>
>
> I also think they are caring less and have it to Jakarta.
>
> Aside I found this interesting:
> https://zeroturnaround.com/rebellabs/spring-vs-java-ee-survey-results/
>
>
>
>> Cheers
>> Andrea
>>
>> ==
>>
>> GeoServer Professional Services from the experts! Visit
>> http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf
>> Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa
>> 
>> (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549
>> http://www.geo-solutions.it http://twitter.com/geosolutions_it
>> --- *Con riferimento
>> alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
>> Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
>> circostanza inerente alla presente email (il suo contenuto, gli eventuali
>> allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
>> destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
>> errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
>> sarei comunque grato se potesse darmene notizia. This email is intended
>> only for the person or entity to which it is addressed and may contain
>> information that is privileged, confidential or otherwise protected from
>> disclosure. We remind that - as provided by European Regulation 2016/679
>> “GDPR” - copying, dissemination or use of this e-mail or the information
>> herein by anyone other than the intended recipient is prohibited. If you
>> have received this email by mistake, please notify us immediately by
>> telephone or e-mail.*
>>
> --
> --
> Jody Garnett
>
-- 
--
Jody Garnett
___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Re: [Geoserver-devel] GSIP-171 Java 18.9 compatibility discussion

2018-09-28 Thread Jody Garnett
On Thu, Sep 27, 2018 at 11:28 PM Andrea Aime 
wrote:

> On Fri, Sep 28, 2018 at 7:51 AM Jody Garnett 
> wrote:
>
>> But the spring 5 articles showed how to run with modules so it must be
>> possible.
>>
>
> I don't see a link about it in this thread, what article are you referring
> to?
>

No you are right it is a spring boot example from our wiki page:
-
https://medium.com/criciumadev/its-time-migrating-to-java-11-5eb3868354f9

>

> My understanding is that classic web apps are running of classpath, when
> you put a modularized jar
> in the classpath is behaves like a normal jar, not as a module, so nothing
> new there, in order
> to make a jar behave as a module it has to be in the modulepath (where it
> will behave accoring
> to its moduleinfo, or get turned into an automatic module).
>

That is my understanding also.

I have the impression Oracle is caring less about J2EE because on the cloud
> the direction is
> more like going container-less, and either leverage the cloud support for
> lambdas, or build a tiny
> HTTP layer using a light container, at which point using the modulepath
> becomes possible
> and actually interesting (due to the faster startup times the modulepath
> allows, which is crucial
> for small apps starting up and shutting down all the time)
>

I also think they are caring less and have it to Jakarta.

Aside I found this interesting:
https://zeroturnaround.com/rebellabs/spring-vs-java-ee-survey-results/



> Cheers
> Andrea
>
> ==
>
> GeoServer Professional Services from the experts! Visit
> http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf
> Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa
> 
> (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549
> http://www.geo-solutions.it http://twitter.com/geosolutions_it
> --- *Con riferimento
> alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
> Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
> circostanza inerente alla presente email (il suo contenuto, gli eventuali
> allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
> destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
> errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
> sarei comunque grato se potesse darmene notizia. This email is intended
> only for the person or entity to which it is addressed and may contain
> information that is privileged, confidential or otherwise protected from
> disclosure. We remind that - as provided by European Regulation 2016/679
> “GDPR” - copying, dissemination or use of this e-mail or the information
> herein by anyone other than the intended recipient is prohibited. If you
> have received this email by mistake, please notify us immediately by
> telephone or e-mail.*
>
-- 
--
Jody Garnett
___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Re: [Geoserver-devel] GSIP-171 Java 18.9 compatibility discussion

2018-09-28 Thread Andrea Aime
On Fri, Sep 28, 2018 at 7:51 AM Jody Garnett  wrote:

> But the spring 5 articles showed how to run with modules so it must be
> possible.
>

I don't see a link about it in this thread, what article are you referring
to?

My understanding is that classic web apps are running of classpath, when
you put a modularized jar
in the classpath is behaves like a normal jar, not as a module, so nothing
new there, in order
to make a jar behave as a module it has to be in the modulepath (where it
will behave accoring
to its moduleinfo, or get turned into an automatic module).

I have the impression Oracle is caring less about J2EE because on the cloud
the direction is
more like going container-less, and either leverage the cloud support for
lambdas, or build a tiny
HTTP layer using a light container, at which point using the modulepath
becomes possible
and actually interesting (due to the faster startup times the modulepath
allows, which is crucial
for small apps starting up and shutting down all the time)

Cheers
Andrea

==

GeoServer Professional Services from the experts! Visit http://goo.gl/it488V
for more information. == Ing. Andrea Aime @geowolf Technical Lead
GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39
0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549
http://www.geo-solutions.it http://twitter.com/geosolutions_it
--- *Con riferimento
alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
circostanza inerente alla presente email (il suo contenuto, gli eventuali
allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
sarei comunque grato se potesse darmene notizia. This email is intended
only for the person or entity to which it is addressed and may contain
information that is privileged, confidential or otherwise protected from
disclosure. We remind that - as provided by European Regulation 2016/679
“GDPR” - copying, dissemination or use of this e-mail or the information
herein by anyone other than the intended recipient is prohibited. If you
have received this email by mistake, please notify us immediately by
telephone or e-mail.*
___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Re: [Geoserver-devel] GSIP-171 Java 18.9 compatibility discussion

2018-09-27 Thread Jody Garnett
The new project name is Jakarta,, can find lots of articles (
https://www.infoworld.com/article/3269210/java/whats-new-with-eclipses-jakarta-ee-java.html)
but not plans around jigsaw. But the spring 5 articles showed how to run
with modules so it must be possible.

Okay here is the website -
https://jakarta.ee/

And technical direction
https://www.eclipse.org/ee4j/direction.php

What a change, actual technical direction we can read.

The heading is
https://www.eclipse.org/ee4j/direction.php#embrace-jpms


TLDR; Use Java 8 now, get ready for Java Plug-in Module System, add
MANIFIST.MF entry .. exactly like we are trying to do.


On Thu, Sep 27, 2018 at 1:39 AM Andrea Aime 
wrote:

> On Wed, Sep 26, 2018 at 7:50 PM Jody Garnett 
> wrote:
>
>> - short term: run geoserver on the classpath
>> - mid term: run geoserver on classpath or module path, with some
>> supporting libraries on the classpath
>> - long term: run geoserver on the module path, with some supporting
>> libraries on the classpath
>>
>
> I've checked around, the J2EE specification is now separate from Java and
> I could not find any
> indication of a new version of J2EE taking modules into account, as far as
> I can tell, web apps
> are still going to run off the classpath for the foreseeable future.
>
> I know J2EE moved to Eclipse foundation, but searching on the internet I
> cannot find its new web site
> (where I was hoping to find indications on future module usage in servlet
> based apps), I only come
> up with J2EE tooling and the like.
> Do you have other news?
>
> Cheers
> Andrea
>
> == GeoServer Professional Services from the experts! Visit
> http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf
> Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa
> 
> (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549
> http://www.geo-solutions.it http://twitter.com/geosolutions_it
> --- *Con riferimento
> alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
> Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
> circostanza inerente alla presente email (il suo contenuto, gli eventuali
> allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
> destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
> errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
> sarei comunque grato se potesse darmene notizia. This email is intended
> only for the person or entity to which it is addressed and may contain
> information that is privileged, confidential or otherwise protected from
> disclosure. We remind that - as provided by European Regulation 2016/679
> “GDPR” - copying, dissemination or use of this e-mail or the information
> herein by anyone other than the intended recipient is prohibited. If you
> have received this email by mistake, please notify us immediately by
> telephone or e-mail.*
>
-- 
--
Jody Garnett
___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Re: [Geoserver-devel] GSIP-171 Java 18.9 compatibility discussion

2018-09-27 Thread Andrea Aime
On Wed, Sep 26, 2018 at 7:50 PM Jody Garnett  wrote:

> - short term: run geoserver on the classpath
> - mid term: run geoserver on classpath or module path, with some
> supporting libraries on the classpath
> - long term: run geoserver on the module path, with some supporting
> libraries on the classpath
>

I've checked around, the J2EE specification is now separate from Java and I
could not find any
indication of a new version of J2EE taking modules into account, as far as
I can tell, web apps
are still going to run off the classpath for the foreseeable future.

I know J2EE moved to Eclipse foundation, but searching on the internet I
cannot find its new web site
(where I was hoping to find indications on future module usage in servlet
based apps), I only come
up with J2EE tooling and the like.
Do you have other news?

Cheers
Andrea

== GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf
Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa
(LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549
http://www.geo-solutions.it http://twitter.com/geosolutions_it
--- *Con riferimento
alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
circostanza inerente alla presente email (il suo contenuto, gli eventuali
allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
sarei comunque grato se potesse darmene notizia. This email is intended
only for the person or entity to which it is addressed and may contain
information that is privileged, confidential or otherwise protected from
disclosure. We remind that - as provided by European Regulation 2016/679
“GDPR” - copying, dissemination or use of this e-mail or the information
herein by anyone other than the intended recipient is prohibited. If you
have received this email by mistake, please notify us immediately by
telephone or e-mail.*
___
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel