Как создать абстрактный агрегатный элемент

#kotlin #axon-framework

Вопрос:

Таким образом, у меня есть совокупность, которая отвечает за управление сетевой информацией. Эта сетевая совокупность имеет несколько типов сетевых экс. (Хозяин, Вглядываясь). Поэтому я хочу создать абстрактный класс для управления, потому что у него есть разные методы управления для каждого типа сети. Например, у хост-сети должен быть метод allocateIp/releaseIp, но у пиринговой сети должен быть метод connectClient.

 @Aggregate class NetworkPoolAggregate() {   @AggregateIdentifier  private lateinit var networkPoolId: String   @AggregateMember(forwardCommands = true)  private lateinit var management: INetworkPoolManagement }  abstract class INetworkPoolManagement { }  // there're some network type that has this kind of behavior // so I also want to use strategy pattern interface IAddressManagement {  fun handle(command: AllocateNetworkPoolIpCommand): String  fun handle(command: ReleaseNetworkPoolIpCommand): String }  interface IPeeringManagement {  fun handle(command: ConnectClientCommand): String }  class HostNetworkPoolManagement: INetworkPoolManagement(), IAddressManagement {   @CommandHandler  override fun handle(command: AllocateNetworkPoolIpCommand): String {  AggregateLifecycle.apply(command.toNetworkPoolIpAllocated())  return "test"  }   @CommandHandler  override fun handle(command: ReleaseNetworkPoolIpCommand): String {  AggregateLifecycle.apply(command.toNetworkPoolIpReleased())  return "test"  } }  class PeeringNetworkPoolManagement: INetworkPoolManagement(), IPeeringManagement {  @CommandHandler  override fun handle(command: ConnectClientCommand): String {  AggregateLifecycle.apply(command.toClientConnected())  return "test"  } }  

Проблема в том, что при отправке команды возникает это исключение.

 org.axonframework.commandhandling.NoHandlerForCommandException: No handler was subscribed to command [io.practice.AllocateNetworkPoolIpCommand]  

Так что это имеет смысл, потому что эти обработчики команд не находятся в абстрактном классе, но я хочу разделить их в конкретном классе, а не в абстрактном классе, возможно ли это сделать?