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
bcec9771
Commit
bcec9771
authored
Jan 30, 2021
by
房斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1解决dubbo tomcat 加载类的判断。没有使用不加载 2执行顺序 tomcat优先dubbo 停机
parent
5f09c068
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
109 additions
and
113 deletions
+109
-113
StopService.java
common-core/src/main/java/com/secoo/mall/common/core/service/StopService.java
+1
-0
GracefullyShoutDown.java
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/service/GracefullyShoutDown.java
+63
-89
DubboCustomerDownHock.java
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/service/impl/DubboCustomerDownHock.java
+1
-1
TomcatConnectShoutDownHock.java
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/service/impl/TomcatConnectShoutDownHock.java
+2
-5
MatrixGracefulShutDownAutoConfiguration.java
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/spring/boot/autoconfigure/MatrixGracefulShutDownAutoConfiguration.java
+42
-17
MatrixDubboAutoConfiguration.java
matrix-protocol/matrix-protocol-dubbo-starter/src/main/java/com/secoo/mall/dubbo/spring/boot/autoconfigure/MatrixDubboAutoConfiguration.java
+0
-1
No files found.
common-core/src/main/java/com/secoo/mall/common/core/service/StopService.java
View file @
bcec9771
...
@@ -4,4 +4,5 @@ public interface StopService <T>{
...
@@ -4,4 +4,5 @@ public interface StopService <T>{
public
T
stop
();
public
T
stop
();
}
}
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/s
pring/boot/autoconfigur
e/GracefullyShoutDown.java
→
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/s
ervic
e/GracefullyShoutDown.java
View file @
bcec9771
This diff is collapsed.
Click to expand it.
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/service/impl/DubboCustomerDownHock.java
View file @
bcec9771
...
@@ -40,7 +40,7 @@ public class DubboCustomerDownHock extends AbstractStop {
...
@@ -40,7 +40,7 @@ public class DubboCustomerDownHock extends AbstractStop {
public
ExecutorDetail
stop
()
{
public
ExecutorDetail
stop
()
{
ExecutorDetail
detail
=
new
ExecutorDetail
();
ExecutorDetail
detail
=
new
ExecutorDetail
();
detail
.
setBeginTime
(
DateUtil
.
getDateTime
());
detail
.
setBeginTime
(
DateUtil
.
getDateTime
());
detail
.
setServiceName
(
"dubboDownHock10
13
"
);
detail
.
setServiceName
(
"dubboDownHock10
25
"
);
List
<
String
>
str
=
new
ArrayList
<
String
>();
List
<
String
>
str
=
new
ArrayList
<
String
>();
detail
.
setDetail
(
str
);
detail
.
setDetail
(
str
);
detail
.
setCode
(
0
);
detail
.
setCode
(
0
);
...
...
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/service/impl/
Servle
tConnectShoutDownHock.java
→
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/service/impl/
Tomca
tConnectShoutDownHock.java
View file @
bcec9771
...
@@ -5,8 +5,6 @@ import com.secoo.mall.common.util.string.StringUtil;
...
@@ -5,8 +5,6 @@ import com.secoo.mall.common.util.string.StringUtil;
import
com.secoo.mall.common.core.bean.gracefulshowtdownBean.ExecutorDetail
;
import
com.secoo.mall.common.core.bean.gracefulshowtdownBean.ExecutorDetail
;
import
com.secoo.mall.dubbo.service.AbstractStop
;
import
com.secoo.mall.dubbo.service.AbstractStop
;
import
org.apache.catalina.connector.Connector
;
import
org.apache.catalina.connector.Connector
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.concurrent.Executor
;
import
java.util.concurrent.Executor
;
...
@@ -14,8 +12,7 @@ import java.util.concurrent.ThreadPoolExecutor;
...
@@ -14,8 +12,7 @@ import java.util.concurrent.ThreadPoolExecutor;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
//springboot 容器关闭
//springboot 容器关闭
@Component
public
class
TomcatConnectShoutDownHock
extends
AbstractStop
{
public
class
ServletConnectShoutDownHock
extends
AbstractStop
{
private
volatile
Connector
connector
;
private
volatile
Connector
connector
;
public
Connector
getConnector
()
{
public
Connector
getConnector
()
{
...
@@ -67,6 +64,6 @@ public class ServletConnectShoutDownHock extends AbstractStop {
...
@@ -67,6 +64,6 @@ public class ServletConnectShoutDownHock extends AbstractStop {
@Override
@Override
public
Integer
getHandleTypeOrder
()
{
public
Integer
getHandleTypeOrder
()
{
return
1
;
return
-
1
;
}
}
}
}
matrix-gracefulshutdown/src/main/java/com/secoo/mall/dubbo/spring/boot/autoconfigure/MatrixGracefulShutDownAutoConfiguration.java
View file @
bcec9771
...
@@ -5,15 +5,17 @@ import com.secoo.mall.dubbo.monitor.config.ConfigCenter;
...
@@ -5,15 +5,17 @@ import com.secoo.mall.dubbo.monitor.config.ConfigCenter;
import
com.secoo.mall.dubbo.monitor.dubbo.service.ProviderService
;
import
com.secoo.mall.dubbo.monitor.dubbo.service.ProviderService
;
import
com.secoo.mall.dubbo.monitor.dubbo.service.RegistryServerSync
;
import
com.secoo.mall.dubbo.monitor.dubbo.service.RegistryServerSync
;
import
com.secoo.mall.dubbo.monitor.dubbo.service.impl.ProviderServiceImpl
;
import
com.secoo.mall.dubbo.monitor.dubbo.service.impl.ProviderServiceImpl
;
import
com.secoo.mall.dubbo.service.GracefullyShoutDown
;
import
com.secoo.mall.dubbo.service.TomcatGracefullyShutDown
;
import
com.secoo.mall.dubbo.service.impl.DubboCustomerDownHock
;
import
com.secoo.mall.dubbo.service.impl.DubboCustomerDownHock
;
import
com.secoo.mall.dubbo.service.DubboUpdata
;
import
com.secoo.mall.dubbo.service.DubboUpdata
;
import
com.secoo.mall.dubbo.service.impl.
Servle
tConnectShoutDownHock
;
import
com.secoo.mall.dubbo.service.impl.
Tomca
tConnectShoutDownHock
;
import
org.apache.dubbo.common.URL
;
import
org.apache.dubbo.common.URL
;
import
org.apache.dubbo.config.spring.context.annotation.EnableDubbo
;
import
org.apache.dubbo.registry.Registry
;
import
org.apache.dubbo.registry.Registry
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnExpression
;
import
org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.DependsOn
;
import
org.springframework.context.annotation.DependsOn
;
...
@@ -23,18 +25,15 @@ import org.springframework.context.annotation.DependsOn;
...
@@ -23,18 +25,15 @@ import org.springframework.context.annotation.DependsOn;
public
class
MatrixGracefulShutDownAutoConfiguration
{
public
class
MatrixGracefulShutDownAutoConfiguration
{
@Bean
@Bean
@ConditionalOnClass
(
RegistryServerSync
.
class
)
@ConditionalOnExpression
(
"!T(org.springframework.util.StringUtils).isEmpty('${dubbo.registry.address:}')"
)
ProviderService
createProviderService
(
Registry
registry
,
RegistryServerSync
sync
)
{
ProviderService
createProviderService
(
Registry
registry
,
RegistryServerSync
sync
)
{
return
new
ProviderServiceImpl
(
registry
,
sync
);
return
new
ProviderServiceImpl
(
registry
,
sync
);
}
}
@Bean
@Bean
ServletConnectShoutDownHock
createServletConnectShoutDownHock
()
{
@ConditionalOnExpression
(
"!T(org.springframework.util.StringUtils).isEmpty('${dubbo.registry.address:}')"
)
return
new
ServletConnectShoutDownHock
();
@ConditionalOnClass
(
ConfigCenter
.
class
)
}
@Bean
@ConditionalOnBean
(
ConfigCenter
.
class
)
@DependsOn
(
"configCenter"
)
@DependsOn
(
"configCenter"
)
UpDatas
dubboUpdata
(
ConfigCenter
configCenter
){
UpDatas
dubboUpdata
(
ConfigCenter
configCenter
){
DubboUpdata
transport
=
new
DubboUpdata
();
DubboUpdata
transport
=
new
DubboUpdata
();
...
@@ -46,27 +45,52 @@ public class MatrixGracefulShutDownAutoConfiguration {
...
@@ -46,27 +45,52 @@ public class MatrixGracefulShutDownAutoConfiguration {
}
}
@Bean
@Bean
public
GracefullyShoutDown
createGraceObject
(
ServletConnectShoutDownHock
servletConnectShoutDownHock
,
ProviderService
providerService
,
UpDatas
dubboUpdata
)
{
@ConditionalOnExpression
(
"!T(org.springframework.util.StringUtils).isEmpty('${dubbo.registry.address:}')"
)
return
new
GracefullyShoutDown
(
servletConnectShoutDownHock
,
providerService
,
dubboUpdata
);
DubboCustomerDownHock
createDubboConsumerDownHock
(
ProviderService
providerService
)
{
return
new
DubboCustomerDownHock
(
providerService
);
}
}
@Bean
@Bean
@ConditionalOnExpression
(
"!T(org.springframework.util.StringUtils).isEmpty('${dubbo.registry.address:}')"
)
public
RegistryServerSync
createSynObject
(
Registry
registry
)
{
public
RegistryServerSync
createSynObject
(
Registry
registry
)
{
return
new
RegistryServerSync
(
registry
);
return
new
RegistryServerSync
(
registry
);
}
}
@Bean
DubboCustomerDownHock
createDubboConsumerDownHock
(
ProviderService
providerService
)
{
return
new
DubboCustomerDownHock
(
providerService
);
}
@Bean
@Bean
@ConditionalOnExpression
(
"!T(org.springframework.util.StringUtils).isEmpty('${dubbo.registry.address:}')"
)
ConfigCenter
configCenter
(){
ConfigCenter
configCenter
(){
return
new
ConfigCenter
();
return
new
ConfigCenter
();
}
}
@Bean
@ConditionalOnClass
(
TomcatConnectorCustomizer
.
class
)
TomcatConnectShoutDownHock
createServletConnectShoutDownHock
()
{
return
new
TomcatConnectShoutDownHock
();
}
@Bean
@ConditionalOnClass
(
TomcatConnectShoutDownHock
.
class
)
public
TomcatGracefullyShutDown
createSpringbootTomcatInit
(
TomcatConnectShoutDownHock
tomcatConnectShoutDownHock
){
return
new
TomcatGracefullyShutDown
(
tomcatConnectShoutDownHock
);
}
// @Bean
// public GracefullyShoutDown createGraceObject(TomcatConnectShoutDownHock servletConnectShoutDownHock, ProviderService providerService, UpDatas dubboUpdata) {
// return new GracefullyShoutDown( servletConnectShoutDownHock, providerService, dubboUpdata);
// }
@Bean
@ConditionalOnExpression
(
"!T(org.springframework.util.StringUtils).isEmpty('${dubbo.registry.address:}')"
)
public
GracefullyShoutDown
createGraceObject
(
UpDatas
dubboUpdata
)
{
return
new
GracefullyShoutDown
(
dubboUpdata
);
}
}
}
\ No newline at end of file
matrix-protocol/matrix-protocol-dubbo-starter/src/main/java/com/secoo/mall/dubbo/spring/boot/autoconfigure/MatrixDubboAutoConfiguration.java
View file @
bcec9771
...
@@ -8,7 +8,6 @@ import com.secoo.mall.dubbo.monitor.dubbo.service.ProviderService;
...
@@ -8,7 +8,6 @@ import com.secoo.mall.dubbo.monitor.dubbo.service.ProviderService;
import
com.secoo.mall.dubbo.monitor.dubbo.service.RegistryServerSync
;
import
com.secoo.mall.dubbo.monitor.dubbo.service.RegistryServerSync
;
import
com.secoo.mall.dubbo.monitor.dubbo.service.impl.ProviderServiceImpl
;
import
com.secoo.mall.dubbo.monitor.dubbo.service.impl.ProviderServiceImpl
;
import
com.secoo.mall.dubbo.service.ServletConnectShoutDownHock
;
import
com.secoo.mall.dubbo.swagger.annotations.EnableDubboSwagger
;
import
com.secoo.mall.dubbo.swagger.annotations.EnableDubboSwagger
;
import
org.apache.dubbo.config.spring.context.annotation.EnableDubbo
;
import
org.apache.dubbo.config.spring.context.annotation.EnableDubbo
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
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