То есть, вы хотите использовать AR как фабрику для другого AR (Document
в данном случае)?На самом деле это довольно часто и помогает быть верным вездесущему языку, а не порождать AR из ниоткуда.
Я не уверен, как работают обработчики команд AXON и как сохраняется состояние после этого, но вот как бы ясделайте это:
//Handler
Document doc = someAggregate.generateDocument(id, ...);
documentRepository.save(doc);
Если вам действительно не нужна Document
AR, вы можете просто создать событие напрямую:
DocumentGenerated event = someAggregate.generateDocument(id, ...);
eventStore.append(event);
Затем можно отправить событие DocumentGenerated
в другой контекст, используя любую имеющуюся инфраструктуру обмена сообщениями.