У меня есть класс java, который создает чистую базу данных MongoDB с посеянными коллекциями. Он автоматически определяет отсутствие базы данных и ее создание. Я хотел бы запустить это, когда запустил MuleEsb. Таким образом, мне не нужно забывать призывать его, прежде чем я начну мул. Я надеялся поместить его в поток и запустить этот поток один раз, автоматически, когда мул запускается.Как запустить поток один раз, автоматически при запуске мула?
Есть ли способ сделать это одноразовую операцию при запуске мула?
--- Update ---
По разговору ниже я добавил следующее в мой мул конфигурации и поток запускается автоматически.
<quartz:connector name="Quartz" validateConnections="true"/>
<flow name="testService1">
<quartz:inbound-endpoint name="runOnce" repeatCount="0" repeatInterval="1" jobName="job1" connector-ref="Quartz">
<quartz:event-generator-job>
<quartz:payload>foo</quartz:payload>
</quartz:event-generator-job>
</quartz:inbound-endpoint>
<logger message="INBOUND HEADERS = #[headers:inbound:*]" level="WARN"/>
</flow>
Ниццы ответ! Спасибо. Если я создаю входную конечную точку кварца, не нужно ли мне также указывать исходящую конечную точку? – TERACytE
Нет, вы этого не сделаете, в вашем потоке будет только один входящий конец кварца. –
Поскольку я использую v3.2.1, конструктор DefaultMuleMessage() не имеет опции FlowConstruct. Плюс я думаю, что решение кварца немного чище, так как кажется, что я могу поставить кварц: входящий-конечный пункт внутри потока, который я хочу автоматически запустить. Однако я не знаком с управлением потоком через кварц. Есть ли примеры этого? – TERACytE