Skip to content

[Heartbeat Plugin] Exception when working with ActiveMQ Transport #214

@ezesculli

Description

@ezesculli

When running a solution where Endpoints have Heartbeat plugin configured, and ActiveMQ is configured as Transport, it throws the following exception.

NOTE: If Heartbeat plugin references are removed from endpoints, solution works just fine.

Message: The given key was not present in the dictionary.
StackTrace: at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at NServiceBus.Transports.ActiveMQ.Encoders.TextMessageEncoder.Encode(TransportMessage message, ISession session) in c:\BuildAgent\work\d4de8921a0aabf04\src\ActiveMQ\NServiceBus.ActiveMQ\Encoders\TextMessageEncoder.cs:line 10
at NServiceBus.Transports.ActiveMQ.ActiveMqMessageEncoderPipeline.Encode(TransportMessage message, ISession session) in c:\BuildAgent\work\d4de8921a0aabf04\src\ActiveMQ\NServiceBus.ActiveMQ\ActiveMqMessageEncoderPipeline.cs:line 26
at NServiceBus.Transports.ActiveMQ.ActiveMqMessageMapper.CreateJmsMessage(TransportMessage message, ISession session) in c:\BuildAgent\work\d4de8921a0aabf04\src\ActiveMQ\NServiceBus.ActiveMQ\ActiveMqMessageMapper.cs:line 33
at NServiceBus.Transports.ActiveMQ.MessageProducer.SendMessage(TransportMessage message, String destination, String destinationPrefix) in c:\BuildAgent\work\d4de8921a0aabf04\src\ActiveMQ\NServiceBus.ActiveMQ\MessageProducer.cs:line 26
at NServiceBus.Transports.ActiveMQ.ActiveMqMessageSender.Send(TransportMessage message, Address address) in c:\BuildAgent\work\d4de8921a0aabf04\src\ActiveMQ\NServiceBus.ActiveMQ\ActiveMqMessageSender.cs:line 17
at ServiceControl.EndpointPlugin.Operations.ServiceControlBackend.ServiceControlBackend.Send(Object messageToSend, TimeSpan timeToBeReceived) in y:\BuildAgent\work\b7f882efc2cd360b\src\ServiceControl.Plugin.Shared\ServiceControlBackend.cs:line 51
at ServiceControl.Plugin.Heartbeat.Heartbeats.ExecuteHeartbeat(Object state) in y:\BuildAgent\work\b7f882efc2cd360b\src\ServiceControl.Plugin.Heartbeat\Heartbeats.cs:line 65
at System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()
at System.Threading.TimerQueue.AppDomainTimerCallback()

Related to Particular/ServiceMatrix#88

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions