当前位置: 首页 > 知识库问答 >
问题:

JBoss Wildfly中EJB的错误依赖关系

白烨煜
2023-03-14

我编写了一个TimerHelper类,它可以接收来自其他类的调用并尝试执行它们。如果发生异常,它将等待一段时间并重试。因此,其他类可以导出必须完成的任务,但不是目前必须完成的任务。

@Startup
@Singleton
public class TimerHelper{
private static final Logger LOGGER = Logger.getLogger(TimerHelper.class.getName());

private Callable<Void> task;
private int failureCounter = 0;

public TimerHelper(){

}

@Resource
private ManagedExecutorService executorService;
@Resource
private TimerService timerService;

public void setNewTimer(Callable<Void> task){
this.task = task;

timerService.createIntervalTimer(0, 5000, new TimerConfig());
}

@Timeout
public void timerMethod(Timer timer) {
    if(failureCounter <10){

        try{
            Future<Void> future = executorService.submit(task);
            future.get();       
            LOGGER.log(Level.INFO, "Did something");
            failureCounter =0;
            timer.cancel();
            }catch(Exception e){
                failureCounter++;
                LOGGER.log(Level.WARNING, "Errored while doing something, will try again");
            }

    }else{
        timer.cancel();
        LOGGER.log(Level.SEVERE, "Tried to add something to Database several times, but failed. Please check the OpenRDF-Database");

    }


}

}

14:56:19,125错误[org.jboss.MSC.service.fail](MSC服务线程1-7)MSC000001:未能启动服务jboss.deployment.unit.“usermanagement.war”.PARSE:org.jboss.deployment.unit.“usermanagement.MSC.service.serviceController.startException.”usermanagement.war“.PARSE:wflysrv0153:未能处理在org.jboss.as.server.deployment.deploymentunitphaseService.start Impl$startTask.startService(ServiceControllerImpl.java:1948)在org.jboss.MSC.service.ServiceControllerImpl.run(ServiceControllerImpl.java:1881)在java.util.concurrent.ThreadPoolExecutor.runworker(ThreadPoolExecutor.java:1142)在java.util.concurrent.ThreadPoolExecutor.worker.run(ThreadPoolExecutor.javer.java.lang.thread.run模块位于org.jboss.as.ee.component.eemoduleDescription.addComponent(EemoduleDescription.java:162)在org.jboss.as.ejb3.deployment.processors.ejb3.deployment.processors.ejb3.deployment.processors.ejbComponentDescriptionFactory.addComponent(EjbComponentDescriptionFactory.java:58)在org.jboss.as.ejb3.deployment.processors.sessionBeanDescriptionFactory.java:58)在org.jboss.as.ejb3.deployment.processors.annotatedEJBComponentDescriptionDeploymentUnitProcessor.processAnnotations(annotatedEJBComponentDescriptionDeploymentDeploymentUnitProcessor.java:57)在

14:56:19,126错误[org.jboss.as.controller.management-Operation](management-handler-thread-38)WflyCTL0013:Operation(“Deploy”)失败-地址:([(“deployment”=>“usermanagement.war”)])-失败描述:{“wflyCTL0080:failed services”=>{“jboss.deployment.unit.\”usermanagement.war\“.PARSE”=>“org.jbosment.unit.\”A.lang.IllegalArgumentException:Wflyee0040:此模块中已定义了名为'TimerHelper'的组件“}}14:56:19,126 ERROR[org.jboss.as.server](management-handler-thread-38)Wflysrv0021:部署的部署”usermanagement.war“回滚了以下失败消息:{”wflyCTL0080:failed Services“=>{”jboss.deployment.unit.\“usermanagement.war\”.PARSE“=>”153:无法处理部署\“usermanagement.war\”的阶段解析,原因是:java.lang.IllegalArgumentException:WFlyee0040:此模块“}}中已定义了名为”TimerHelper“的组件

我很确定这是因为“@singleton”注释,但我不知道如何解决这个问题。也许这也是因为usermanagement依赖于“API”和“AAA”,而“AAA”也依赖于“API”?!

共有1个答案

郑光济
2023-03-14

你解决这个了吗?在我的例子中,执行服务器清理似乎有所帮助(在eclipse中,在服务器上按右键并按“Clean”),然后选择Full Publish。

干杯内科斯

 类似资料:
  • 有人能帮我理解一下“假性依赖”是什么意思吗? 我的教授刚刚在这张幻灯片中解释了为什么我们不能在命令1之前运行命令3,但为什么后来他称之为“假”?

  • 问题内容: 我有一个依赖关系如下: 当我部署一切正常时,这将拉下另一个引发ClassDefNotFound的依赖项。 我添加了两个依赖项,如下所示: 并且仍然面临着同样的问题,即:MVN带来下来不 我该如何解决? 编辑: 添加; 问题答案: 您可能有一个传递依赖项,另一个依赖项取决于您不需要的版本。 要获得所有直接和传递依赖关系的概述,请尝试: mvn依赖项:树 如果您发现同一依赖项的不同版本之间

  • [错误]无法解析插件org.apache.cxf:cxf-java2ws-plugin:2.4.3-fuse-01-02或其依赖项之一:未能读取org.apache.cxf:cxf-java2ws-plugin:jar:2.4.3-fuse-01-02:无法在central(http://repo.maven.apache.org/maven2)中找到org.apache.cxf:cxf-java

  • 我确实尝试了以下建议的步骤,但没有成功。我甚至在StackOverflow和github中尝试卸载nodejs和重新安装以及许多其他建议。有人能帮帮我吗? 项目依赖关系树可能有问题。这可能不是CreateReact应用程序中的错误,而是您需要在本地修复的错误。 创建反应应用程序提供的反应脚本包需要一个依赖项:"Babel-eslint":"^10.1.0" 不要尝试手动安装:您的软件包管理器会自动

  • 我有一个类似于 B项目依赖于A项目 项目B的settings.gradle和build.gradle如下所示 格雷德尔酒店 格雷德尔先生 当我尝试在本地机器(Gradle版本3.2)上构建项目B时,它成功构建,一切看起来都很好。 当我尝试在jenkins中构建相同的项目(与我的本地版本相同的gradle版本)时,我得到了错误 它看起来像詹金斯,它是无法计算出相对路径。 我该怎么解决这个问题? 在j