使用带 spring 启动的 Axon Framework 时出现 AXONIQ-4002 错误
AXONIQ-4002 error while using Axon Framework with spring boot
我正在从我的休息控制器调用 CommandGateway.send 方法,但控件没有进入聚合 class 并且在 5 分钟后出现 500 内部服务器错误。
当我调试应用程序时,我发现 Axon ->
引发了以下错误
AxonServerRemoteCommandHandlingException{message=远程消息处理组件抛出异常:,errorCode='AXONIQ-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("3")
.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 ;
}
命令classCreateProductCommand ->
@Builder
@Data
public class CreateProductCommand {
@TargetAggregateIdentifier
private final String productId;
private final String product;
private final String price ;
}
聚合 class ->
@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();
}
}
我也在使用下面的轴突 spring 启动器:
<dependency>
<groupId>org.axonframework</groupId>
<artifactId>axon-spring-boot-starter</artifactId>
<version>4.4.7</version>
</dependency>
已解决。
我不得不从下面的 axon-spring starter
中排除 axon-server-connector 依赖项
<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>
我正在从我的休息控制器调用 CommandGateway.send 方法,但控件没有进入聚合 class 并且在 5 分钟后出现 500 内部服务器错误。 当我调试应用程序时,我发现 Axon ->
引发了以下错误AxonServerRemoteCommandHandlingException{message=远程消息处理组件抛出异常:,errorCode='AXONIQ-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("3")
.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 ;
}
命令classCreateProductCommand ->
@Builder
@Data
public class CreateProductCommand {
@TargetAggregateIdentifier
private final String productId;
private final String product;
private final String price ;
}
聚合 class ->
@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();
}
}
我也在使用下面的轴突 spring 启动器:
<dependency>
<groupId>org.axonframework</groupId>
<artifactId>axon-spring-boot-starter</artifactId>
<version>4.4.7</version>
</dependency>
已解决。 我不得不从下面的 axon-spring starter
中排除 axon-server-connector 依赖项 <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>