Skip to content

Commit

Permalink
GlassfishUrlClassLoader - logging
Browse files Browse the repository at this point in the history
- Usage: to see order of things touched on start/stop

Signed-off-by: David Matějček <david.matejcek@omnifish.ee>
  • Loading branch information
dmatej committed Jan 15, 2023
1 parent 42ed92c commit bbfab8e
Showing 1 changed file with 61 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,17 @@
package org.glassfish.common.util;

import java.io.Closeable;
import java.io.IOException;
import java.io.InputStream;
import java.lang.System.Logger;
import java.net.URL;
import java.net.URLClassLoader;
import java.net.URLStreamHandlerFactory;
import java.util.Arrays;
import java.util.Enumeration;

import static java.lang.System.Logger.Level.DEBUG;
import static java.lang.System.Logger.Level.TRACE;


/**
Expand All @@ -34,6 +41,8 @@
*/
public class GlassfishUrlClassLoader extends URLClassLoader {

private static final Logger LOG = System.getLogger(GlassfishUrlClassLoader.class.getName());

static {
registerAsParallelCapable();
}
Expand Down Expand Up @@ -72,6 +81,58 @@ public GlassfishUrlClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerF
}


@Override
protected Class<?> findClass(final String name) throws ClassNotFoundException {
LOG.log(TRACE, "findClass(name={0})", name);
return super.findClass(name);
}


@Override
public URL findResource(final String name) {
LOG.log(TRACE, "findResource(name={0})", name);
return super.findResource(name);
}


@Override
public Enumeration<URL> findResources(final String name) throws IOException {
LOG.log(TRACE, "findResources(name={0})", name);
return super.findResources(name);
}


@Override
public InputStream getResourceAsStream(String name) {
LOG.log(TRACE, "getResourceAsStream(name={0})", name);
return super.getResourceAsStream(name);
}


@Override
protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
LOG.log(DEBUG, "loadClass(name={0}, resolve={1})", name, resolve);
return super.loadClass(name, resolve);
}


@Override
protected Package definePackage(String name, String specTitle, String specVersion, String specVendor,
String implTitle, String implVersion, String implVendor, URL sealBase) {
LOG.log(DEBUG,
"definePackage(name={0}, specTitle={1}, specVersion={2}, specVendor={3}, implTitle={4}, implVersion={5}, implVendor={6}, sealBase={7})",
name, specTitle, specVersion, specVendor, implTitle, implVersion, implVendor, sealBase);
return super.definePackage(name, specTitle, specVersion, specVendor, implTitle, implVersion, implVendor, sealBase);
}


@Override
public void close() throws IOException {
LOG.log(DEBUG, "close()");
super.close();
}


/**
* Returns class name, hash code and list of managed urls.
*/
Expand Down

0 comments on commit bbfab8e

Please sign in to comment.