HornetQ interceptor which adds a generated UID as the value of the JMS Property _AMQ_DUPL_ID
. Used by duplication-
detection within ActiveMQ Artemis. Can provide "exactly once" semantics without XA. Just "at least once" and de-dups
are used.
$PROJECT_HOME
: root directory of the cloned repository$EAP_HOME
: root directory of Wildfly or JBoss EAP installation
cd $project_home
mvn clean package
cp $PROJECT_HOME/target/hornetq-interceptor.jar $JBOSS_EAP_HOME/modules/system/layers/base/org/jboss/as/messaging/main
- Registration of interceptor in $JBOSS_EAP_HOME/modules/system/layers/base/org/jboss/as/messaging/main/module.xml:
<resource-root path="hornetq-interceptor.jar"/>
- Enabling interceptor:
/subsystem=messaging/hornetq-server=default:write-attribute(name=remoting-incoming-interceptors,value=["ch.puzzle.messaging.AddUniqueIdInterceptor"])
<hornetq-server>
...
<remoting-incoming-interceptors>
<class-name>ch.puzzle.messaging.AddUniqueIdInterceptor</class-name>
</remoting-incoming-interceptors>
...
</hornetq-server>
<logger category="ch.puzzle.messaging.AddUniqueIdInterceptor">
<level name="FINER"/>
</logger>