Estoy utilizando
Java 19 Spring Boot: 2.7.5 Axon Framework: 4.6.2 Axon Server: 4.6.7
Al momento de enviar un post para registrar un usuario; veo que ingresa hasta la capa de servicio y al intentar publicar el evento en el Axon Server (Event Store) con el comando: “commandGateway.sendAndWait”(objeto) salta inmediantamente el siguiente error:
Clase de la capa de servicio que publica mediante el comando: commandGateway.sendAndWait en Axon Server
@Component
public class UsuarioApplicationService {
private final CommandGateway commandGateway;
private final RegisterUsuarioValidator registerUsuarioValidator;
private final EditUsuarioValidator editUsuarioValidator;
public UsuarioApplicationService(CommandGateway commandGateway, RegisterUsuarioValidator registerUsuarioValidator, EditUsuarioValidator editUsuarioValidator) {
this.commandGateway = commandGateway;
this.registerUsuarioValidator = registerUsuarioValidator;
this.editUsuarioValidator = editUsuarioValidator;
}
public Result<RegisterUsuarioResponse, Notification> register(RegisterUsuarioRequest request) throws Exception {
String usuarioId = UUID.randomUUID().toString();
String createdBy = UUID.randomUUID().toString();
RegisterUsuario command = new RegisterUsuario(
usuarioId,
request.getNombre().trim(),
request.getClave().trim(),
createdBy
);
Notification notification = this.registerUsuarioValidator.validate(command);
if (notification.hasErrors()) return Result.failure(notification);
commandGateway.sendAndWait(command); //Aquí se cae (esta línea publica el evento en Axon Server)
RegisterUsuarioResponse registerUsuarioResponse = new RegisterUsuarioResponse(
command.getId(),
command.getNombre(),
command.getClave()
);
return Result.success(registerUsuarioResponse);
}
Clase RegisterUsuario
package com.app.inventario.message.commands;
import lombok.Value;
import org.axonframework.modelling.command.TargetAggregateIdentifier;
import java.time.LocalDateTime;
@Value
public class RegisterUsuario {
@TargetAggregateIdentifier
private String id;
private String nombre;
private String clave;
private String createdBy;
}
Luego de pasar la línea que contiene el comando mencionado; salta el siguiente error:
Exception in thread “CommandProcessor-0” com.thoughtworks.xstream.security.ForbiddenClassException: com.app.inventario.message.commands.RegisterUsuario