Package java.lang.instrument

Examples of java.lang.instrument.Instrumentation


        }

        public void destroy(String unitId) {
            List<ClassFileTransformer> transformers = this.transformers.remove(unitId);
            if (transformers != null) {
                Instrumentation instrumentation = Agent.getInstrumentation();
                if (instrumentation != null) {
                    for (ClassFileTransformer transformer : transformers) {
                        instrumentation.removeTransformer(transformer);
                    }
                } else {
                    logger.error("assembler.noAgent");
                }
            }
View Full Code Here


    private static class PersistenceClassLoaderHandlerImpl implements PersistenceClassLoaderHandler {
        private final Map<String,List<ClassFileTransformer>> transformers = new TreeMap<String,List<ClassFileTransformer>>();

        public void addTransformer(String unitId, ClassLoader classLoader, ClassFileTransformer classFileTransformer) {
            Instrumentation instrumentation = Agent.getInstrumentation();
            if (instrumentation != null) {
                instrumentation.addTransformer(classFileTransformer);

                if (unitId != null) {
                    List<ClassFileTransformer> transformers = this.transformers.get(unitId);
                    if (transformers == null) {
                        transformers = new ArrayList<ClassFileTransformer>(1);
View Full Code Here

        }

        public void destroy(String unitId) {
            List<ClassFileTransformer> transformers = this.transformers.remove(unitId);
            if (transformers != null) {
                Instrumentation instrumentation = Agent.getInstrumentation();
                if (instrumentation != null) {
                    for (ClassFileTransformer transformer : transformers) {
                        instrumentation.removeTransformer(transformer);
                    }
                } else {
                    logger.error("assembler.noAgent");
                }
            }
View Full Code Here

            }
        };

        getLogger().info("*** Adding transformer: " + transformer);

        Instrumentation i = InstrumentUtil.getInstrumentation();
        if (i == null) {
            throw new IllegalStateException("Attempt to add a transformer failed - "
                    + "instrumentation is not initialized.");
        }

        i.addTransformer(transformerWrapper);
    }
View Full Code Here

    private static class PersistenceClassLoaderHandlerImpl implements PersistenceClassLoaderHandler {
        private final Map<String,List<ClassFileTransformer>> transformers = new TreeMap<String, List<ClassFileTransformer>> ();

        public void addTransformer(String unitId, ClassLoader classLoader, ClassFileTransformer classFileTransformer) {
            Instrumentation instrumentation = Agent.getInstrumentation();
            if (instrumentation != null) {
                instrumentation.addTransformer(classFileTransformer);

                if (unitId != null) {
                    List<ClassFileTransformer> transformers = this.transformers.get(unitId);
                    if (transformers == null) {
                        transformers = new ArrayList<ClassFileTransformer>(1);
View Full Code Here

        }

        public void destroy(String unitId) {
            List<ClassFileTransformer> transformers = this.transformers.remove(unitId);
            if (transformers != null) {
                Instrumentation instrumentation = Agent.getInstrumentation();
                if (instrumentation != null) {
                    for (ClassFileTransformer transformer : transformers) {
                        instrumentation.removeTransformer(transformer);
                    }
                } else {
                    logger.error("assembler.noAgent");
                }
            }
View Full Code Here

public class PurrPackagePremainTest extends Assert {

    @Test
    public void testPremain() {
        Instrumentation i = EasyMock.createMock( Instrumentation.class );
        i.addTransformer( EasyMock.anyObject( SimpleInstrumenter.class ) );
        EasyMock.expectLastCall();
        EasyMock.replay( i );
        PurrPackagePremain.premain( null, i );
        EasyMock.verify( i );
    }
View Full Code Here

*/
public class InstrumentationLoadTimeWeaver implements LoadTimeWeaver {

  public void addTransformer(ClassFileTransformer transformer) {
    Assert.notNull(transformer, "Transformer must not be null");
    Instrumentation instrumentation = InstrumentationSavingAgent.getInstrumentation();
    if (instrumentation == null) {
      throw new IllegalStateException(
          "Must start with Java agent to use InstrumentationLoadTimeWeaver. See Spring documentation.");
    }
    instrumentation.addTransformer(transformer);
  }
View Full Code Here

*/
public class InstrumentationLoadTimeWeaver implements LoadTimeWeaver {

  public void addTransformer(ClassFileTransformer transformer) {
    Assert.notNull(transformer, "Transformer must not be null");
    Instrumentation instrumentation = InstrumentationSavingAgent.getInstrumentation();
    if (instrumentation == null) {
      throw new IllegalStateException(
          "Must start with Java agent to use InstrumentationLoadTimeWeaver. See Spring documentation.");
    }
    instrumentation.addTransformer(transformer);
  }
View Full Code Here

    // hotswap (ClassDefinition[] defns, Boolean[]succeeded)

    public void hotswap (ClassDefinition[] changes, Boolean[] succeeded)
    {
        Instrumentation instrumentation = Agent.getInstrumentation();
        if (!instrumentation.isRedefineClassesSupported()) {
            //TODO - should we fail ?
            return;
        }

        // try to reload them all
        try {
            instrumentation.redefineClasses(changes);
            for (int i=0; i<changes.length; i++) succeeded[i] = true;
        } catch (Exception e) {
            // throw new AWGenericException(e);
            if (changes.length == 1) {
                succeeded[0] = false;
            } else {
                // we failed to load one or more, so try to load them individually
                for (int i=0; i<changes.length; i++) {
                    ClassDefinition[] change = new ClassDefinition[] {changes[i]};
                    try {
                        instrumentation.redefineClasses(change);
                        succeeded[i] = true;
                    } catch (Exception e2) {
                        succeeded[i] = false;
                    }
                }
View Full Code Here

TOP

Related Classes of java.lang.instrument.Instrumentation

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.