Ошибка запуска nservicebus - PullRequest
2 голосов
/ 12 июля 2011

Я пытаюсь начать работу с моей установкой NServiceBus.

Я пытаюсь скопировать часть примера проекта AsyncPages.

В моем проекте CommandServer у меня есть следующая конфигурация:

 <MsmqTransportConfig
    InputQueue="SonatribeInputQueue"
    ErrorQueue="error"
    NumberOfWorkerThreads="1"
    MaxRetries="5"
/>

У меня есть следующая конечная точка сообщения:

public class MessageEndpoint : IConfigureThisEndpoint, AsA_Server, IWantCustomInitialization
    {
        /// <summary>
        /// Perform initialization logic.
        /// </summary>
        public void Init()
        {
            Console.WriteLine("Configuring persistence...");
            var container = new WindsorContainer();
            container.Install(FromAssembly.InDirectory(new AssemblyFilter(Assembly.GetExecutingAssembly().Location, "CommandServer.*.dll")));
            Configure.With()
                .CastleWindsorBuilder(container).BinarySerializer();
        }
    }

в моем проекте Сообщения у меня есть следующий класс:

[Serializable]
public class Command : IMessage
{
    public int Id { get; set; }
}

И обратно в проект CommandServer у меня есть соответствующий CommandHandler:

public class CommandMessageHandler : IHandleMessages<Command>
{
    public IBus Bus { get; set; }

    public void Handle(Command message)
    {
        Logger.Info(string.Format("Server 1 received Command with Id {0}.", message.Id));
    }

    private static readonly ILog Logger = LogManager.GetLogger(typeof(CommandMessageHandler));
}

нет, кроме виндзорских вещей - что никак не влияет на это - естьничем не отличается от асинхронного проекта до этого.Тем не менее, когда я запускаю CommandServer, я получаю следующий вывод:

Configuring eventstore persistence...

2011-07-12 16:33:32,524 [1] WARN  NServiceBus.Unicast.UnicastBus [(null)] <(null
)> - LocalAddress property of UnicastBusConfig not found. Using InputQueue prope
rty of MsmqTransportConfig instead. This will not be supported in the next versi
on.
2011-07-12 16:33:32,702 [1] INFO  NServiceBus.Hosting.Roles.RoleManager [(null)]
 <(null)> - Role NServiceBus.AsA_Server configured
2011-07-12 16:33:32,750 [1] INFO  NServiceBus.Host [(null)] <(null)> - Going to
activate profile: NServiceBus.Lite, NServiceBus.Host, Version=3.0.0.0, Culture=n
eutral, PublicKeyToken=9fc386479f8a226c
2011-07-12 16:33:35,749 [1] FATAL NServiceBus.Hosting.GenericHost [(null)] <(nul
l)> - System.InvalidOperationException: No destination could be found for messag
e type Messages.Command. Check the <MessageEndpointMapping> section of the confi
guration of this endpoint for an entry either for this specific message type or
for its assembly.
   at NServiceBus.Unicast.UnicastBus.Subscribe(Type messageType, Predicate`1 con
dition) in c:\Dev\NServiceBus\src\unicast\NServiceBus.Unicast\UnicastBus.cs:line
 405
   at NServiceBus.Unicast.UnicastBus.Subscribe(Type messageType) in c:\Dev\NServ
iceBus\src\unicast\NServiceBus.Unicast\UnicastBus.cs:line 353
   at NServiceBus.Unicast.UnicastBus.PerformAutoSubcribe() in c:\Dev\NServiceBus
\src\unicast\NServiceBus.Unicast\UnicastBus.cs:line 754
   at NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start(Action star
tupAction) in c:\Dev\NServiceBus\src\unicast\NServiceBus.Unicast\UnicastBus.cs:l
ine 739
   at NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start() in c:\Dev
\NServiceBus\src\unicast\NServiceBus.Unicast\UnicastBus.cs:line 702
   at NServiceBus.Hosting.GenericHost.Start() in c:\Dev\NServiceBus\src\hosting\
NServiceBus.Hosting\GenericHost.cs:line 99

Есть идеи, что я делаю неправильно?

Ответы [ 2 ]

2 голосов
/ 15 июля 2011

Я думаю, вы обнаружите, что вам не хватает раздела MessageEndpointMapping

Используемый вами пример не выполняет Bus.Send и поэтому не нуждается в разделе отображения сообщений.

единственное, что обработчик в этом семпле - это Bus.Return

Другой вариант - это использовать Bus.Send с именем очереди, в котором вы хотите получить сообщение.

0 голосов
/ 18 июля 2011

Это в основном произошло из-за того, что я перепутал v3 с v2.5 и получил полный хвост.

Проблема связана с тем, что загрузка 2.5 не была собрана с сайта NSB. Теперь Udi обновил rev в ветке 2.5 github, и я собираюсь попробовать это, чтобы заставить работать последнюю касту, чтобы я мог пропустить использование 3.0, пока она не станет достаточно стабильной.

другими словами - это должно было сработать.

...