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
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.
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.ithttp://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.
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.ithttp://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.