Java Code Examples for java.lang.instrument.Instrumentation#appendToSystemClassLoaderSearch()
The following examples show how to use
java.lang.instrument.Instrumentation#appendToSystemClassLoaderSearch() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: BasicTest.java From dragonwell8_jdk with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws IOException { JarFile bootclasses = new JarFile("BootSupport.jar"); JarFile agentclasses = new JarFile("AgentSupport.jar"); Instrumentation ins = Agent.getInstrumentation(); // Test 1: Add BootSupport.jar to boot class path and check that // BootSupport is loaded by the bootstrap class loader ins.appendToBootstrapClassLoaderSearch(bootclasses); checkLoadedByLoader("BootSupport", null); // Test 2: Add AgentSupport.jar to the system class path and check that // AgentSupport is loaded by the system class loader. try { ins.appendToSystemClassLoaderSearch(agentclasses); checkLoadedByLoader("AgentSupport", ClassLoader.getSystemClassLoader()); } catch (UnsupportedOperationException x) { System.out.println("System class loader does not support adding to class path"); } // throw exception if a test failed if (failures > 0) { throw new RuntimeException(failures + " test(s) failed."); } }
Example 2
Source File: BasicTest.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws IOException { JarFile bootclasses = new JarFile("BootSupport.jar"); JarFile agentclasses = new JarFile("AgentSupport.jar"); Instrumentation ins = Agent.getInstrumentation(); // Test 1: Add BootSupport.jar to boot class path and check that // BootSupport is loaded by the bootstrap class loader ins.appendToBootstrapClassLoaderSearch(bootclasses); checkLoadedByLoader("BootSupport", null); // Test 2: Add AgentSupport.jar to the system class path and check that // AgentSupport is loaded by the system class loader. try { ins.appendToSystemClassLoaderSearch(agentclasses); checkLoadedByLoader("AgentSupport", ClassLoader.getSystemClassLoader()); } catch (UnsupportedOperationException x) { System.out.println("System class loader does not support adding to class path"); } // throw exception if a test failed if (failures > 0) { throw new RuntimeException(failures + " test(s) failed."); } }
Example 3
Source File: BasicTest.java From jdk8u60 with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws IOException { JarFile bootclasses = new JarFile("BootSupport.jar"); JarFile agentclasses = new JarFile("AgentSupport.jar"); Instrumentation ins = Agent.getInstrumentation(); // Test 1: Add BootSupport.jar to boot class path and check that // BootSupport is loaded by the bootstrap class loader ins.appendToBootstrapClassLoaderSearch(bootclasses); checkLoadedByLoader("BootSupport", null); // Test 2: Add AgentSupport.jar to the system class path and check that // AgentSupport is loaded by the system class loader. try { ins.appendToSystemClassLoaderSearch(agentclasses); checkLoadedByLoader("AgentSupport", ClassLoader.getSystemClassLoader()); } catch (UnsupportedOperationException x) { System.out.println("System class loader does not support adding to class path"); } // throw exception if a test failed if (failures > 0) { throw new RuntimeException(failures + " test(s) failed."); } }
Example 4
Source File: BasicTest.java From openjdk-jdk8u with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws IOException { JarFile bootclasses = new JarFile("BootSupport.jar"); JarFile agentclasses = new JarFile("AgentSupport.jar"); Instrumentation ins = Agent.getInstrumentation(); // Test 1: Add BootSupport.jar to boot class path and check that // BootSupport is loaded by the bootstrap class loader ins.appendToBootstrapClassLoaderSearch(bootclasses); checkLoadedByLoader("BootSupport", null); // Test 2: Add AgentSupport.jar to the system class path and check that // AgentSupport is loaded by the system class loader. try { ins.appendToSystemClassLoaderSearch(agentclasses); checkLoadedByLoader("AgentSupport", ClassLoader.getSystemClassLoader()); } catch (UnsupportedOperationException x) { System.out.println("System class loader does not support adding to class path"); } // throw exception if a test failed if (failures > 0) { throw new RuntimeException(failures + " test(s) failed."); } }
Example 5
Source File: BasicTest.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws IOException { JarFile bootclasses = new JarFile("BootSupport.jar"); JarFile agentclasses = new JarFile("AgentSupport.jar"); Instrumentation ins = Agent.getInstrumentation(); // Test 1: Add BootSupport.jar to boot class path and check that // BootSupport is loaded by the bootstrap class loader ins.appendToBootstrapClassLoaderSearch(bootclasses); checkLoadedByLoader("BootSupport", null); // Test 2: Add AgentSupport.jar to the system class path and check that // AgentSupport is loaded by the system class loader. try { ins.appendToSystemClassLoaderSearch(agentclasses); checkLoadedByLoader("AgentSupport", ClassLoader.getSystemClassLoader()); } catch (UnsupportedOperationException x) { System.out.println("System class loader does not support adding to class path"); } // throw exception if a test failed if (failures > 0) { throw new RuntimeException(failures + " test(s) failed."); } }
Example 6
Source File: BasicTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws IOException { JarFile bootclasses = new JarFile("BootSupport.jar"); JarFile agentclasses = new JarFile("AgentSupport.jar"); Instrumentation ins = Agent.getInstrumentation(); // Test 1: Add BootSupport.jar to boot class path and check that // BootSupport is loaded by the bootstrap class loader ins.appendToBootstrapClassLoaderSearch(bootclasses); checkLoadedByLoader("BootSupport", null); // Test 2: Add AgentSupport.jar to the system class path and check that // AgentSupport is loaded by the system class loader. try { ins.appendToSystemClassLoaderSearch(agentclasses); checkLoadedByLoader("AgentSupport", ClassLoader.getSystemClassLoader()); } catch (UnsupportedOperationException x) { System.out.println("System class loader does not support adding to class path"); } // throw exception if a test failed if (failures > 0) { throw new RuntimeException(failures + " test(s) failed."); } }
Example 7
Source File: BasicTest.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws IOException { JarFile bootclasses = new JarFile("BootSupport.jar"); JarFile agentclasses = new JarFile("AgentSupport.jar"); Instrumentation ins = Agent.getInstrumentation(); // Test 1: Add BootSupport.jar to boot class path and check that // BootSupport is loaded by the bootstrap class loader ins.appendToBootstrapClassLoaderSearch(bootclasses); checkLoadedByLoader("BootSupport", null); // Test 2: Add AgentSupport.jar to the system class path and check that // AgentSupport is loaded by the system class loader. try { ins.appendToSystemClassLoaderSearch(agentclasses); checkLoadedByLoader("AgentSupport", ClassLoader.getSystemClassLoader()); } catch (UnsupportedOperationException x) { System.out.println("System class loader does not support adding to class path"); } // throw exception if a test failed if (failures > 0) { throw new RuntimeException(failures + " test(s) failed."); } }
Example 8
Source File: BasicTest.java From hottub with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws IOException { JarFile bootclasses = new JarFile("BootSupport.jar"); JarFile agentclasses = new JarFile("AgentSupport.jar"); Instrumentation ins = Agent.getInstrumentation(); // Test 1: Add BootSupport.jar to boot class path and check that // BootSupport is loaded by the bootstrap class loader ins.appendToBootstrapClassLoaderSearch(bootclasses); checkLoadedByLoader("BootSupport", null); // Test 2: Add AgentSupport.jar to the system class path and check that // AgentSupport is loaded by the system class loader. try { ins.appendToSystemClassLoaderSearch(agentclasses); checkLoadedByLoader("AgentSupport", ClassLoader.getSystemClassLoader()); } catch (UnsupportedOperationException x) { System.out.println("System class loader does not support adding to class path"); } // throw exception if a test failed if (failures > 0) { throw new RuntimeException(failures + " test(s) failed."); } }
Example 9
Source File: BasicTest.java From openjdk-8-source with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws IOException { JarFile bootclasses = new JarFile("BootSupport.jar"); JarFile agentclasses = new JarFile("AgentSupport.jar"); Instrumentation ins = Agent.getInstrumentation(); // Test 1: Add BootSupport.jar to boot class path and check that // BootSupport is loaded by the bootstrap class loader ins.appendToBootstrapClassLoaderSearch(bootclasses); checkLoadedByLoader("BootSupport", null); // Test 2: Add AgentSupport.jar to the system class path and check that // AgentSupport is loaded by the system class loader. try { ins.appendToSystemClassLoaderSearch(agentclasses); checkLoadedByLoader("AgentSupport", ClassLoader.getSystemClassLoader()); } catch (UnsupportedOperationException x) { System.out.println("System class loader does not support adding to class path"); } // throw exception if a test failed if (failures > 0) { throw new RuntimeException(failures + " test(s) failed."); } }
Example 10
Source File: BasicTest.java From openjdk-8 with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws IOException { JarFile bootclasses = new JarFile("BootSupport.jar"); JarFile agentclasses = new JarFile("AgentSupport.jar"); Instrumentation ins = Agent.getInstrumentation(); // Test 1: Add BootSupport.jar to boot class path and check that // BootSupport is loaded by the bootstrap class loader ins.appendToBootstrapClassLoaderSearch(bootclasses); checkLoadedByLoader("BootSupport", null); // Test 2: Add AgentSupport.jar to the system class path and check that // AgentSupport is loaded by the system class loader. try { ins.appendToSystemClassLoaderSearch(agentclasses); checkLoadedByLoader("AgentSupport", ClassLoader.getSystemClassLoader()); } catch (UnsupportedOperationException x) { System.out.println("System class loader does not support adding to class path"); } // throw exception if a test failed if (failures > 0) { throw new RuntimeException(failures + " test(s) failed."); } }
Example 11
Source File: BasicTest.java From jdk8u_jdk with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws IOException { JarFile bootclasses = new JarFile("BootSupport.jar"); JarFile agentclasses = new JarFile("AgentSupport.jar"); Instrumentation ins = Agent.getInstrumentation(); // Test 1: Add BootSupport.jar to boot class path and check that // BootSupport is loaded by the bootstrap class loader ins.appendToBootstrapClassLoaderSearch(bootclasses); checkLoadedByLoader("BootSupport", null); // Test 2: Add AgentSupport.jar to the system class path and check that // AgentSupport is loaded by the system class loader. try { ins.appendToSystemClassLoaderSearch(agentclasses); checkLoadedByLoader("AgentSupport", ClassLoader.getSystemClassLoader()); } catch (UnsupportedOperationException x) { System.out.println("System class loader does not support adding to class path"); } // throw exception if a test failed if (failures > 0) { throw new RuntimeException(failures + " test(s) failed."); } }
Example 12
Source File: BasicTest.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws IOException { JarFile bootclasses = new JarFile("BootSupport.jar"); JarFile agentclasses = new JarFile("AgentSupport.jar"); Instrumentation ins = Agent.getInstrumentation(); // Test 1: Add BootSupport.jar to boot class path and check that // BootSupport is loaded by the bootstrap class loader ins.appendToBootstrapClassLoaderSearch(bootclasses); checkLoadedByLoader("BootSupport", null); // Test 2: Add AgentSupport.jar to the system class path and check that // AgentSupport is loaded by the system class loader. try { ins.appendToSystemClassLoaderSearch(agentclasses); checkLoadedByLoader("AgentSupport", ClassLoader.getSystemClassLoader()); } catch (UnsupportedOperationException x) { System.out.println("System class loader does not support adding to class path"); } // throw exception if a test failed if (failures > 0) { throw new RuntimeException(failures + " test(s) failed."); } }
Example 13
Source File: BasicTest.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 6 votes |
public static void main(String args[]) throws IOException { JarFile bootclasses = new JarFile("BootSupport.jar"); JarFile agentclasses = new JarFile("AgentSupport.jar"); Instrumentation ins = Agent.getInstrumentation(); // Test 1: Add BootSupport.jar to boot class path and check that // BootSupport is loaded by the bootstrap class loader ins.appendToBootstrapClassLoaderSearch(bootclasses); checkLoadedByLoader("BootSupport", null); // Test 2: Add AgentSupport.jar to the system class path and check that // AgentSupport is loaded by the system class loader. try { ins.appendToSystemClassLoaderSearch(agentclasses); checkLoadedByLoader("AgentSupport", ClassLoader.getSystemClassLoader()); } catch (UnsupportedOperationException x) { System.out.println("System class loader does not support adding to class path"); } // throw exception if a test failed if (failures > 0) { throw new RuntimeException(failures + " test(s) failed."); } }
Example 14
Source File: Recaf.java From Recaf with MIT License | 5 votes |
private static void agent(String args, Instrumentation inst) { if (InstrumentationResource.isActive()) { String message = "Recaf was previously attached to current VM.\n" + "Reattaching currently not supported.\n" + "Watch GitHub for further releases that might solve this issue."; throw new UnsupportedOperationException(message); } try { inst.appendToSystemClassLoaderSearch(new JarFile(SelfReferenceUtil.get().getFile())); } catch (IOException ex) { Log.error(ex, "Failed to self-append to system classloader search."); } Thread t = Thread.currentThread(); if (t.getContextClassLoader() == null) { ClassLoader cl = Recaf.class.getClassLoader(); if (cl == null) cl = ClassLoader.getSystemClassLoader(); t.setContextClassLoader(cl); } init(); // Log that we are an agent info("Starting as agent..."); // Add instrument launch arg if(args == null || args.trim().isEmpty()) args = "--instrument"; else if(args.contains("--instrument")) args = args + ",--instrument"; // Set instance InstrumentationResource.instrumentation = inst; // Start Recaf launch(args.split("[=,]")); }