public void Start() { this.loadWorkflows(); ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Http; topicName = ConfigurationManager.AppSettings["SERVICEBUS_TOPICNAME"]; subscriptionName = ConfigurationManager.AppSettings["SERVICEBUS_AUTOMATIONSUBSCRIPTION_NAME"]; pubSubService.Initialize(); messagingFactory = CreateMessagingFactory(); client = messagingFactory.CreateSubscriptionClient(topicName, subscriptionName); this.ProcessMessage(); //this.ProcessDeadMessages(); Logger.Current.Informational("Service bus subscription client created successfully."); observable = Observable.Create <BrokeredMessage>( observer => { OnMessageOptions options = new OnMessageOptions(); options.AutoComplete = false; options.AutoRenewTimeout = new TimeSpan(0, 0, 1, 0, 0); options.ExceptionReceived += options_ExceptionReceived; client.OnMessage(observer.OnNext, options); return(Disposable.Empty); }).Publish().RefCount(); observable.Subscribe(x => { Logger.Current.Verbose("Recieved message. BrokeredMessageId:" + x.MessageId); x.RenewLock(); var serializedMessage = x.GetBody <string>(); Message message = JsonConvert.DeserializeObject <Message>(serializedMessage); message.MessageId = x.MessageId; message.LockToken = x.LockToken; Logger.Current.Verbose("Message recieved successfully, details:" + message.ToString()); this.Feed(message); }); }
public void Start() { string topicName = ConfigurationManager.AppSettings["SERVICEBUS_TOPICNAME"]; string subsriptionName = ConfigurationManager.AppSettings["SERVICEBUS_LEADSCORESUBSCRIPTION_NAME"]; pubSubService.Initialize(); Logger.Current.Informational("subscription:" + subsriptionName); Logger.Current.Informational("Connection string:" + ConfigurationManager.AppSettings["Microsoft.ServiceBus.ConnectionString"]); this.ProcessMessage(); client = SubscriptionClient.Create(topicName, subsriptionName); Logger.Current.Informational("Service bus message queue client created successfully."); observable = Observable.Create <BrokeredMessage>( observer => { client.OnMessage(observer.OnNext, new OnMessageOptions() { AutoComplete = false, AutoRenewTimeout = new TimeSpan(0, 0, 1, 0, 0) }); return(Disposable.Empty); }).Publish().RefCount(); observable.Subscribe(x => { Logger.Current.Informational("Recieved message. BrokeredMessageId:" + x.MessageId); x.RenewLock(); var serializedMessage = x.GetBody <string>(); Message message = JsonConvert.DeserializeObject <Message>(serializedMessage); message.MessageId = x.MessageId; message.LockToken = x.LockToken; Logger.Current.Informational("Message recieved successfully, details:" + message.ToString()); this.Feed(message); }); }