View Source

Interceptors can be defined to inject some post or pre-processing in the component during service processing.

Using interceptor is very sensitive and must be manipulated only by power users. A non properly coded interceptor engaged in a component can lead to uncontrolled behaviors, out of the standard process.

Example of an interceptor configuration:

{code:lang=xml}
<?xml version="1.0" encoding="UTF-8"?>
<jbi:jbi xmlns:jbi="http://java.sun.com/xml/ns/jbi" xmlns:petalsCDK="http://petals.ow2.org/components/extensions/version-5" ...>
<jbi:component>
<!--...-->
<petalsCDK:component-interceptors>
  <petalsCDK:interceptor active="true" class="org.ow2.petals.myInterceptor" name="myInterceptorName">
    <petalsCDK:param name="myParamName">myParamValue</petalsCDK:param>
    <petalsCDK:param name="myParamName2">myParamValue2</petalsCDK:param>
  </petalsCDK:interceptor>
</petalsCDK:component-interceptors>
<!--...-->
</jbi:component>
</jbi:jbi>
{code}

{center}
*Interceptors configuration for Component (CDK)*
{center}

{table-plus:columnAttributes=,,style="text-align:center;",style="text-align:center;"}

|| Parameter || Description || Default || Required ||
| interceptor - class | Name of the interceptor class to implement. This class must extend the abstract class _org.ow2.petals.component.common.interceptor.Interceptor_. This class must be loadable from the component classloader, or in a dependent Shared Library classloader. | \- | Yes |
| interceptor - name | Logical name of the interceptor instance. It is referenced at service unit level to register this interceptor for services of the service unit. See SU Interceptor configuration. | \- | Yes |
| interceptor - active | If _true_, the Interceptor instance is activated for every SU deployed on the component. \\
If _false_, the Interceptor can be activated: \\
\-by the InterceptorManager Mbean at runtime, to activate the interceptor for every deployed SU. \\
\-by a SU configuration | \- | Yes |
| param\[\] - name | The name of the parameter to use for the interceptor. | \- | No |
| param\[\] | The value of the parameter to use for the interceptor. | \- | No |
{table-plus}