RabbitMq Basic Conumser and Basic Publisher application base.
a. set environment variables
RABBITMQ_URI=amqp://root:[email protected]:18002
**ELASTIC_URI=http://elasticsearch:9200
**LOG_INDEX_FORMAT=rmq-{0:yyyy.MM.dd}
** if you want use elastic serilogger.
b. declare a model
class ExampleModel
{
public string Message { get; set; }
}
c. declare a consumer class(must be implemented from BasicConsumer)
class ExampleConsumer : BasicConsumer<ExampleModel>
{
public override string ListenQueueName => "ExampleQueue";
public override bool AutoAck => true;
public override Action<ExampleModel,ulong> DataReceivedAction => DataReceived;
private void DataReceived(ExampleModel model, ulong deliveryTag)
{
Console.WriteLine(model.Message);
}
}
d. register this consumer from registry.
ConsumerRegistry.Instance.Register(typeof(ExampleModel));
e. push any message to queue.
RabbitMqPublisher<ExampleModel>.Instance.Publish("Test",new ExampleModel()
{
Message = "hello world."
});