public void Handle(KafkaEventStream stream) { try { this.log.Info($"{this.GetType().Name} Data:{stream.Data}"); using (var scope = Applibs.AutoFacConfig.Container.BeginLifetimeScope()) { var @event = JsonConvert.DeserializeObject <PubMessageEvent>(stream.Data); var repo = scope.Resolve <IPubMessageRepository>(); var result = repo.Add(new PubMessage() { Content = @event.Content }); if (result.Item1 != null) { throw result.Item1; } HubClient.BocastMessage(result.Item2); } } catch (Exception ex) { this.log.Error($"PubMessageEventHandler Exception: {ex.Message}"); } }
public void Publish <T>(string topicName, int suffix, T data) { var es = new KafkaEventStream( typeof(T).Name, JsonConvert.SerializeObject(data), TimeStampHelper.ToUtcTimeStamp(DateTime.Now)); publisher?.ProduceAsync(topicName, $"{es.Type}.{suffix}", JsonConvert.SerializeObject(es)) .ConfigureAwait(false); /*deliveryReport?.ContinueWith(task => * { * //communicator.getLogger().trace("", $"Partition: {task.Result.Partition}, Offset: {task.Result.Offset}"); * });*/ }