使用带有弹簧引导的Axon Framework时发生AXONIQ 4002错误



我正在从我的rest控制器调用CommandGateway.send方法,但控件没有进入Aggregate类,5分钟后将出现500内部服务器错误。当我调试应用程序时,我发现以下错误是由Axon->

AxonServerRemoteCommandHandlingException{message=远程消息处理组件引发异常:,errorCode='XONIQ-4002',server=''}

以下是我的Java文件:

Rest控制器->

@RestController
@RequestMapping("/product")
public class ProductController {
@Autowired
private CommandGateway gateway;
@PostMapping
public ResponseEntity createProduct(@RequestBody CreateProductModel model) {

CreateProductCommand command=CreateProductCommand.builder()
.price("$123")
.productId(UUID.randomUUID().toString())
.product("Shoe")
.build();

String s=gateway.sendAndWait(command);

return new ResponseEntity<String>(HttpStatus.CREATED);
}

ProductCreatedEvent对象->

import lombok.Data;
@Data
public class ProductCreatedEvent {
@TargetAggregateIdentifier
private  String productId;
private  String product;
private  String price ;

}

命令类CreateProductCommand->

@Builder
@Data
public class CreateProductCommand {
@TargetAggregateIdentifier
private final String productId;
private final String product;
private final String price ;

}

聚合类->

@Aggregate
public class ProductAggregate {
@AggregateIdentifier
private  String productId;
private  String product;
private  String price ;
public ProductAggregate() {

}
@CommandHandler
public ProductAggregate(CreateProductCommand command) {
//TODO: Validation logic can be handled here
ProductCreatedEvent event=new ProductCreatedEvent();

BeanUtils.copyProperties(command, event);
AggregateLifecycle.apply(event);
}
@EventSourcingHandler
public void on(ProductCreatedEvent event) {
this.price=event.getPrice();
this.productId=event.getProductId();
this.product=event.getProduct();

}
}

此外,我正在使用以下轴突弹簧启动:

<dependency>
<groupId>org.axonframework</groupId>
<artifactId>axon-spring-boot-starter</artifactId>
<version>4.4.7</version>
</dependency>

此问题已解决。我不得不从下面的axon spring-starter 中排除axon服务器连接器依赖性

<dependency>
<groupId>org.axonframework</groupId>
<artifactId>axon-spring-boot-starter</artifactId>
<version>4.0.3</version>
<exclusions>
<exclusion>
<groupId>org.axonframework</groupId>
<artifactId>axon-server-connector</artifactId>
</exclusion>
</exclusions>
</dependency>

最新更新