Использование заданий Quartz с компонентом, управляемым сообщениями

#java #wildfly #java-ee-6 #message-driven-bean #quartz

#java #Wildfly #java-ee-6 #Компонент, управляемый сообщениями #Quartz

Вопрос:

Я работаю над переносом проекта с Jboss AS6 на Wildfly 18, и у меня возникли некоторые проблемы с бином, управляемым сообщениями. Я попытался следовать приведенному здесь примеру: http://www.mastertheboss.com/jboss-frameworks/jboss-quartz/quartz-2-tutorial-on-jboss-as-7 . Я добавил зависимости quartz в свой pom и убедился, что у меня определен адаптер ресурсов. Однако, когда я пытаюсь фактически развернуть свое приложение, оно завершается ошибкой:

 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 1) WFLYCTL0013: Operation ("add") failed
- address: ([("deployment" => "Product.ear")]) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => [
        "jboss.ra."jboss.ra.quartz-ra"",
        "jboss.ra.quartz-ra"
    ],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => [
        "jboss.deployment.subunit."Product.ear"."Product-ejb.jar".component.UpdateReleasePlansMDB.CREATE is missing [jboss.ra."jboss.ra.quartz-ra"]",
        "jboss.deployment.subunit."Product.ear"."Product-ejb.jar".component.ImageUploadMDB.CREATE is missing [jboss.ra.quartz-ra]"
    ] }
 

Я не совсем уверен, что я здесь делаю не так, и, похоже, я не могу найти какую-либо недавнюю документацию по этому вопросу. Любая помощь будет принята с благодарностью.

Мой MDB-код:

 @MessageDriven(name = "UpdateReleasePlansMDB", messageListenerInterface = org.quartz.Job.class,
    activationConfig = {@ActivationConfigProperty(propertyName = "cronTrigger", propertyValue = "0 0 6 ? * MON")})
@ResourceAdapter("quartz-ra.rar")
@TransactionManagement(TransactionManagementType.BEAN)
public class UpdateReleasePlansMDB implements Job
{
    public UpdateReleasePlansMDB()
    {
        super();
    }

    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException
    {
        //do something here
    }
}
 

pom.xml:

 <dependencies>
       <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.3.0</version>
      </dependency>
      <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz-jobs</artifactId>
        <version>2.3.0</version>
      </dependency>
</dependencies>