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}
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}