Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
matrix
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
CI / CD
CI / CD
Pipelines
Schedules
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
mall
arch
matrix
Commits
107c2332
Commit
107c2332
authored
Jan 21, 2021
by
房斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
解决depender依赖 顺序问题
parent
47bed17b
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
86 additions
and
36 deletions
+86
-36
RegistryServerSync.java
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/monitor/dubbo/service/RegistryServerSync.java
+6
-1
AbstractService.java
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/monitor/dubbo/service/impl/AbstractService.java
+23
-2
ConsumerServiceImpl.java
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/monitor/dubbo/service/impl/ConsumerServiceImpl.java
+6
-0
ProviderServiceImpl.java
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/monitor/dubbo/service/impl/ProviderServiceImpl.java
+5
-1
DubboCustomerDownHock.java
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/service/impl/DubboCustomerDownHock.java
+6
-6
GracefullyShoutDown.java
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/spring/boot/autoconfigure/GracefullyShoutDown.java
+11
-4
MatrixGracefulShutDownAutoConfiguration.java
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/spring/boot/autoconfigure/MatrixGracefulShutDownAutoConfiguration.java
+29
-22
No files found.
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/monitor/dubbo/service/RegistryServerSync.java
View file @
107c2332
...
...
@@ -38,6 +38,9 @@ import java.util.concurrent.ConcurrentMap;
import
java.util.concurrent.atomic.AtomicLong
;
public
class
RegistryServerSync
implements
InitializingBean
,
DisposableBean
,
NotifyListener
,
CommandLineRunner
{
public
RegistryServerSync
(
Registry
registry
)
{
this
.
registry
=
registry
;
}
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
RegistryServerSync
.
class
);
...
...
@@ -65,9 +68,11 @@ public class RegistryServerSync implements InitializingBean, DisposableBean, Not
* registryCache
*/
private
final
ConcurrentMap
<
String
,
ConcurrentMap
<
String
,
Map
<
String
,
URL
>>>
registryCache
=
new
ConcurrentHashMap
<>();
@Autowired
// @Autowired
private
Registry
registry
;
public
ConcurrentMap
<
String
,
ConcurrentMap
<
String
,
Map
<
String
,
URL
>>>
getRegistryCache
()
{
return
registryCache
;
}
...
...
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/monitor/dubbo/service/impl/AbstractService.java
View file @
107c2332
...
...
@@ -31,12 +31,33 @@ public class AbstractService {
protected
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AbstractService
.
class
);
@Autowired
//
@Autowired
protected
Registry
registry
;
@Autowired
//
@Autowired
private
RegistryServerSync
sync
;
public
AbstractService
(
Registry
registry
,
RegistryServerSync
sync
)
{
this
.
registry
=
registry
;
this
.
sync
=
sync
;
}
public
Registry
getRegistry
()
{
return
registry
;
}
public
void
setRegistry
(
Registry
registry
)
{
this
.
registry
=
registry
;
}
public
RegistryServerSync
getSync
()
{
return
sync
;
}
public
void
setSync
(
RegistryServerSync
sync
)
{
this
.
sync
=
sync
;
}
public
ConcurrentMap
<
String
,
ConcurrentMap
<
String
,
Map
<
String
,
URL
>>>
getRegistryCache
()
{
return
sync
.
getRegistryCache
();
}
...
...
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/monitor/dubbo/service/impl/ConsumerServiceImpl.java
View file @
107c2332
...
...
@@ -20,8 +20,10 @@ package com.secoo.mall.dubbo.monitor.dubbo.service.impl;
import
com.secoo.mall.dubbo.monitor.dubbo.Constants.Constants
;
import
com.secoo.mall.dubbo.monitor.dubbo.model.domain.Consumer
;
import
com.secoo.mall.dubbo.monitor.dubbo.service.ConsumerService
;
import
com.secoo.mall.dubbo.monitor.dubbo.service.RegistryServerSync
;
import
com.secoo.mall.dubbo.monitor.utils.SyncUtils
;
import
org.apache.dubbo.common.URL
;
import
org.apache.dubbo.registry.Registry
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
...
...
@@ -31,6 +33,10 @@ import java.util.Map;
@Component
public
class
ConsumerServiceImpl
extends
AbstractService
implements
ConsumerService
{
public
ConsumerServiceImpl
(
Registry
registry
,
RegistryServerSync
sync
)
{
super
(
registry
,
sync
);
}
@Override
public
List
<
Consumer
>
findByService
(
String
service
)
{
return
SyncUtils
.
url2ConsumerList
(
findConsumerUrlByService
(
service
));
...
...
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/monitor/dubbo/service/impl/ProviderServiceImpl.java
View file @
107c2332
...
...
@@ -25,11 +25,13 @@ import com.secoo.mall.dubbo.monitor.dubbo.exception.ParamValidationException;
import
com.secoo.mall.dubbo.monitor.dubbo.model.domain.Provider
;
import
com.secoo.mall.dubbo.monitor.dubbo.model.dto.ServiceDTO
;
import
com.secoo.mall.dubbo.monitor.dubbo.service.ProviderService
;
import
com.secoo.mall.dubbo.monitor.dubbo.service.RegistryServerSync
;
import
com.secoo.mall.dubbo.monitor.utils.Pair
;
import
com.secoo.mall.dubbo.monitor.utils.ParseUtils
;
import
com.secoo.mall.dubbo.monitor.utils.SyncUtils
;
import
com.secoo.mall.dubbo.monitor.utils.Tool
;
import
org.apache.dubbo.common.URL
;
import
org.apache.dubbo.registry.Registry
;
import
org.springframework.stereotype.Service
;
import
java.text.SimpleDateFormat
;
...
...
@@ -42,7 +44,9 @@ import java.util.stream.Collectors;
@Service
public
class
ProviderServiceImpl
extends
AbstractService
implements
ProviderService
{
public
ProviderServiceImpl
(
Registry
registry
,
RegistryServerSync
sync
)
{
super
(
registry
,
sync
);
}
//注册 服务
@Override
...
...
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/service/impl/DubboCustomerDownHock.java
View file @
107c2332
...
...
@@ -23,11 +23,11 @@ import java.util.List;
public
class
DubboCustomerDownHock
extends
AbstractStop
{
@Autowired
private
final
ProviderService
providerService
;
//
@Autowired
private
ProviderService
providerService
;
public
DubboCustomerDownHock
()
{
providerService
=
null
;
public
DubboCustomerDownHock
(
ProviderService
providerService
)
{
this
.
providerService
=
providerService
;
}
@Override
...
...
@@ -79,11 +79,11 @@ public class DubboCustomerDownHock extends AbstractStop {
}
}
DubboShutdownHook
.
getDubboShutdownHook
().
doDestroy
();
}
catch
(
Exception
e
)
{
DubboShutdownHook
.
getDubboShutdownHook
().
doDestroy
();
detail
.
setCode
(-
1
);
str
.
add
(
" error :matirx-monitor offDubbo "
+
e
.
toString
()
+
StringUtil
.
line
());
}
finally
{
DubboShutdownHook
.
getDubboShutdownHook
().
doDestroy
();
}
detail
.
setEndTime
(
DateUtil
.
getDateTime
());
return
detail
;
...
...
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/spring/boot/autoconfigure/GracefullyShoutDown.java
View file @
107c2332
...
...
@@ -35,15 +35,22 @@ import static org.springframework.context.support.AbstractApplicationContext.APP
public
class
GracefullyShoutDown
implements
CommandLineRunner
,
ApplicationListener
<
ContextClosedEvent
>,
TomcatConnectorCustomizer
,
ApplicationContextAware
{
private
static
final
int
TIMEOUT
=
10
;
private
final
Logger
logger
=
LoggerFactory
.
getLogger
(
this
.
getClass
());
@Autowired
//
@Autowired
ServletConnectShoutDownHock
servletConnectShoutDownHock
;
private
ApplicationContext
context
;
@Autowired
private
final
ProviderService
providerService
=
null
;
//
@Autowired
private
ProviderService
providerService
;
@Autowired
//
@Autowired
UpDatas
dubboUpdata
;
public
GracefullyShoutDown
(
ServletConnectShoutDownHock
servletConnectShoutDownHock
,
ProviderService
providerService
,
UpDatas
dubboUpdata
){
this
.
servletConnectShoutDownHock
=
servletConnectShoutDownHock
;
this
.
providerService
=
providerService
;
this
.
dubboUpdata
=
dubboUpdata
;
}
//容器初始化后执行
@Override
...
...
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/spring/boot/autoconfigure/MatrixGracefulShutDownAutoConfiguration.java
View file @
107c2332
...
...
@@ -11,6 +11,8 @@ import com.secoo.mall.dubbo.service.impl.ServletConnectShoutDownHock;
import
org.apache.dubbo.common.URL
;
import
org.apache.dubbo.config.spring.context.annotation.EnableDubbo
;
import
org.apache.dubbo.registry.Registry
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnBean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -18,22 +20,11 @@ import org.springframework.context.annotation.DependsOn;
@Configuration
@EnableDubbo
public
class
MatrixGracefulShutDownAutoConfiguration
{
public
class
MatrixGracefulShutDownAutoConfiguration
{
@Bean
public
GracefullyShoutDown
createGraceObject
()
{
return
new
GracefullyShoutDown
();
}
@Bean
public
RegistryServerSync
createSynObject
()
{
return
new
RegistryServerSync
();
}
@Bean
ProviderService
createProviderService
()
{
return
new
ProviderServiceImpl
();
ProviderService
createProviderService
(
Registry
registry
,
RegistryServerSync
sync
)
{
return
new
ProviderServiceImpl
(
registry
,
sync
);
}
@Bean
...
...
@@ -41,14 +32,6 @@ import org.springframework.context.annotation.DependsOn;
return
new
ServletConnectShoutDownHock
();
}
@Bean
DubboCustomerDownHock
createDubboConsumerDownHock
()
{
return
new
DubboCustomerDownHock
();
}
@Bean
ConfigCenter
configCenter
(){
return
new
ConfigCenter
();
}
@Bean
@ConditionalOnBean
(
ConfigCenter
.
class
)
...
...
@@ -62,5 +45,28 @@ import org.springframework.context.annotation.DependsOn;
}
@Bean
public
GracefullyShoutDown
createGraceObject
(
ServletConnectShoutDownHock
servletConnectShoutDownHock
,
ProviderService
providerService
,
UpDatas
dubboUpdata
)
{
return
new
GracefullyShoutDown
(
servletConnectShoutDownHock
,
providerService
,
dubboUpdata
);
}
@Bean
public
RegistryServerSync
createSynObject
(
Registry
registry
)
{
return
new
RegistryServerSync
(
registry
);
}
@Bean
DubboCustomerDownHock
createDubboConsumerDownHock
(
ProviderService
providerService
)
{
return
new
DubboCustomerDownHock
(
providerService
);
}
@Bean
ConfigCenter
configCenter
(){
return
new
ConfigCenter
();
}
}
\ 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