2012-03-22 15 views
0

RavenDB sagaストレージを使用していますが、開始メッセージハンドラの後にsagaデータが永続化されていません。私は、データベース内のサブスクリプション文書のほんの一握りしか見ることができません。私は次に何を確認するか分からない。アイデア?RavenDB Saga PersisterはSagaエンティティを永続化しません

私は佐賀を持っている:

public class BuyerWaitingOnDocumentsDistributor : 
    Saga<BuyerDocumentDistributorData>, 
    IAmStartedByMessages<DocumentVersionRequiresBuyerSignature> 
{ 
    public void Handle(DocumentVersionRequiresEmployeeSignature message) 
    { 
     Data.DocumentVersionId = message.DocumentVersionId.Value; 
     // Business logic goes here 
    } 

    // Other handlers & methods here 
} 

と佐賀エンティティ:

public class BuyerDocumentDistributorData : IContainSagaData 
{ 
    public virtual Guid Id { get; set; } 
    public virtual string Originator { get; set; } 
    public virtual string OriginalMessageId { get; set; } 

    public virtual Guid DocumentVersionId { get; set; } 
    public virtual EmployeeId[] AuthorizedToSign { get; set; } 
} 

と佐賀ファインダー:

public class BuyerWaitingOnDocumentsDistributorSagaFinder : 
     IFindSagas<BuyerDocumentDistributorData>.Using<DocumentVersionRequiresBuyerSignature>, 
     IFindSagas<BuyerDocumentDistributorData>.Using<DocumentVersionSignedByBuyer>, 
     IFindSagas<BuyerDocumentDistributorData>.Using<DocumentVersionNoLongerRequiresSignature> 
    { 

     private static readonly ILog Log = LogManager.GetLogger(typeof (BuyerWaitingOnDocumentsDistributorSagaFinder)); 

     public ISagaPersister Persister { get; set; } 

     public BuyerDocumentDistributorData FindBy(DocumentVersionRequiresBuyerSignature message) 
     { 
      return Persister.Get<BuyerDocumentDistributorData>("DocumentVersionId", message.DocumentVersionId.Value); 
     } 

     public BuyerDocumentDistributorData FindBy(DocumentVersionSignedByBuyer message) 
     { 
      return Persister.Get<BuyerDocumentDistributorData>("DocumentVersionId", message.DocumentVersionId.Value); 
     } 

     public BuyerDocumentDistributorData FindBy(DocumentVersionNoLongerRequiresSignature message) 
     { 
      return Persister.Get<BuyerDocumentDistributorData>("DocumentVersionId", message.DocumentVersionId.Value); 
     } 
    } 

私もNServiceBusヤフーグループにこの質問をしてきました:http://tech.groups.yahoo.com/group/nservicebus/message/13265

答えて

0

あなたはendpointconfigを指定していないので、どのコンテナを使用しているのか分かりません。

NinjectBuilderを使用しているときも同じことが起こります(永続化されません)。 DefaultBuilderを使用するとOKです。

+0

私はAutofacに切り替えましたが、すべて正常に動作します。 –

関連する問題