Жизненный цикл MULE — как подключиться к процессу запуска

StackOverflow https://stackoverflow.com/questions/1269903

  •  13-09-2019
  •  | 
  •  

Вопрос

Я хотел бы иметь возможность создавать несколько каталогов после запуска Mule, но до того, как он запустит какие-либо другие службы.

Я начал просматривать уведомления, но не уверен, что это подходящее место для этого.Мне понадобится доступ к Spring bean-компонентам, поэтому это должно быть после Spring Init, но до того, как начнутся какие-либо соединители и другие процессы.

http://www.mulesource.org/display/MULE2USER/Mule+Server+Notifications

Спасибо.

Это было полезно?

Решение

В жизненном цикле мула имеется несколько доступных интерфейсов, которые можно использовать для достижения этой цели.

http://www.mulesource.org/docs/site/2.2.1/apidocs/org/mule/api/lifecycle/Startable.html

.../Initialisable.html

По сути, насколько я понимаю, если вы хотите, чтобы что-то произошло при запуске вашего экземпляра мула, вы должны реализовать startable.Если вы хотите, чтобы что-то происходило при инициализации определенного компонента мула, вам следует реализовать инициализируемый.

Другие советы

Очень изящный способ сделать это — создать свой собственный агент, реализовав UMOAgent.

<!-- Enable Agents for Mule -->
<agents>
    <!-- The MyAgent provides a convenient place to perform one off actions at startup/shutdown -->
    <agent name="MyAgent" className="com.xxx.base.util.MyAgent" />

...

У агентов есть методы start и Stop, которые вызывает Mule, и ваш класс реализации может затем добавить любой код, который вы хотите.

См. ссылку для получения дополнительной информации.http://www.mulesoft.org/documentation/display/MULE2USER/Mule+Agents

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top