Commit 04fbca02 authored by Savorboard's avatar Savorboard

Merge branch 'master' of https://github.com/dotnetcore/CAP

parents 4a799569 316a4d76
......@@ -154,9 +154,9 @@ namespace DotNetCore.CAP.AzureServiceBus
{
var context = args.ExceptionReceivedContext;
var exceptionMessage =
$"- Endpoint: {context.Endpoint}\r\n" +
$"- Entity Path: {context.EntityPath}\r\n" +
$"- Executing Action: {context.Action}\r\n" +
$"- Endpoint: {context.Endpoint}" + Environment.NewLine +
$"- Entity Path: {context.EntityPath}" + Environment.NewLine +
$"- Executing Action: {context.Action}" + Environment.NewLine +
$"- Exception: {args.Exception}";
var logArgs = new LogMessageEventArgs
......
......@@ -54,7 +54,6 @@ namespace DotNetCore.CAP
MainConfig["bootstrap.servers"] = Servers;
MainConfig["queue.buffering.max.ms"] = "10";
MainConfig["socket.blocking.max.ms"] = "10";
MainConfig["enable.auto.commit"] = "false";
MainConfig["log.connection.close"] = "false";
MainConfig["request.timeout.ms"] = "3000";
......
......@@ -2,15 +2,14 @@
// Licensed under the MIT License. See License.txt in the project root for license information.
// ReSharper disable once CheckNamespace
using System;
using RabbitMQ.Client;
namespace DotNetCore.CAP
{
public class RabbitMQOptions
{
/// <summary>
/// Default value for connection attempt timeout, in milliseconds.
/// </summary>
public const int DefaultConnectionTimeout = 30 * 1000;
/// <summary>
/// Default password (value: "guest").
/// </summary>
......@@ -63,21 +62,6 @@ namespace DotNetCore.CAP
/// </summary>
public string ExchangeName { get; set; } = DefaultExchangeName;
/// <summary>
/// Timeout setting for connection attempts (in milliseconds).
/// </summary>
public int RequestedConnectionTimeout { get; set; } = DefaultConnectionTimeout;
/// <summary>
/// Timeout setting for socket read operations (in milliseconds).
/// </summary>
public int SocketReadTimeout { get; set; } = DefaultConnectionTimeout;
/// <summary>
/// Timeout setting for socket write operations (in milliseconds).
/// </summary>
public int SocketWriteTimeout { get; set; } = DefaultConnectionTimeout;
/// <summary>
/// The port to connect on.
/// </summary>
......@@ -87,5 +71,10 @@ namespace DotNetCore.CAP
/// Gets or sets queue message automatic deletion time (in milliseconds). Default 864000000 ms (10 days).
/// </summary>
public int QueueMessageExpires { get; set; } = 864000000;
/// <summary>
/// RabbitMQ native connection factory options
/// </summary>
public Action<ConnectionFactory> ConnectionFactoryOptions { get; set; }
}
}
\ No newline at end of file
......@@ -6,7 +6,6 @@ using System.Collections.Concurrent;
using System.Diagnostics;
using System.Threading;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using RabbitMQ.Client;
namespace DotNetCore.CAP.RabbitMQ
......@@ -43,7 +42,7 @@ namespace DotNetCore.CAP.RabbitMQ
Exchange = options.ExchangeName + "." + capOptions.Version;
}
_logger.LogDebug("RabbitMQ configuration of CAP :\r\n {0}", JsonConvert.SerializeObject(options, Formatting.Indented));
_logger.LogDebug($"RabbitMQ configuration:'HostName:{options.HostName}, Port:{options.Port}, UserName:{options.UserName}, Password:{options.Password}, ExchangeName:{options.ExchangeName}'");
}
IModel IConnectionChannelPool.Rent()
......@@ -96,19 +95,18 @@ namespace DotNetCore.CAP.RabbitMQ
UserName = options.UserName,
Port = options.Port,
Password = options.Password,
VirtualHost = options.VirtualHost,
RequestedConnectionTimeout = options.RequestedConnectionTimeout,
SocketReadTimeout = options.SocketReadTimeout,
SocketWriteTimeout = options.SocketWriteTimeout
VirtualHost = options.VirtualHost
};
if (options.HostName.Contains(","))
{
options.ConnectionFactoryOptions?.Invoke(factory);
return () => factory.CreateConnection(
options.HostName.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries));
}
factory.HostName = options.HostName;
options.ConnectionFactoryOptions?.Invoke(factory);
return () => factory.CreateConnection();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment