Java org.springframework.beans.factory.unsatifiedDependencyException:创建名为';commandGateway';在类路径资源中定义

Java org.springframework.beans.factory.unsatifiedDependencyException:创建名为';commandGateway';在类路径资源中定义,java,spring-boot,axon,Java,Spring Boot,Axon,我正在将现有的axon core:3.3.6升级到4.0.4,在构建应用程序时遇到了这个问题,我该如何解决 例外情况如下: 通过构造函数参数0表示的未满足依赖关系; 嵌套异常是 org.springframework.beans.factory.unsatifiedDependencyException: 创建类路径中定义了名为“commandGateway”的bean时出错 资源 [org/axonframework/springboot/autoconfig/AxonAutoConfigur

我正在将现有的axon core:3.3.6升级到4.0.4,在构建应用程序时遇到了这个问题,我该如何解决

例外情况如下:

通过构造函数参数0表示的未满足依赖关系; 嵌套异常是 org.springframework.beans.factory.unsatifiedDependencyException: 创建类路径中定义了名为“commandGateway”的bean时出错 资源 [org/axonframework/springboot/autoconfig/AxonAutoConfiguration.class]: 通过方法“commandGateway”表示的未满足的依赖关系 参数0;嵌套异常是 org.springframework.beans.factory.NoniqueBeandDefinitionException:否 “org.axonframework.commandhandling.CommandBus”类型的限定bean 可用:在候选对象中找到多个“主要”bean: [commandBus,distributedCommandBus]


共享例外提到:

在候选项中找到多个“主要”bean:[commandBus, 分布式命令总线]

这可能意味着您的
CommandBus
bean带有
@Primary
注释。如果是这样,您可以删除该注释,因为
DistributedCommandBus
实例应该只充当主实例

如果不是这样,您可以通过显式配置
CommandGateway
来解决问题。这样,您就可以覆盖Axon的自动配置,这显然很难解决要使用的“命令总线”。您希望构造的类是
DefaultCommandGateway
,它引用了充当网关的
CommandBus
。您可能需要注入
DistributedCommandBus


最后一句话,Axon已经发展到4.5版。在这一过程中,已经做出了许多值得改进的地方。您遇到的一些自动配置问题也不太可能在某些中间版本中得到解决。

共享异常提到:

在候选项中找到多个“主要”bean:[commandBus, 分布式命令总线]

这可能意味着您的
CommandBus
bean带有
@Primary
注释。如果是这样,您可以删除该注释,因为
DistributedCommandBus
实例应该只充当主实例

如果不是这样,您可以通过显式配置
CommandGateway
来解决问题。这样,您就可以覆盖Axon的自动配置,这显然很难解决要使用的“命令总线”。您希望构造的类是
DefaultCommandGateway
,它引用了充当网关的
CommandBus
。您可能需要注入
DistributedCommandBus


最后一句话,Axon已经发展到4.5版。在这一过程中,已经做出了许多值得改进的地方。您遇到的一些自动配置问题也不太可能在某些中间版本中得到解决。

这是否回答了您的问题?很抱歉,这在这里不起作用,它与axon commandbus有关,但您共享的链接是用于数据库的。我不确定这是否适合这里的答案。没问题,我发现在候选人中发现了“不止一个”primary“bean”错误,所以我试着认为可能是因为这个错误。希望你能尽快找到答案。这个答案能回答你的问题吗?很抱歉,这在这里不起作用,它与axon commandbus有关,但您共享的链接是用于数据库的。我不确定这是否适合这里的答案。没问题,我发现在候选人中发现了“不止一个”primary“bean”错误,所以我试着认为可能是因为这个错误。希望你能很快找到答案