2

当我尝试启动我的一项服务时,我收到此错误: There is no index named: RavenTimeoutPersistence/TimeoutDataSortedByTime

堆栈跟踪:

未处理的异常:Magnum.StateMachine.StateMachineException:在1[[NServiceBus.Hosting.Windows.WindowsHost, NServiceBus.Host, Version=3.2.0.0, Culture=neutral, PublicKeyToken=9fc3864 79f8a226c]] during state Initial while handling OnStart ---> System.Exception: Exception when starting endpoint, error h as been logged. Reason: There is no index named: RavenTimeoutPersistence/TimeoutDataSortedByTime ---> System.InvalidOper ationException: There is no index named: RavenTimeoutPersistence/TimeoutDataSortedByTime at Raven.Client.Connection.ServerClient.DirectQuery(String index, IndexQuery query, String operationUrl, String[] inc ludes) at Raven.Client.Connection.ServerClient.<>c__DisplayClass37.<Query>b__36(String u) at Raven.Client.Connection.ServerClient.TryOperation[T](FuncRaven.Client.Connection.ServerClient.ExecuteWithReplication
[T](字符串方法,Func 2 operation) at Raven.Client.Connection.ServerClient.Query(String index, IndexQuery query, String[] includes) at Raven.Client.Document.AbstractDocumentQuery2. Raven.Client.Document.AbstractDocumentQuery 的ExecuteActualQuery()
1.Raven.Client.Linq.RavenQueryProviderProcessor的 ExecuteQueryTProjection 1.Raven.Client.Linq.RavenQueryProvider 的1.Execute(Expression 表达式) System.Collections.Generic.List 的 1.GetEnumerator() 1 个集合)在 NServiceBus.Timeout.Hosting.Windows.Persistence.RavenTimeoutPersistence.GetAll() 在 NServiceBus.Timeout.Core.TimeoutRunner.CacheExistingTimeouts()2.get_QueryResult()
at Raven.Client.Linq.RavenQueryProviderProcessor
1.Execute(Expression expression) at Raven.Client.Linq.RavenQueryProvider1.System.Linq.IQueryProvider.Execute(Expression expression) at Raven.Client.Linq.RavenQueryInspector1.InsertRange(Int32 index, IEnumerable
在 NServiceBus.Timeout.Core.TimeoutRunner.Run() 在 System.Collections.Generic.List 1.ForEach(Action1 action) 在 NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start(Action startupAction) 在 NServiceBus.Hosting.GenericHost.Start() 在c:\TeamCity\buildAgent\work\nsb.master_6\src\hosting\NServiceBus.Hosting\GenericHost.cs:第 34 行

主机配置如下:

var container = new WindsorContainer();
container.Install(FromAssembly.This());

Configure.With()
    .DefiningEventsAs(t => t.Namespace != null && t.Namespace.StartsWith("Events"))
    .DefiningCommandsAs(t => t.Namespace != null && t.Namespace.StartsWith("Messages"))
    .CastleWindsorBuilder(container)
    .XmlSerializer()
    .MsmqTransport()
    .IsTransactional(true)
    .IsolationLevel(IsolationLevel.ReadUncommitted) 
    .UnicastBus()
    .RavenSagaPersister()
    .RavenSubscriptionStorage()
    .UseRavenTimeoutPersister()
    .RunTimeoutManager()
    .ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install();

我在这台机器上还有其他服务正在正常运行。我已经尝试重新启动 ravendb 服务。

运行 Nservicebus 3.2.5

4

1 回答 1

2

您缺少索引:RavenTimeoutPersistence/TimeoutDataSortedByTime

你需要创建它,或者 NSB 需要创建它,我不确定这个索引是从哪里来的。

于 2012-07-17T22:18:55.667 回答