2011-02-02 3 views
0

Я использую Jboss5.1.x, EJB3.0Как кварц начнет составлять EJB без гражданства?

Я сейчас на эту тему в течение нескольких дней. Я слышал, что это будет легко, но, похоже, это или отсутствие документов, или мне было трудно получить некоторые вещи.

Мой сценарий должен иметь запланированную задачу, которая будет срабатывать при первом развертывании моего проекта сервера приложений в jboss, а затем я хочу, чтобы мой процесс повторно выполнялся каждые X раз.

Я, наконец, удался добавить кварцевый MBean в JBoss-service.xml

но:

  1. как я запустить его после развертывания сервера автоматически? Я видел, что должен сделать это через сервлет? так как я могу запустить сервлет при развертывании проекта? Не могу я запустить его без сервлета и сделать это прямо на EJB bean?

  2. после того, как он был триггером, я хочу вызвать метод триггера для фаната EJB без состояния.

я хотел бы сценарий, чтобы быть что-то вроде этого:

(приложение Deploy -> Кварц -> EJB боб -> ..) insteadof (приложение Deploy -> Кварц ->сервлета -> EJB bean)

как бы я это сделал? это код, который я нашел:

, кажется, что этим кодом это вызывает только Pojo в («NewJob.class»). и я хочу запустить EJB без фанов.

У кого-нибудь есть ответы? пожалуйста .. худший случай, я переключусь с Кварца на что-то еще.

спасибо, луч.

ответ

1

Я не совсем понимаю ваш вопрос - вернее, я предполагаю, что здесь есть несколько вопросов, но я не совсем понимаю его, поскольку вы, кажется, используете слово «триггер», (кварцевый термин) более чем одним способом.

Во всяком случае, есть один из ваших вопросов, который я могу четко понять и ответить, и вот как заставить кварц вызывать метод на вашем EJB. Просто напишите класс Job, который содержит код в методе execute(), который знает, как искать и вызывать этот EJB. Затем планировщик и экземпляр этого задания, и всякий раз, когда он срабатывает, он будет вызывать EJB. Кварц действительно поставляется с EJBInvokerJob, который делает именно это, поэтому вы можете использовать его без изменений или, возможно, захотите использовать его исходный код в качестве отправной точки. (Обратите внимание, что Quartz поставляется с вызовом EJB v.2 beans. Однако для вызова EJB3 beans существует класс, который вы можете скачать здесь: http://jira.opensymphony.com/browse/QUARTZ-732)

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

+0

Привет, спасибо за ваш ответ, проверьте свою ссылку, но не упоминается, как вы определяете время работы? где вы устанавливаете crontab или все, что вам нужно, чтобы установить время запуска? – rayman

+0

, пожалуйста, посмотрите примеры, которые поставляются с кварцем и/или учебником на веб-сайте кварца. Это действительно не сложно. http://www.quartz-scheduler.org/docs – jhouse

+0

вы дали мне url, который не работает – rayman

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