0 Replies Latest reply on Dec 1, 2009 1:07 PM by Andrew Dinn

    Byteman 1.2.0 release now available

    Andrew Dinn Master

      Byteman release 1.2.0 has now been released and is available from the project downloads page http://www.jboss.org/byteman/downloads.

      This release is primarily a feature upgrade extending the Byteman rule language to support two new types of rules:

      interface rules
      -- rule code is injected through an interface into all classes which implement the interface

      overriding rules
      -- rule code is injected down class hierarchies into a both the target class's method and into the methods of subclasses which provides an overriding implementation

      These two new modes of injection may be used in isolation but they also work in combination . For example, the following rule adds trace code to the run method of every implementor of Runnable and to every overriding implementation, effectively tracing every run() operation in the JVM.

      RULE trace any Runnable.run() call
      INTERFACE ^java.lang.Runnable
      METHOD run()
      IF TRUE
      DO System.out.println("Running runnable " + $0 + " " + $0.getClass().getName())
      ENDRULE
      


      Full details of the syntax and operation of these two new rule types are included in the 1.2.0 programmers guide.

      The release also includes several bug fixes including, most notably, a much more reliable implementation tool bytemancheck, which performs offline rule syntax and type checking. Release notes are available from the project downloads page http://www.jboss.org/byteman/downloads.