2012-05-25 2 views
0

PubSub 기능에 NServiceBus를 내부적으로 사용하는 게시 구독 (Publish Subscribe) 외관을 만들려고합니다. NServiceBus를 사용하여이 작업을 수행 할 때 발생하는 문제 중 하나는 많은 구성이 인터페이스를 통해 수행된다는 것입니다. 게시자는 예를 들어 IWantToRunAtStartup을 구현합니다. 해당 게시자의 끝점은 IConfigureThisEndpoint 및 AsA_Publisher를 구현합니다.NServiceBus 코드를 통해 구성

이것은 매우 유용한 기능으로 "유창함"이며 코드를 읽고 이해하기 쉽도록 만듭니다.

그러나 외관을 만드는 것은 어렵습니다. 예를 들어, IWantToRunAtStartup을 구현하는 기본 클래스는 모든 수퍼 클래스가 NServiceBus.Host를 참조하도록 요구합니다.

NServiceBus를 참조해야한다는 요구 사항은 물론 외관을 갖는 아이디어를 완전히 없애줍니다. 그 시점에서 외관의 핵심은 무엇입니까?

합니까 NServiceBus는 인터페이스 기술을 사용하지 않는 엔드 포인트, 게시자, 구독자 및 메시지와 같은 유형을 구성하는 방법이? 그렇다면 누군가가 해당 설명서 (또는 더 나은 예제)를 가르쳐 줄 수 있습니까?

답변

1

인터페이스 IConfigureThisEndpoint, AsA_Publisher 및 IWantToRunAtStartup은 게시/구독 설정에 필요하지 않습니다.

NServiceBus.Host.exe에서 끝점을 호스팅하지 않는 경우 NserviceBus에 구독을 저장하는 방법 (메모리, msmq, 관계형 데이터베이스 또는 RavenDB 사용)을 지정하기 만하면됩니다. Configure.With() ... 초기화 코드의 일부로 적절한 메소드를 선택하기 만하면됩니다. , 이벤트를 처리 할 것이다 가입자 코드가 게시는 것입니다 어떤 경우 http://docs.particular.net/nservicebus/messaging/unobtrusive-mode

를 참조 - 버전 3.0으로

는 NServiceBus는 NServiceBus에 대한 종속성이없는 메시지 유형의 정의를 지원합니다 NServiceBus 인터페이스 IHandleMessages를 구현해야합니다.

일반적으로, 나는 NServiceBus이 하나에서 다른 이동하는 또는 외관없이 훨씬 쉬울되지 않습니다 다른 서비스 버스에서 철학 충분히 다른 것을 말할 것입니다.