2015-06-10 3 views
0

Как фоновый процесс, который использует ScheduledExecutorService, вызывается из вызова сервлета?Запуск ScheduledExecutorService из сервлета с набором параметров

Мне нужно передать некоторые параметры для метода runnable.

В настоящее время я использую следующий код для того, чтобы начать выполнение.

executor = Executors.newSingleThreadScheduledExecutor(); 
executor.scheduleAtFixedRate(new RefreshTask(), 0, 1, TimeUnit.SECONDS); 

Что мне нужно знать,

  1. Как я могу запустить метод вручную с помощью вызова сервлета.
  2. Как пройти по некоторым параметрам (URL-адрес) в RefreshTask() метод

Аналогичный вопрос здесь был задан вопрос: https://stackoverflow.com/a/25245786/3156644 Но это не ясно, как я должен идти о инъекционного ресурсов или начать процесс.

Кроме того, я использую встроенный сервер Jetty для этого проекта.

ответ

-1

Вам понадобится каркас для инъекций в вашем проекте.

Вы должны посмотреть на CDI, который является частью платформы JavaEE. Или, если вы знакомы с ним, вы можете использовать Spring, но я бы рекомендовал стандарт CDI.

Weld (weld.cdi-spec.org) является эталонной реализацией для CDI, поэтому я хотел бы предложить вам начать с этого и посмотреть на части учебника JavaEE, которые говорят о КДИ here

+0

Will CDI работать с причалом? Если нет, воспользовался бы другой картой DI, такой как Guice work? – nipuna777

+0

Вы должны быть в состоянии получить Weld, работающий с причалом, используя следующий http://www.eclipse.org/jetty/documentation/current/framework-weld.html. Возможно, вам удастся воспользоваться приложением Guice для инъекций исполнителям, но Я менее знаком с узором. – redge

Смежные вопросы