Я рассматриваю, что вы должны использовать какой-либо сервер приложений, такой как JBoss или WebLogic.
Я хотел бы предложить написать Service MBean, который будет загружать запланированные задания с использованием кварцевых
Преимущества использования Service MBean, вы можете выставить действия. Вызывая эти действия, вы должны быть в состоянии остановить запуск задания.
Преимущество QuartZ - это очень надёжно. Вы сможете управлять отдельными работами.
Поймать здесь будет только один экземпляр планировщика (объекта) под вашим сервисом MBean. Поэтому, если вы остановите планировщик, вы остановите все задания.
Вы можете создать отдельную категорию регистратора для работы с работой Кварц
Просьба предоставить некоторые дополнительные материалы, как которые сервер приложений, которые вы используете. Различные серверы приложений имеют различные функции, которые могут быть полезны. Хотя вы должны быть в состоянии реализовать все свои идеи в любой из них
У меня есть подобное приложение, работающее на JBoss AS7, каждая работа является нитью по своей собственной В выполнения логики Иова, я
Thread.currentThread().setName(UNIQUE_NAME_TIMESTAMP);
таким образом я могу отметить выполнение конкретного задания за цикл.
кварц. Я не могу найти простой способ объединить требования № 2 и 3. С кварцем я могу управлять своими работами в режиме реального времени или создавать хорошую сборку компакт-дисков для работы. Не вместе. Может быть, я что-то пропустил?
Вам действительно нужен сервер приложений, такой как JBoss. который может предоставить вам стабильный веб-контейнер, полностью сертифицирован по Java EE, упрощает интеграцию с API.
---- == ---- == --- == ---- == --- == ---- == --- == ---- = = --- == ---- == --- == ---- == ----
Надеюсь, вы знаете, как писать SAR. Если не все еще, это очень легко. Мне нравится JBoss, поскольку его концепция проста, проста в использовании и очень сильная Application Server.
Вы можете проверить этот конкретный учебник блог, чтобы понять, как написать сервис MBean http://middlewaremagic.com/jboss/?p=366
Давайте поговорим о MyServerMonitorMBean
package custom.mbean;
public interface MyServerMonitorMBean
{
public void setFrequency(String frequency);
public String getFrequency();
}
, как вы заметили, есть метод деклараций, которые необходимо реализовать реализация MBean.
В архитектуре Java EE это означает, что вы фактически подвергаете действия. Действия, которые можно вызвать извне, чтобы вызвать некоторые команды. Теперь эта концепция имеет только те методы, которые были объявлены в интерфейсе MBean.
Затем вы можете подключиться к JBoss JMXconsole через jconsole. Вы можете проверить, что здесь
https://community.jboss.org/wiki/UsingJconsoleToConnectToJMXOnAS7
---- == ---- == --- == ---- == --- == ---- == --- == ---- == --- == ---- == --- == ---- == ----
--1 - Это откроет соединение, которое позволит вам просматривать запущенные MBeans по серверу (это будет вкладка MBean на JConsole после подключения)
- 2-- ваш mbean будет service.server.монитор (название взято из предыдущего примера)
--3-- вы найдете действия отображаются как операции
--4-- если вы объявили методы, чтобы иметь какие-то аргументы, которые вы будете видеть, что есть индивидуальный держатель значения для тех аргументов методы, которые можно передать в службу
--5-- в моем коде я разоблачил JobStart и jobStop в два действий
@Override
public void jobStart() {
this.loadJob(SchedHourlyJob.class, "hourlyjob", "grouphourly", START_INTERVAL, EXECUTION_INTERVAL);
}
@Override
public void jobStop() {
logger.info("-- jobStop. Stopping Scheduled Job");
try {
scheduler.deleteJob(new JobKey("hourlyjob", "grouphourly"));
} catch (SchedulerException schedEx) {
logger.error("Failed to stop scheduled job. Exception message and stacktrace ==> " ,schedEx);
}
}
--6-- Выполните аналогичные действия, чтобы начать остановку или изменить индивидуальное задание или полный планировщик.
- 7-- Вы также сможете приостановить работу, вызвав некоторые изменения и запустив ее обратно. Все эти манипуляции делают Кварц таким приятным API для планирования работы
--8-- В JBoss возможно быстрое развертывание. Вы можете иметь приложение в нескольких sar, которые будут совместно использовать общие библиотеки. Вы можете протестировать эти функции JBoss. Я понимаю, что горячее развертывание - это то, на что вы будете сосредоточены.
Надеюсь, со всем этим я объяснил логику довольно хорошо. Также это один из способов справиться с этим, вы можете придумать что-то свое.
Помните, что реализация - это ваш способ справиться с этим требованием.
И только теперь я подумал, что создание имени класса, имени задания может стать очень общим способом остановки или приостановки заданий из общего класса (Service MBean). Как я сказал ранее, все идеи должны быть проверены. Поэтому я рассматриваю вопрос о том, получится ли это, вы могли бы найти хорошее решение.
И еще раз подумав, вы даже можете реализовать вызов действий JMS, написать класс модели, сформировать его объект и отправить это на ваш сервер. Но опять же вы всегда можете создать способ остановить свою работу.
Пожалуйста, укажите сервер приложений или веб-контейнер, в котором вы используете – Acewin
Я советую вам tloslite, который может ответить на первые два из ваших вопросов. – serkan