Задача [INT1]: Возможность установки стороннего listener-а для процессов определённых типов

Формулировка проблемы: необходима ещё одна возможность создания интеграционных модулей, способная напрямую влиять на поведение процессов Synergy определённых типов.

Решение: необходимо реализовать возможность устанавливать обработчик (handler) для процессов:

Обработчик представляет собой Java-класс, видимый из EAR-приложения Synergy (например, он может быть оформлен в виде jar-библиотеки и помещён в Synergy.ear/lib). Экземпляр этого класса создаётся для каждого запущенного процесса указанного типа и выполняется в первом этапе этого процесса. Обработчик:

Установка обработчика для процесса осуществляется с помощью конфигурационного файла ${jboss.server.config.dir}/arta/process-handlers-configuration.xml, имеющего следующий формат:

   <?xml version="1.0" encoding="UTF-8"?> 
   <process-handlers-configuration 
    xmlns="http://www.arta.kz/xml/ns/ai" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.arta.kz/xml/ns/arta 
    http://www.arta.kz/xml/ns/ai/process-handlers-configuration.xsd"> 
    <handlers> 
        <handler> 
            <process>agreement-single</process> 
            <handler-providers>kz.arta.ext.Trk</handler-providers> 
        </handler> 
    </handlers> 
   </process-handlers-configuration>

Процесс одного типа может быть указан в конфигурации только один раз (только одна секция handler с каким-либо process-ом). На каждый процесс может быть указано несколько классов обработчиков (handler-providers) (через пробел) — они будут выполнены в указанном порядке.

В рамках данной задачи также необходимо составить документ — инструкцию по написанию такого обработчика (handler-а).