Remote ServiceControl queue configuration

117 views
Skip to first unread message

Ian Jones

unread,
Oct 4, 2016, 11:00:45 AM10/4/16
to Particular Software
Hi,

My first NServiceBus application is working nicely on my Dev machine - so I'm trying to understand how to configure things once it moves into our Test environment. I'm using MSMQ transport.


I want a single instance of ServiceControl running on one machine - my endpoints are running on another machine. So on the ServiceControl machine, I can see "error", "audit" and "particular.servicecontrol" queues in the MSMQ explorer. Within my endpoint configuration I've specified:

<MessageForwardingInCaseOfFaultConfig ErrorQueue="error@controlmachine" />
<AuditConfig QueueName="audit@controlmachine" />
<add key="ServiceControl/Queue" value="particular.servicecontrol@controlmachine"/>

When my service starts up, the logfile reports:

2016-10-04 14:46:48.714 WARN  NServiceBus.Features.QueuePermissions Unable to open the queue at address 'error'. Make sure the queue exists, and the address is correct. Processing will still continue.
2016-10-04 14:46:48.714 WARN  NServiceBus.Features.QueuePermissions Unable to open the queue at address 'audit'. Make sure the queue exists, and the address is correct. Processing will still continue.

On the "controlmachine" I can see the heartbeat is working, which I believe uses the "ServiceControl/Queue" - but I cannot see what is different about the configuration of the other two queues. I've tried giving "Everyone" full control access but this makes no difference.

What am I doing wrong? With everything running on a single machine it all works great!

Thanks in advance,
Ian.

Bob Langley

unread,
Oct 10, 2016, 1:59:55 PM10/10/16
to Particular Software
Ian:

Can you confirm the audit and error queues have been created on the machine running Service Control?

- Bob

Ian Jones

unread,
Oct 10, 2016, 2:29:06 PM10/10/16
to Particular Software
Hi Bob,

Yes, the queues have been created. I have no problem with endpoints on the same machine as ServiceControl - it's only if I move an endpoint to a different machine that it cannot access the audit and error queues.

Ian.

Bob Langley

unread,
Oct 10, 2016, 5:39:28 PM10/10/16
to Particular Software
Ian:

It still sounds like it may be a permissions issue. Can you check permissions using the information here: https://docs.particular.net/nservicebus/msmq/operations-scripting#create-queues?

- Bob

Ian Jones

unread,
Oct 25, 2016, 6:44:51 AM10/25/16
to Particular Software
Hi,

I've ensured the audit queue on the machine running ServiceControl has the appropriate permissions (Everyone and Anonymous have "Write" access) - but I still get the same error in my log file. The endpoint on the same machine as ServiceControl has no problems accessing the audit queue.

As an aside, what is the difference between the "audit" queue and the "particular.servicecontrol" queue? I am struggling to understand the relationship between them and ServiceControl itself.

Thanks,
Ian.

ramon...@particular.net

unread,
Oct 26, 2016, 7:27:04 AM10/26/16
to Particular Software

As an aside, what is the difference between the "audit" queue and the "particular.servicecontrol" queue? I am struggling to understand the relationship between them and ServiceControl itself.

The audit queue is used by all endpoints to write their processed messages to.

The service control queue is used by the heartbeat plugin as the destination to send its heartbeat messages to. It also is used by service control itself to queue its own commands. A retry performed in the UI is sent to this queue and then processed.

In other words, service control sends and receives to/from the service control queue, but it only receives from the audit queue.

-- Ramon
Reply all
Reply to author
Forward
0 new messages