Skip to content

Commit 0514a98

Browse files
committed
ServiceBus
1 parent 3862c04 commit 0514a98

File tree

17 files changed

+546
-6
lines changed

17 files changed

+546
-6
lines changed

AA.Dapper/AA.Dapper.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
<RepositoryType>git</RepositoryType>
1212
<PackageTags>AA;Dapper;dommel;</PackageTags>
1313
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
14-
<AssemblyVersion>1.0.1.0</AssemblyVersion>
15-
<FileVersion>1.0.1.0</FileVersion>
16-
<Version>1.0.1</Version>
14+
<AssemblyVersion>1.0.2.0</AssemblyVersion>
15+
<FileVersion>1.0.2.0</FileVersion>
16+
<Version>1.0.2</Version>
1717
</PropertyGroup>
1818

1919
<ItemGroup>

AA.Dapper/Util/DataBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public Task<IEnumerable<T>> QueryAsync<T>(string sql, object param = null)
4141
return Connection.QueryAsync<T>(sql, param, transaction);
4242
}
4343

44-
public virtual IPage<T> GetPage<T>(PageRequest pageRequest) where T:class
44+
public virtual IPage<T> GetPage<T>(PageRequest pageRequest) where T : class
4545
{
4646
int recordCount = Connection.ExecuteScalar<int>(PageUtil.CreateCountingSql(pageRequest.SqlText), pageRequest.SqlParam);
4747
var list = Connection.Query<T>(PageUtil.CreatePagingSql(recordCount, pageRequest.PageSize, pageRequest.PageIndex, pageRequest.SqlText, pageRequest.OrderFiled), pageRequest.SqlParam);
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
using AA.ServiceBus;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Text;
5+
using MassTransit;
6+
using System.Threading.Tasks;
7+
using AA.FrameWork.Tests.Unit.RabbitMQ.ServiceBus.meesageContracts;
8+
using Xunit;
9+
using AA.Log4Net;
10+
using AA.FrameWork.Logging;
11+
12+
namespace AA.FrameWork.Tests.Unit.RabbitMQ.ServiceBus
13+
{
14+
public class Consumer
15+
{
16+
[Fact]
17+
public void TestConsumer()
18+
{
19+
Log4NetLogger.Use("Log4Net/log4net.config");
20+
string rabbitMqUri = "rabbitmq://localhost:5672";
21+
string rabbitMqUserName = "";
22+
string rabbitMqPassword = "";
23+
string queueName = "order.queue";
24+
25+
var busControl = ServiceBusManager.Instance.UseRabbitMq(rabbitMqUri, rabbitMqUserName, rabbitMqPassword)
26+
.RegisterConsumer<SubmitOrderCommandConsumer>(queueName)
27+
.RegisterConsumer<OrderSubmittedEventConsumer>(null)
28+
.Build();
29+
busControl.Start();
30+
31+
}
32+
}
33+
34+
public class OrderSubmittedEventConsumer : IConsumer<OrderSubmitted>
35+
{
36+
public async Task Consume(ConsumeContext<OrderSubmitted> context)
37+
{
38+
var @event = context.Message;
39+
40+
var result = $"OrderSubmittedEvent {@event.Id.ToString()}";
41+
ILog log = Logger.Get(typeof(OrderSubmittedEventConsumer));
42+
log.Debug(result);
43+
//do somethings...
44+
}
45+
}
46+
47+
48+
public class SubmitOrderCommandConsumer : IConsumer<SubmitOrder>
49+
{
50+
public async Task Consume(ConsumeContext<SubmitOrder> context)
51+
{
52+
var command = context.Message;
53+
54+
var result = $"CreateFooCommand {command.Id.ToString()}";
55+
ILog log = Logger.Get(typeof(SubmitOrderCommandConsumer));
56+
log.Debug(result);
57+
//do somethings...
58+
}
59+
}
60+
61+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
using AA.FrameWork.Tests.Unit.RabbitMQ.ServiceBus.meesageContracts;
2+
using AA.ServiceBus;
3+
using MassTransit;
4+
using MassTransit.Util;
5+
using System;
6+
using System.Collections.Generic;
7+
using System.Text;
8+
using Xunit;
9+
10+
namespace AA.FrameWork.Tests.Unit.RabbitMQ.ServiceBus
11+
{
12+
public class Producer
13+
{
14+
[Fact]
15+
public void TestProducer()
16+
{
17+
string rabbitMqUri = "rabbitmq://localhost:5672";
18+
string rabbitMqUserName = "";
19+
string rabbitMqPassword = "";
20+
21+
22+
PulishEvent(rabbitMqUri, rabbitMqUserName, rabbitMqPassword);
23+
SendCommand(rabbitMqUri, rabbitMqUserName, rabbitMqPassword);
24+
}
25+
26+
27+
private void PulishEvent(string rabbitMqUri, string rabbitMqUserName, string rabbitMqPassword)
28+
{
29+
IBusControl busControl = ServiceBusManager.Instance.UseRabbitMq(rabbitMqUri, rabbitMqUserName, rabbitMqPassword)
30+
.BuildEventProducer();
31+
32+
TaskUtil.Await(busControl.Publish<OrderSubmitted>(new
33+
{
34+
Id = 1
35+
}));
36+
}
37+
38+
private void SendCommand(string rabbitMqUri, string rabbitMqUserName, string rabbitMqPassword)
39+
{
40+
string queueName = "order.queue";
41+
42+
ISendEndpoint busControl = ServiceBusManager.Instance.UseRabbitMq(rabbitMqUri, rabbitMqUserName, rabbitMqPassword)
43+
.BuildCommandProducer(queueName);
44+
45+
TaskUtil.Await(busControl.Send<SubmitOrder>(new
46+
{
47+
Id = 10
48+
}));
49+
}
50+
}
51+
52+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text;
4+
5+
namespace AA.FrameWork.Tests.Unit.RabbitMQ.ServiceBus.meesageContracts
6+
{
7+
public interface OrderSubmitted
8+
{
9+
long Id { get; set; }
10+
decimal OrderPrice { get; set; }
11+
}
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text;
4+
5+
namespace AA.FrameWork.Tests.Unit.RabbitMQ.ServiceBus.meesageContracts
6+
{
7+
public interface SubmitOrder
8+
{
9+
long Id { get; set; }
10+
Decimal OrderPrice { get; set; }
11+
}
12+
}

AA.FrameWork.Tests.Unit/dapper/AADapperRepositoryTest.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public AADapperRepositoryTest()
2424
[Fact]
2525
public void TextInsert()
2626
{
27+
2728
var user = new UserInfo()
2829
{
2930
UserName = "chengTian",

AA.RabbitMQ/AA.RabbitMQ.csproj

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netstandard2.0</TargetFramework>
4+
<TargetFrameworks>net452;netstandard2.0</TargetFrameworks>
55
</PropertyGroup>
66

7+
<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
8+
<DefineConstants>$(DefineConstants);NETCORE</DefineConstants>
9+
</PropertyGroup>
10+
11+
<ItemGroup>
12+
<PackageReference Include="RabbitMQ.Client" Version="5.1.0" />
13+
</ItemGroup>
14+
715
</Project>

AA.RabbitMQ/EventMessage.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace AA.RabbitMQ
8+
{
9+
public class EventMessage
10+
{
11+
public string JsonBody { get; set; }
12+
}
13+
}

AA.RabbitMQ/MqConfigDom.cs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Configuration;
4+
using System.Linq;
5+
using System.Text;
6+
using System.Threading.Tasks;
7+
using RabbitMQ.Client.Framing;
8+
9+
namespace AA.RabbitMQ
10+
{
11+
public class MqConfigDom
12+
{
13+
public MqConfigDom()
14+
{
15+
16+
//MqHost = "localhost";
17+
//MqUserName = "yy";
18+
//MqPassword = "hello!";
19+
//MqHost = ConfigurationManager.AppSettings["RabbitMQ_HostName"];
20+
//MqUserName = ConfigurationManager.AppSettings["RabbitMQ_UserName"];
21+
//MqPassword = ConfigurationManager.AppSettings["RabbitMQ_Password"];
22+
MqPort = 5672;
23+
}
24+
25+
public string MqHost { get; set; }
26+
public string MqUserName { get; set; }
27+
public string MqPassword { get; set; }
28+
public int MqPort { get; set; }
29+
30+
}
31+
}

0 commit comments

Comments
 (0)