Планирование задач JBoss: передать аргумент методу - PullRequest
2 голосов
/ 14 июля 2010

Я пытаюсь заставить планировщик работать в JBoss как 5.

Пока что я создал свой собственный MBean (он работает) и я создал свой планировщик так:

<mbean code="org.jboss.varia.scheduler.Scheduler"
          name=":service=Scheduler,name=SchedulableMBeanExample">
  <depends>user:service=Print</depends>
  <attribute name="StartAtStartup">true</attribute>
  <attribute name="SchedulableMBean">user:service=Print</attribute>
  <attribute name="SchedulableMBeanMethod">print(java.lang.String)</attribute>
  <attribute name="InitialStartDate">NOW</attribute>
  <attribute name="SchedulePeriod">10000</attribute>
  <attribute name="InitialRepetitions">10</attribute>
  <attribute name="FixedRate">true</attribute></mbean>

Это работает, но главный вопрос - как мне указать строку, которую я хочу передать в качестве аргумента моему методу?

Я искал, но единственное, что я нашел, это атрибут: "SchedulableArguments", но он работает только для конструктора.

Спасибо за вашу помощь, ребята.

Laurent.

Ответы [ 2 ]

0 голосов
/ 16 июля 2010

Ты на полпути;у вас есть правильный атрибут - SchedulableMBeanMethod - который позволяет получить список параметров, но только определенные.Согласно руководству jboss 4 ваши параметры могут быть следующими:

  • УВЕДОМЛЕНИЕ, которое будет заменено экземпляром уведомления о таймерах (javax.management.Notification)

  • ДАТА, которая будет заменена датой вызова уведомления (java.util.Date)

  • ПОВТОР, который будет заменен числомоставшиеся повторения (длинные)

  • SCHEDULER_NAME, которое будет заменено ObjectName планировщика

  • Любое полное имя класса, которое установит планировщикк нулю.

    Если вам нужно передать что-то еще, я думаю, что вам лучше всего добавить метод в mbean, чтобы просто вычислить и передать параметры в вашу рабочую функцию.

Предполагая, что вы хотите напечатать текущую дату, вы можете установить:

  <attribute name="SchedulableMBeanMethod">scheduledPrint(DATE)</attribute>

И определить scheduledPrint для форматирования строки даты и вызова метода print.

0 голосов
/ 15 июля 2010

После установки MBean в JBoss вы можете настроить параметры MBean с помощью JBoss jmx-console веб-интерфейса для настройки JBoss.

См. Эту статью в вики JBoss: ExampleHelloWorldService

...