-
Notifications
You must be signed in to change notification settings - Fork 146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Redesign of GlassFish bootstrap #25183
base: master
Are you sure you want to change the base?
Conversation
6e9b092
to
4c37d35
Compare
Wow, it took me a while to reproduce it - the reason is that JDK17 and JDK21 resolve Manifest classpath in different way! I have to find where and why it changed ... EDIT: known issues:
EDIT2: All resolved. I will also run all TCK tests locally. I noticed that servlet TCK executed one of cli jars instead of using script, so I expect yet some issues to resolve ... until that I will keep it as a draft. |
Ok, another round, seems we don't have any mavenized tests for gfclient, tbd soon ... |
369b5ef
to
9b768ee
Compare
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
- When I remove the jar file from any of those two lines, GF cannot start. Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
- just 4 jars to start GlassFish are required: - glassfish.jar contains non-osgi GlassFishMain class and Launcher interface - glassfish-jul-extensions.jar for logging in every phase with same set of available features. - glassfish-jdk-extensions - basic tools used on all layers: i18n class, classloader, we will migrate more in the future. - simple-glassfish-api.jar - basic GF apis, no other dependencies. Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
…sh.jar Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
- removed Control, unsupported with JPMS - removed dead code - added env option to enable logging of all failed lookups Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
- felix framework is supplied by other jpms modules which don't overlap osgi.core - logging annotations are used just by maven compiler plugin and they are not used in runtime. Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
- AS_INSTALL must be absolute env option despite it can be also autodetected, but then it would not be possible to use it in scripts (chicken-egg problem). - classpaths in manifests sometimes don't work on JDK11-17, not sure why exactly. Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
- If not present, use all jars in the modules directory. Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
- https://bugs.openjdk.org/browse/JDK-8273473 Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
- Path.of expects a path using slash as a separator, so old windows paths are invalid for this. We always have to use File first. Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
- Globals is not used in local commands and might not be available on classpath Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
Main feature changes
Bootstrap libs
*.cli
jars were moved to install root as they are simply executable jars.Bootstrap design
Appclient changes
*Facade
classes then use the thread classloader to get the container and launch it.Related changes
Future PRs
Review
Probably is better to go through commits.
Notes