typescript-ddd-example icon indicating copy to clipboard operation
typescript-ddd-example copied to clipboard

[Question] - Error de dependencia circular en application service con commandBus

Open DiV666 opened this issue 3 years ago • 2 comments

Tengo un commandBus en el controller y además necesito un commandBus en el aplication service para poder lanzar un caso de uso de otro módulo dentro del mismo context, pero al añadir ese segundo commandBus me salta el error: RangeError: Maximum call stack size exceeded

No estoy muy familiarizado con la inyección de dependencias y no sabría como solucionar este problema de dependencia circular, ¿Hay alguna forma de solucionarlo?

Muchas gracias.

DiV666 avatar Apr 09 '21 09:04 DiV666

Parece que está dependencia circular está al inyectar el caso de uso en el commandHandler y el CommandBus en el caso de uso:

  Mooc.courses.CourseCreator:
    class: ../../../../../Contexts/Mooc/Courses/application/CourseCreator
    arguments: ['@Mooc.courses.CourseRepository', '@Shared.CommandBus', '@Shared.EventBus']

  Mooc.courses.CreateCourseCommandHandler:
    class: ../../../../../Contexts/Mooc/Courses/application/CreateCourseCommandHandler
    arguments: ['@Mooc.courses.CourseCreator']
    tags:
      - { name: 'commandHandler' }

¿Cómo sería la mejor forma de hacer esta inyección de dependencias dentro del caso de uso?

DiV666 avatar Apr 12 '21 14:04 DiV666

En las issues de la propia librería se abrió este mismo caso, te dejo la solución por acá https://github.com/zazoomauro/node-dependency-injection/issues/167

sebastian95021 avatar Sep 27 '22 06:09 sebastian95021