rabbitmq封装,采用连接池,频道也是采用连接池。减少频繁连接造成的资源消耗。如果代码有误的地方请指出。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 85798 2019-08-20 15:44 MQ.vsconfigapplicationhost.config
..A..H. 101888 2019-08-23 16:45 MQ.vsMQv15.suo
文件 1588 2019-08-21 10:48 MQMQ.sln
文件 170288 2015-12-01 14:31 MQMQCoreinDebugMicrosoft.Diagnostics.Tracing.EventSource.dll
文件 19456 2019-08-23 16:42 MQMQCoreinDebugMQCore.dll
文件 77312 2019-08-23 16:42 MQMQCoreinDebugMQCore.pdb
文件 276480 2018-06-18 15:49 MQMQCoreinDebugRabbitMQ.Client.dll
文件 1463 2019-08-23 15:23 MQMQCoreConnectionInfo.cs
文件 644 2019-08-23 15:15 MQMQCoreinterfaceIConnectionInfo.cs
文件 368 2019-08-23 11:05 MQMQCoreinterfaceIMQChannel.cs
文件 855 2019-08-22 17:23 MQMQCoreinterfaceIMQManage.cs
文件 962 2019-08-20 19:09 MQMQCoreinterfaceIMQManageConfig.cs
文件 646 2019-08-23 11:06 MQMQCoreMQChannel.cs
文件 3123 2019-08-22 18:00 MQMQCoreMQCore.csproj
文件 1709 2019-08-23 16:42 MQMQCoreMQManage.cs
文件 1024 2019-08-20 19:09 MQMQCoreMQManageConfig.cs
文件 2143 2019-08-22 11:41 MQMQCoremsgMessage.cs
文件 8221 2019-08-22 17:54 MQMQCoremsgRabbitMqDelayPublisher.cs
文件 5518 2019-08-22 17:54 MQMQCoremsgRabbitMqListener.cs
文件 6554 2019-08-22 18:15 MQMQCoremsgRabbitMqPublisher.cs
文件 3626 2019-08-22 17:58 MQMQCoremsgRabbitMqQuery.cs
文件 12510 2019-08-22 17:59 MQMQCoreobjDebugDesignTimeResolveAssemblyReferencesInput.cache
文件 0 2019-08-23 16:42 MQMQCoreobjDebugMQCore.csproj.CopyComplete
文件 42 2019-08-23 15:23 MQMQCoreobjDebugMQCore.csproj.CoreCompileInputs.cache
文件 1304 2019-08-23 16:41 MQMQCoreobjDebugMQCore.csproj.FileListAbsolute.txt
文件 8424 2019-08-23 16:41 MQMQCoreobjDebugMQCore.csprojAssemblyReference.cache
文件 19456 2019-08-23 16:42 MQMQCoreobjDebugMQCore.dll
文件 77312 2019-08-23 16:42 MQMQCoreobjDebugMQCore.pdb
文件 0 2019-08-20 19:03 MQMQCoreobjDebugMQManage.csproj.CopyComplete
文件 42 2019-08-20 19:03 MQMQCoreobjDebugMQManage.csproj.CoreCompileInputs.cache
............此处省略168个文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using RabbitMQ.Client;
namespace MQCore
{
internal class ConnectionInfo : IConnectionInfo
{
IConnection connection;
ChannelPool channelPool;
object _lock = new object();
public ConnectionInfo(IConnection connection int capacity)
{
this.connection = connection;
channelPool = new ChannelPool(capacity);
}
public int createChannelNum { get { return channelPool == null ? 0 : channelPool.createChannelNum; } }
///
/// 检查是否允许释放
///
///
public bool CheckCanFree()
{
channelPool.TimeFree();
return channelPool.Count == 0;
}
///
/// 释放
///
public void Free()
{
connection = null;
channelPool = null;
}
public IMQChannel CreateModel()
{
lock (_lock)
{
return channelPool.Pop(()=> {
channelPool.Push(new MQChannel(channelPool connection.CreateModel()) true);
});
}
}
public void Dispose()
{
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 85798 2019-08-20 15:44 MQ.vsconfigapplicationhost.config
..A..H. 101888 2019-08-23 16:45 MQ.vsMQv15.suo
文件 1588 2019-08-21 10:48 MQMQ.sln
文件 170288 2015-12-01 14:31 MQMQCoreinDebugMicrosoft.Diagnostics.Tracing.EventSource.dll
文件 19456 2019-08-23 16:42 MQMQCoreinDebugMQCore.dll
文件 77312 2019-08-23 16:42 MQMQCoreinDebugMQCore.pdb
文件 276480 2018-06-18 15:49 MQMQCoreinDebugRabbitMQ.Client.dll
文件 1463 2019-08-23 15:23 MQMQCoreConnectionInfo.cs
文件 644 2019-08-23 15:15 MQMQCoreinterfaceIConnectionInfo.cs
文件 368 2019-08-23 11:05 MQMQCoreinterfaceIMQChannel.cs
文件 855 2019-08-22 17:23 MQMQCoreinterfaceIMQManage.cs
文件 962 2019-08-20 19:09 MQMQCoreinterfaceIMQManageConfig.cs
文件 646 2019-08-23 11:06 MQMQCoreMQChannel.cs
文件 3123 2019-08-22 18:00 MQMQCoreMQCore.csproj
文件 1709 2019-08-23 16:42 MQMQCoreMQManage.cs
文件 1024 2019-08-20 19:09 MQMQCoreMQManageConfig.cs
文件 2143 2019-08-22 11:41 MQMQCoremsgMessage.cs
文件 8221 2019-08-22 17:54 MQMQCoremsgRabbitMqDelayPublisher.cs
文件 5518 2019-08-22 17:54 MQMQCoremsgRabbitMqListener.cs
文件 6554 2019-08-22 18:15 MQMQCoremsgRabbitMqPublisher.cs
文件 3626 2019-08-22 17:58 MQMQCoremsgRabbitMqQuery.cs
文件 12510 2019-08-22 17:59 MQMQCoreobjDebugDesignTimeResolveAssemblyReferencesInput.cache
文件 0 2019-08-23 16:42 MQMQCoreobjDebugMQCore.csproj.CopyComplete
文件 42 2019-08-23 15:23 MQMQCoreobjDebugMQCore.csproj.CoreCompileInputs.cache
文件 1304 2019-08-23 16:41 MQMQCoreobjDebugMQCore.csproj.FileListAbsolute.txt
文件 8424 2019-08-23 16:41 MQMQCoreobjDebugMQCore.csprojAssemblyReference.cache
文件 19456 2019-08-23 16:42 MQMQCoreobjDebugMQCore.dll
文件 77312 2019-08-23 16:42 MQMQCoreobjDebugMQCore.pdb
文件 0 2019-08-20 19:03 MQMQCoreobjDebugMQManage.csproj.CopyComplete
文件 42 2019-08-20 19:03 MQMQCoreobjDebugMQManage.csproj.CoreCompileInputs.cache
............此处省略168个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)