Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Marat Pavlov
/
AlexAdapter
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
71d80092
authored
Mar 01, 2022
by
Alex Nasyr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
111
parent
4f3ed0f0
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
21 additions
and
23 deletions
DDO_Application/Controllers/apiController.cs
DDO_Application/Model/ITransactionConsumer.cs
DDO_Application/Model/MessageCunsomer.cs
DDO_Application/Model/ReceivedMessage.cs
DDO_Application/Services/ApiHostedService.cs
DDO_Application/Startup.cs
DDO_Application/Controllers/apiController.cs
View file @
71d80092
...
@@ -11,6 +11,7 @@ namespace DDO_Application.Controllers {
...
@@ -11,6 +11,7 @@ namespace DDO_Application.Controllers {
[
ApiController
]
[
ApiController
]
public
class
apiController
:
ControllerBase
{
public
class
apiController
:
ControllerBase
{
private
readonly
MessageProducer
_messageProducer
;
private
readonly
MessageProducer
_messageProducer
;
private
readonly
MessageCunsomer
_messageCunsomer
;
private
IApiService
_apiService
;
private
IApiService
_apiService
;
public
IServiceProvider
Services
{
get
;
}
public
IServiceProvider
Services
{
get
;
}
...
@@ -39,12 +40,14 @@ namespace DDO_Application.Controllers {
...
@@ -39,12 +40,14 @@ namespace DDO_Application.Controllers {
[
HttpPost
]
[
HttpPost
]
[
Route
(
"[controller]/sendmsg/{msg}"
)]
[
Route
(
"[controller]/sendmsg/{msg}"
)]
public
async
Task
<
IActionResult
>
SendMessage
(
string
msg
)
{
public
async
Task
<
IActionResult
>
SendMessage
(
string
msg
)
{
await
_messageProducer
.
PublishAsync
(
msg
);
var
@event
=
new
ReceivedMessage
{
Id
=
1
,
Message
=
"hello"
};
await
_messageProducer
.
PublishAsync
(
@event
);
return
StatusCode
((
int
)
HttpStatusCode
.
Created
,
null
);
return
StatusCode
((
int
)
HttpStatusCode
.
Created
,
null
);
}
}
[
HttpPost
]
[
HttpPost
]
[
Route
(
"[controller]/receivemsg"
)]
[
Route
(
"[controller]/receivemsg"
)]
public
async
Task
<
IActionResult
>
ReceiveMessage
()
{
public
async
Task
<
IActionResult
>
ReceiveMessage
()
{
return
StatusCode
((
int
)
HttpStatusCode
.
Created
,
null
);
return
StatusCode
((
int
)
HttpStatusCode
.
Created
,
null
);
}
}
}
}
...
...
DDO_Application/Model/ITransactionConsumer.cs
deleted
100644 → 0
View file @
4f3ed0f0
using
ActiveMQ.Artemis.Client
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
ActiveMQ.Artemis.Client.Transactions
;
namespace
DDO_Application.Model
{
public
interface
ITransactionConsumer
{
Task
ConsumeAsync
(
Message
message
,
Transaction
transaction
,
CancellationToken
cancellationToken
);
}
}
DDO_Application/Model/MessageCunsomer.cs
View file @
71d80092
...
@@ -5,8 +5,9 @@ using System.Threading.Tasks;
...
@@ -5,8 +5,9 @@ using System.Threading.Tasks;
using
ActiveMQ.Artemis.Client.Transactions
;
using
ActiveMQ.Artemis.Client.Transactions
;
namespace
DDO_Application.Model
{
namespace
DDO_Application.Model
{
public
class
MessageCunsomer
:
ITransactionConsumer
{
public
class
MessageCunsomer
:
ITypedConsumer
<
ReceivedMessage
>
{
public
async
Task
ConsumeAsync
(
Message
message
,
Transaction
transaction
,
CancellationToken
cancellationToken
)
{
public
async
Task
ConsumeAsync
(
ReceivedMessage
message
,
CancellationToken
cancellationToken
)
{
Console
.
WriteLine
(
message
);
Console
.
WriteLine
(
message
);
}
}
}
}
...
...
DDO_Application/Model/ReceivedMessage.cs
0 → 100644
View file @
71d80092
namespace
DDO_Application.Model
{
public
class
ReceivedMessage
{
public
int
Id
{
get
;
set
;
}
public
string
Message
{
get
;
set
;
}
}
}
DDO_Application/Services/ApiHostedService.cs
View file @
71d80092
...
@@ -14,10 +14,7 @@ namespace DDO_Application.Services {
...
@@ -14,10 +14,7 @@ namespace DDO_Application.Services {
private
async
Task
DoWork
(
CancellationToken
stoppingToken
)
{
private
async
Task
DoWork
(
CancellationToken
stoppingToken
)
{
using
(
var
scope
=
Services
.
CreateScope
())
{
using
(
var
scope
=
Services
.
CreateScope
())
{
var
uploadProcessingService
=
var
uploadProcessingService
=
scope
.
ServiceProvider
.
GetRequiredService
<
IApiService
>();
scope
.
ServiceProvider
.
GetRequiredService
<
IApiService
>();
await
uploadProcessingService
.
DoWork
(
stoppingToken
);
await
uploadProcessingService
.
DoWork
(
stoppingToken
);
}
}
}
}
...
...
DDO_Application/Startup.cs
View file @
71d80092
...
@@ -33,12 +33,14 @@ namespace DDO_Application {
...
@@ -33,12 +33,14 @@ namespace DDO_Application {
services
.
AddHostedService
<
ApiHostedService
>();
services
.
AddHostedService
<
ApiHostedService
>();
services
.
AddSingleton
<
IApiService
,
ApiProcessingService
>();
services
.
AddSingleton
<
IApiService
,
ApiProcessingService
>();
// turn enable ActiveMQ support in project
// turn enable ActiveMQ support in project
services
.
AddActiveMq
(
"ddoApp-cluster"
,
new
[]
{
Endpoint
.
Create
(
host
:
"192.168.2.19"
,
port
:
5672
,
"guest"
,
"guest"
)
})
//services.AddActiveMq("ddoApp-cluster", new[] { Endpoint.Create(host: "192.168.2.19", port: 5672, "guest", "guest") })
services
.
AddActiveMq
(
"ddoApp-cluster"
,
new
[]
{
Endpoint
.
Create
(
host
:
"192.168.2.22"
,
port
:
5672
,
"guest"
,
"guest"
)
})
.
AddAnonymousProducer
<
MessageProducer
>()
.
AddAnonymousProducer
<
MessageProducer
>()
.
AddConsumer
(
"test"
,
RoutingType
.
Multicast
,
async
(
message
,
consumer
,
serviceProvider
,
cancellationToken
)
=>
{
.
AddTypedConsumer
<
ReceivedMessage
,
MessageCunsomer
>(
RoutingType
.
Multicast
);
// your consuming logic
//.AddConsumer("test", RoutingType.Multicast, async (message, consumer, serviceProvider, cancellationToken) => {
await
consumer
.
AcceptAsync
(
message
);
// // your consuming logic
});
// await consumer.AcceptAsync(message);
//});
services
.
AddActiveMqHostedService
();
services
.
AddActiveMqHostedService
();
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment