Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This instrumenter configuration file causes instrumentation to be applied to the start methods of abstract and concrete classes that implement the Task interface or an interface that extends the Task interface.

<?xml version='1.0'?>
<instrumenter-config>
     <custom-config>
          <java-classes>
               <java-class>
                    <class-name> xmp.wfm.task.Task </class-name>
                    <methods>
                         <method>
                              <name> sta* </name>
                              <apply-to-subtypes>true</apply-to-subtypes>
                         </method>
                    </methods>
               </java-class>
          </java-classes>
     </custom-config>
</instrumenter-config>

Instrumentation is applied to methods of abstract and concrete classes that satisfy the following criteria:•    The

  • The name of the method matches the wildcard pattern that is specified in the <name> element.

...

  • The signature of the method matches the signature that is specified in the <params> element (if present).

...

  • The method is declared in the matched interface.

...

  • The matched class has one or more interfaces are the same as or extend the interface that is specified in the <class-name> element.

Based on these rules, custom-type instrumentation is applied to the following methods:•    AbstractTask

  • AbstractTask.start()

...

  • RecoverableTaskAdapter.start()

...

  • RecoverableTaskAdapter.start(

...

  • RecoverableTaskContent)

However, instrumentation is not applied to the following methods:•    AbstractTask

  • AbstractTask.start(TaskContext) because the method was not declared in the Task interface or in an interface that extends the Task interface.

...

  • AbstractTask.stop() because the method does not match the specified wildcard pattern of sta*.

...

  • AbstractTask.stop(boolean) because the method does not match the specified wildcard pattern of sta*.

...

  • RecoverableTaskAdapter.recover(RecoverableTaskContext) because the method name does not match the specified wildcard pattern of sta*.

...

  • RecoverableTaskAdapter.stop() because the method does not match the specified wildcard pattern of sta*.

...

  • RecoverableTaskAdapter.stop(boolean) because the method does not match the specified wildcard pattern of sta*.
About extending wildcards to apply to methods that are declared in implementations

...

This instrumenter configuration file causes instrumentation to be applied to the start methods of abstract and concrete classes that implement the Task interface.

<?xml version='1.0'?>
<instrumenter-config>
     <custom-config>
          <java-classes>
               <java-class>
                    <class-name> xmp.wfm.task.Task </class-name>
                    <methods>
                         <method>

...

                              <name> sta* </name>
                              <apply-to-implementations>true
                              </apply-to-implementations>
                         </method>
                    </methods>
               </java-class>
          </java-classes>
     </custom-config>
</instrumenter-config>

Instrumentation is applied to methods of abstract and concrete classes that satisfy the following criteria:•    The

  • The name of the method matches the wildcard pattern that is specified in the <name> element.

...

  • The signature of the method matches the signature that is specified in the <params> element (if present).

...

  • The method is declared in a class that extends the abstract class or implements the interface that is identified in the <class-name> element.

Based on these rules, custom-type instrumentation is applied to the following methods:•    AbstractTask

  • AbstractTask.start()

...

  • AbstractTask.start(

...

  • TaskContent)

...

  • RecoverableTaskAdapter.start()

...

  • RecoverableTaskAdapter.start(

...

  • RecoverableTaskContent)

However, instrumentation is not applied to the following methods:•    AbstractTask

  • AbstractTask.stop() because the method does not match the specified wildcard pattern of sta*.

...

  • AbstractTask.stop(boolean) because the method does not match the specified wildcard pattern of sta*.

...

  • RecoverableTaskAdapter.recover(RecoverableTaskContext) because the method name does not match the specified wildcard pattern of sta*.

...

  • RecoverableTaskAdapter.stop() because the method does not match the specified wildcard pattern of sta*.

...

  • RecoverableTaskAdapter.stop(boolean) because the method does not match the specified wildcard pattern of sta*.

About instrumenting classes

...

This instrumenter configuration file causes instrumentation to be applied to the start and stop methods of abstract and concrete classes that extend the AbstractTask class.

<?xml version='1.0'?>
<instrumenter-config>
     <custom-config>
          <java-classes>
               <java-class>
                    <class-name> xmp.wfm.task.AbstractTask </class-name>
                    <methods>
                         <method>
                              <name> start </name>
                         </method>
                         <method>
                              <name> stop </name>
                         </method>
                    </methods>
               </java-class>
          </java-classes>
     </custom-config>
</instrumenter-config>

Instrumentation is applied to methods of abstract and concrete classes that satisfy the following criteria:•    The

  • The matched class extends the class specified in the <class-name> element.

...

  • The name of the method matches the name that is specified in one of the <name> elements.

...

  • The method was declared in the matching class.

Based on these rules, custom-type instrumentation is applied to the following methods:•    AbstractTask

  • AbstractTask.start()

...

  • AbstractTask.start(

...

  • TaskContent)

...

  • AbstractTask.stop()

...

  • AbstractTask.stop(boolean)

...

  • RecoverableTaskAdapter.start()

...

  • RecoverableTaskAdapter.start(

...

  • TaskContent)

...

  • RecoverableTaskAdapter.stop()

...

  • RecoverableTaskAdapter.stop(boolean)

However, instrumentation is not applied to the following methods:•    RecoverableTaskAdapter

  • RecoverableTaskAdapter.recover(

...

  • RecoverableTaskContent) because the method was not declared in the AbstractTask class
About restricting instrumentation to methods that match a signature

...