Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
byit-myth-job
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
liyuan
byit-myth-job
Commits
8c3ed3ee
Commit
8c3ed3ee
authored
Aug 04, 2020
by
huangfusuper
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修正注册key
parent
68ad25f0
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
9 deletions
+21
-9
RpcProviderFactory.java
...va/com/byit/rpc/remoting/provider/RpcProviderFactory.java
+18
-6
RpcSpringProviderFactory.java
.../rpc/remoting/provider/impl/RpcSpringProviderFactory.java
+3
-3
No files found.
byit-myth-rpc/src/main/java/com/byit/rpc/remoting/provider/RpcProviderFactory.java
View file @
8c3ed3ee
...
...
@@ -17,12 +17,16 @@ import org.slf4j.LoggerFactory;
import
java.lang.reflect.Method
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
/**
* provider
*/
public
class
RpcProviderFactory
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
RpcProviderFactory
.
class
);
public
static
final
String
SERVER_NANE_REG
=
"(.*)\\[(.*)\\]"
;
public
static
final
Pattern
PATTERN_SERVER_NANE_REG
=
Pattern
.
compile
(
SERVER_NANE_REG
);
// ---------------------- config ----------------------
...
...
@@ -145,12 +149,13 @@ public class RpcProviderFactory {
if
(
serviceData
.
size
()
>
0
)
{
Map
<
String
,
String
>
keyServerAddress
=
new
HashMap
<>(
16
);
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
serviceData
.
entrySet
())
{
//提供http请求的是服务的id,不包含.
if
(
entry
.
getKey
().
contains
(
"."
)){
keyServerAddress
.
put
(
entry
.
getKey
(),
serviceAddress
);
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
serviceDataReg
.
entrySet
())
{
Matcher
matcher
=
PATTERN_SERVER_NANE_REG
.
matcher
(
entry
.
getKey
());
//提供http请求还是rpc服务
if
(!
Boolean
.
parseBoolean
(
matcher
.
group
(
2
))){
keyServerAddress
.
put
(
matcher
.
group
(
1
),
serviceAddress
);
}
else
{
keyServerAddress
.
put
(
entry
.
getKey
(
),
httpServiceAddress
);
keyServerAddress
.
put
(
matcher
.
group
(
1
),
httpServiceAddress
);
}
}
serviceRegistry
.
registry
(
keyServerAddress
);
...
...
@@ -186,6 +191,10 @@ public class RpcProviderFactory {
* init local rpc service map
*/
private
Map
<
String
,
Object
>
serviceData
=
new
HashMap
<>();
/**
* 即将被注册的集合 和上面那个Map不一样的是他的key上携带了是否是http请求
*/
private
Map
<
String
,
Object
>
serviceDataReg
=
new
HashMap
<>();
public
Map
<
String
,
Object
>
getServiceData
()
{
return
serviceData
;
...
...
@@ -213,9 +222,12 @@ public class RpcProviderFactory {
* @param version
* @param serviceBean
*/
public
void
addService
(
String
iface
,
String
version
,
Object
serviceBean
)
{
public
void
addService
(
String
iface
,
String
version
,
Object
serviceBean
,
boolean
isHttp
)
{
String
serviceKey
=
makeServiceKey
(
iface
,
version
);
serviceData
.
put
(
serviceKey
,
serviceBean
);
//需要被注册的服务id
String
regServiceKey
=
String
.
format
(
"%s[%s]"
,
serviceKey
,
isHttp
);
serviceDataReg
.
put
(
regServiceKey
,
serviceBean
);
logger
.
info
(
">>>>>>>>>>> myth-rpc, provider factory add service success. serviceKey = {}, serviceBean = {}"
,
serviceKey
,
serviceBean
.
getClass
());
}
...
...
byit-myth-rpc/src/main/java/com/byit/rpc/remoting/provider/impl/RpcSpringProviderFactory.java
View file @
8c3ed3ee
...
...
@@ -132,11 +132,11 @@ public class RpcSpringProviderFactory extends RpcProviderFactory implements Appl
//如果提供的是htp服务
if
(
rpcService
.
http_type
())
{
this
.
isHttp
=
true
;
super
.
addService
(
this
.
serverName
,
version
,
serviceBean
);
super
.
addService
(
this
.
serverName
,
version
,
serviceBean
,
true
);
}
else
{
super
.
addService
(
serverName
,
version
,
serviceBean
);
super
.
addService
(
serverName
,
version
,
serviceBean
,
false
);
}
//回复map的放置规则
}
}
...
...
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