Автоматический запуск процесса Spring

#java #spring #spring-integration

#java #spring #spring-интеграция

Вопрос:

У меня есть вопрос spring, который может быть общим для spring, но он более специфичен для опроса Spring Integration.

По сути, когда я запускаю приложение, я хочу, чтобы была загружена вся конфигурация spring, чтобы я мог быстро получать любые ошибки / сбои, а не когда кто-то пытается выполнить первый вызов определенного компонента и т. Д. Отчасти это связано с тем, что мой опросник spring Integration начинает опрашивать сразу при запуске приложения, а не сразу после публикации сообщения и т. Д. (Поскольку могут быть повторные попытки старых сообщений и т. Д.)

Я искал и видел упоминания об использовании «BeanFactory» против «ApplicationContext», но эти примеры, похоже, всегда зависят от кода при инициализации, однако мое приложение определено в конфигурации xml web.xml насколько я знаю.

Я упускаю что-то действительно очевидное здесь? или кто-нибудь может направить меня в правильном направлении, пожалуйста?

Мой сервлет определяется, как показано ниже, на случай, если это поможет:

 <servlet>
    <servlet-name>myservletname</servlet-name>
    <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:/context.xml</param-value>
    </init-param>   
</servlet>
 

Заранее спасибо

Ответ №1:

Я думаю, что я уже разобрался с этим.

Кажется, что, предоставляя следующее в моем элементе сервлета, он, похоже, ведет себя так, как я ожидал

 <load-on-startup>1</load-on-startup>
 

Теперь это так:

 <servlet>
    <servlet-name>myservletname</servlet-name>        
    <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:/context.xml</param-value>
    </init-param>   
    <load-on-startup>1</load-on-startup>
</servlet>
 

Ответ №2:

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