Here is my setup:
I have a azure web role and a worker role both configured to use a databus channel via blob storage. I now need to add another web client that requires a databus.
Is it acceptable to use the same databus channel or will this cause issues related to the clean up operation of messages that happen behind the scenes?
Update:
I am seeing this error in the event log of my web role:
An unhandled exception occurred. Type: Microsoft.WindowsAzure.StorageClient.StorageClientException Process ID: 2968
Process Name: w3wp
Thread ID: 12
AppDomain Unhandled Exception for role My.Assembly.Web_IN_4
Exception: The specified blob does not exist.
at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.get_Result()
at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.ExecuteAndWait()
at Microsoft.WindowsAzure.StorageClient.CloudBlob.FetchAttributes(BlobRequestOptions options)
at NServiceBus.DataBus.Azure.BlobStorage.BlobStorageDataBus.DeleteExpiredBlobs()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading._TimerCallback.PerformTimerCallback(Object state)
Inner Exception: The remote server returned an error: (404) Not Found.
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at Microsoft.WindowsAzure.StorageClient.EventHelper.ProcessWebResponse(WebRequest req, IAsyncResult asyncResult, EventHandler`1 handler, Object sender)
I think you have to use the same channel, as both sender and receiver must be able to access it and you can only configure one, this implies that it has to be shared.
It should not cause issues for cleanup, seeing anything strange? If so, let me know!
Kind regards,
Yves