12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using Apache.NMS;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace EasyMQ
- {
- internal abstract class MQPubSub : MQDispose, IPubSub
- {
- public MQPubSub()
- {
- }
- /// <summary>
- /// 向主题中发生一个消息
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="message"></param>
- /// <param name="properties"></param>
- /// <returns></returns>
- public abstract Task PublishAsync<T>(T message, Dictionary<string, string>? properties = null);
- /// <summary>
- /// 向主题中发生一个消息
- /// </summary>
- /// <param name="topicname"></param>
- /// <param name="message"></param>
- /// <param name="byteslength"></param>
- /// <param name="properties"></param>
- /// <returns></returns>
- public abstract Task PublishAsync(string topicname,ref byte message, uint byteslength, Dictionary<string, string>? properties = null);
- /// <summary>
- /// 在主题中注册一个消费者
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="onMessage"></param>
- /// <param name="selector"></param>
- public abstract void Subscribe<T>(Action<T, IPrimitiveMap> onMessage, string selector = "");
- /// <summary>
- /// 在主题中注册一个消费者
- /// </summary>
- /// <param name="topicname"></param>
- /// <param name="onMessage"></param>
- /// <param name="selector"></param>
- public abstract void Subscribe(string topicname,OnMessageHandle onMessage, string selector = "");
- }
- }
|