Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
CAP
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tsai
CAP
Commits
c619aff9
Commit
c619aff9
authored
Oct 19, 2017
by
Savorboard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor.
parent
7cd55522
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
49 additions
and
16 deletions
+49
-16
CapPublisherBase.cs
src/DotNetCore.CAP/Abstractions/CapPublisherBase.cs
+7
-3
IContentSerializer.cs
src/DotNetCore.CAP/Abstractions/IContentSerializer.cs
+9
-2
CAP.Builder.cs
src/DotNetCore.CAP/CAP.Builder.cs
+10
-0
CAP.ServiceCollectionExtensions.cs
src/DotNetCore.CAP/CAP.ServiceCollectionExtensions.cs
+1
-0
IQueueExecutor.Publish.Base.cs
src/DotNetCore.CAP/IQueueExecutor.Publish.Base.cs
+1
-1
IQueueExecutor.Subscribe.cs
src/DotNetCore.CAP/IQueueExecutor.Subscribe.cs
+1
-1
LoggerExtensions.cs
src/DotNetCore.CAP/LoggerExtensions.cs
+3
-3
CapMessageDto.cs
src/DotNetCore.CAP/Models/CapMessageDto.cs
+17
-6
No files found.
src/DotNetCore.CAP/Abstractions/CapPublisherBase.cs
View file @
c619aff9
...
...
@@ -68,13 +68,17 @@ namespace DotNetCore.CAP.Abstractions
protected
virtual
string
Serialize
<
T
>(
T
obj
,
string
callbackName
=
null
)
{
var
serializer
=
(
IContentSerializer
)
ServiceProvider
.
GetService
(
typeof
(
IContentSerializer
));
var
serializer
=
(
IContentSerializer
)
ServiceProvider
.
GetService
(
typeof
(
IContentSerializer
));
var
packer
=
(
IMessagePacker
)
ServiceProvider
.
GetService
(
typeof
(
IMessagePacker
));
var
message
=
new
CapMessageDto
(
obj
)
var
content
=
serializer
.
Serialize
(
obj
);
var
message
=
new
CapMessageDto
(
content
)
{
CallbackName
=
callbackName
};
return
serializer
.
Serialize
(
message
);
return
packer
.
Pack
(
message
);
}
#
region
private
methods
...
...
src/DotNetCore.CAP/Abstractions/IContentSerializer.cs
View file @
c619aff9
...
...
@@ -4,8 +4,15 @@ namespace DotNetCore.CAP.Abstractions
{
public
interface
IContentSerializer
{
string
Serialize
<
T
>(
T
obj
)
where
T
:
CapMessageDto
,
new
()
;
string
Serialize
<
T
>(
T
obj
);
T
DeSerialize
<
T
>(
string
content
)
where
T
:
CapMessageDto
,
new
();
T
DeSerialize
<
T
>(
string
content
);
}
public
interface
IMessagePacker
{
string
Pack
(
CapMessage
obj
);
CapMessage
UnPack
(
string
packingMessage
);
}
}
\ No newline at end of file
src/DotNetCore.CAP/CAP.Builder.cs
View file @
c619aff9
...
...
@@ -60,6 +60,16 @@ namespace DotNetCore.CAP
return
AddSingleton
(
typeof
(
IContentSerializer
),
typeof
(
T
));
}
/// <summary>
/// Add a custom message wapper
/// </summary>
/// <typeparam name="T">The type of the service.</typeparam>
public
CapBuilder
AddMessagePacker
<
T
>()
where
T
:
class
,
IMessagePacker
{
return
AddSingleton
(
typeof
(
IMessagePacker
),
typeof
(
T
));
}
/// <summary>
/// Adds a scoped service of the type specified in serviceType with an implementation
/// </summary>
...
...
src/DotNetCore.CAP/CAP.ServiceCollectionExtensions.cs
View file @
c619aff9
...
...
@@ -34,6 +34,7 @@ namespace Microsoft.Extensions.DependencyInjection
//Serializer and model binder
services
.
TryAddSingleton
<
IContentSerializer
,
JsonContentSerializer
>();
services
.
TryAddSingleton
<
IMessagePacker
,
DefaultMessagePacker
>();
services
.
TryAddSingleton
<
IConsumerServiceSelector
,
DefaultConsumerServiceSelector
>();
services
.
TryAddSingleton
<
IModelBinderFactory
,
ModelBinderFactory
>();
services
.
TryAddSingleton
<
IConsumerInvokerFactory
,
ConsumerInvokerFactory
>();
...
...
src/DotNetCore.CAP/IQueueExecutor.Publish.Base.cs
View file @
c619aff9
...
...
@@ -70,7 +70,7 @@ namespace DotNetCore.CAP
catch
(
Exception
ex
)
{
fetched
.
Requeue
();
_logger
.
ExceptionOccuredWhileExecuting
Job
(
message
?.
Name
,
ex
);
_logger
.
ExceptionOccuredWhileExecuting
(
message
?.
Name
,
ex
);
return
OperateResult
.
Failed
(
ex
);
}
}
...
...
src/DotNetCore.CAP/IQueueExecutor.Subscribe.cs
View file @
c619aff9
...
...
@@ -68,7 +68,7 @@ namespace DotNetCore.CAP
}
catch
(
Exception
ex
)
{
_logger
.
ExceptionOccuredWhileExecuting
Job
(
message
?.
Name
,
ex
);
_logger
.
ExceptionOccuredWhileExecuting
(
message
?.
Name
,
ex
);
fetched
.
Requeue
();
...
...
src/DotNetCore.CAP/LoggerExtensions.cs
View file @
c619aff9
...
...
@@ -93,7 +93,7 @@ namespace DotNetCore.CAP
_exceptionOccuredWhileExecutingJob
=
LoggerMessage
.
Define
<
string
>(
LogLevel
.
Error
,
6
,
"An exception occured while trying to execute a
job: '{Job
Id}'. "
+
"An exception occured while trying to execute a
message: '{Message
Id}'. "
+
"Requeuing for another retry."
);
}
...
...
@@ -157,9 +157,9 @@ namespace DotNetCore.CAP
_expectedOperationCanceledException
(
logger
,
ex
.
Message
,
ex
);
}
public
static
void
ExceptionOccuredWhileExecuting
Job
(
this
ILogger
logger
,
string
job
Id
,
Exception
ex
)
public
static
void
ExceptionOccuredWhileExecuting
(
this
ILogger
logger
,
string
message
Id
,
Exception
ex
)
{
_exceptionOccuredWhileExecutingJob
(
logger
,
job
Id
,
ex
);
_exceptionOccuredWhileExecutingJob
(
logger
,
message
Id
,
ex
);
}
public
static
void
ModelBinderFormattingException
(
this
ILogger
logger
,
string
methodName
,
string
parameterName
,
...
...
src/DotNetCore.CAP/Models/CapMessageDto.cs
View file @
c619aff9
...
...
@@ -3,7 +3,18 @@ using DotNetCore.CAP.Infrastructure;
namespace
DotNetCore.CAP.Models
{
public
class
CapMessageDto
public
abstract
class
CapMessage
{
public
virtual
string
Id
{
get
;
set
;
}
public
virtual
DateTime
Timestamp
{
get
;
set
;
}
public
virtual
string
Content
{
get
;
set
;
}
public
virtual
string
CallbackName
{
get
;
set
;
}
}
public
sealed
class
CapMessageDto
:
CapMessage
{
public
CapMessageDto
()
{
...
...
@@ -11,17 +22,17 @@ namespace DotNetCore.CAP.Models
Timestamp
=
DateTime
.
Now
;
}
public
CapMessageDto
(
object
content
)
:
this
()
public
CapMessageDto
(
string
content
)
:
this
()
{
Content
=
content
;
}
public
virtual
string
Id
{
get
;
set
;
}
public
override
string
Id
{
get
;
set
;
}
public
virtual
DateTime
Timestamp
{
get
;
set
;
}
public
override
DateTime
Timestamp
{
get
;
set
;
}
public
virtual
object
Content
{
get
;
set
;
}
public
override
string
Content
{
get
;
set
;
}
public
virtual
string
CallbackName
{
get
;
set
;
}
public
override
string
CallbackName
{
get
;
set
;
}
}
}
\ No newline at end of file
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