Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
matrix-sample
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
mall
arch
matrix-sample
Commits
78b5a8f2
Commit
78b5a8f2
authored
Mar 11, 2020
by
QIANGLU
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
up
parent
fcf0e5f4
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
190 additions
and
57 deletions
+190
-57
DumpClassesService.java
spring-boot-agent/src/main/java/com/qianglu/agent/service/DumpClassesService.java
+4
-1
pom.xml
spring-boot-dubbo/consumer/pom.xml
+30
-26
ConusmerController.java
spring-boot-dubbo/consumer/src/main/java/com/matrix/dubbo/consumer/controller/ConusmerController.java
+39
-0
TestFilter.java
spring-boot-dubbo/consumer/src/main/java/com/matrix/dubbo/consumer/service/TestFilter.java
+24
-0
org.apache.dubbo.rpc.Filter
spring-boot-dubbo/consumer/src/main/resources/MTEA-INF/dubbo/org.apache.dubbo.rpc.Filter
+2
-0
application.yml
spring-boot-dubbo/consumer/src/main/resources/application.yml
+13
-2
pom.xml
spring-boot-dubbo/provider/pom.xml
+28
-24
DemoProviderServiceImpl.java
spring-boot-dubbo/provider/src/main/java/com/matrix/dubbo/provider/service/DemoProviderServiceImpl.java
+33
-2
application.yml
spring-boot-dubbo/provider/src/main/resources/application.yml
+17
-2
No files found.
spring-boot-agent/src/main/java/com/qianglu/agent/service/DumpClassesService.java
View file @
78b5a8f2
...
...
@@ -17,7 +17,10 @@ public class DumpClassesService implements ClassFileTransformer {
private
static
final
List
<
String
>
SYSTEM_CLASS_PREFIX
=
Arrays
.
asList
(
"java"
,
"sum"
,
"jdk"
);
public
static
void
main
(
String
[]
args
)
throws
ClassNotFoundException
{
boolean
loaderIsAvailable
=
null
!=
Class
.
forName
(
"org.apache.dubbo.common.extension.ExtensionLoader"
);
System
.
out
.
println
(
loaderIsAvailable
);
}
@Override
public
byte
[]
transform
(
ClassLoader
loader
,
String
className
,
Class
<?>
classBeingRedefined
,
ProtectionDomain
protectionDomain
,
byte
[]
classfileBuffer
)
throws
IllegalClassFormatException
{
if
(!
isSystemClass
(
className
))
{
...
...
spring-boot-dubbo/consumer/pom.xml
View file @
78b5a8f2
...
...
@@ -2,46 +2,50 @@
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<artifactId>
spring-boot-dubbo
</artifactId>
<groupId>
com.
nova
</groupId>
<version>
1.
0-SNAPSHOT
</version>
<artifactId>
matrix
</artifactId>
<groupId>
com.
secoo.mall
</groupId>
<version>
1.
2.12.RELEASE
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
consumer
</artifactId>
<properties>
<revision>
2.7.5
</revision>
<java.version>
1.8
</java.version>
<dubbo.version>
2.7.0
</dubbo.version>
</properties>
<artifactId>
consumer
</artifactId>
<dependencies>
<dependency>
<groupId>
com.matrix
</groupId>
<artifactId>
dubbo-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
org.apache.dubbo
</groupId>
<artifactId>
dubbo-spring-boot-starter
</artifactId>
<version>
2.7.5
</version>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-autoconfigure
</artifactId>
</dependency>
<dependency>
<groupId>
org.apache.dubbo
</groupId>
<artifactId>
dubbo
</artifactId>
<version>
2.7.5
</version>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-actuator
</artifactId>
</dependency>
<!-- Zookeeper dependencies -->
<dependency>
<groupId>
org.apache.dubbo
</groupId>
<artifactId>
dubbo-dependencies-zookeeper
</artifactId>
<version>
2.7.5
</version>
<type>
pom
</type>
<exclusions>
<exclusion>
<groupId>
org.slf4j
</groupId>
<artifactId>
slf4j-log4j12
</artifactId>
</exclusion>
</exclusions>
<groupId>
com.matrix
</groupId>
<artifactId>
dubbo-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
matrix-protocol-dubbo-starter
</artifactId>
</dependency>
</dependencies>
...
...
spring-boot-dubbo/consumer/src/main/java/com/matrix/dubbo/consumer/controller/ConusmerController.java
View file @
78b5a8f2
package
com
.
matrix
.
dubbo
.
consumer
.
controller
;
import
com.alibaba.dubbo.common.Constants
;
import
com.matrix.dubbo.api.DemoService
;
import
com.matrix.dubbo.consumer.service.ConsumerService
;
import
com.matrix.dubbo.consumer.service.ConsumerServiceImpl
;
import
org.apache.dubbo.common.URL
;
import
org.apache.dubbo.common.extension.ExtensionLoader
;
import
org.apache.dubbo.common.store.DataStore
;
import
org.apache.dubbo.common.threadpool.ThreadPool
;
import
org.apache.dubbo.rpc.Filter
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
java.lang.reflect.InvocationTargetException
;
import
java.lang.reflect.Method
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ExecutorService
;
/**
* @ClassName DemoController
...
...
@@ -25,4 +36,32 @@ public class ConusmerController {
public
String
getDemo
()
{
return
consumerService
.
getConsumer
();
}
@RequestMapping
(
"/clazz"
)
public
String
clazz
()
throws
ClassNotFoundException
,
NoSuchMethodException
,
InvocationTargetException
,
IllegalAccessException
{
boolean
loaderIsAvailable
=
null
!=
Class
.
forName
(
"org.apache.dubbo.common.extension.ExtensionLoader"
);
if
(
loaderIsAvailable
)
{
Class
<?>
loaderClazz
=
Class
.
forName
(
"org.apache.dubbo.common.extension.ExtensionLoader"
);
Class
<?>
dataStore
=
Class
.
forName
(
"org.apache.dubbo.common.store.DataStore"
);
Method
method
=
loaderClazz
.
getDeclaredMethod
(
"getExtensionLoader"
,
Class
.
class
);
Object
loader
=
method
.
invoke
(
null
,
dataStore
);
Method
def
=
loaderClazz
.
getDeclaredMethod
(
"getDefaultExtension"
);
Object
extension
=
def
.
invoke
(
loader
);
Class
<?>
storeClazz
=
extension
.
getClass
();
Method
getstore
=
storeClazz
.
getDeclaredMethod
(
"get"
,
String
.
class
);
Map
<
String
,
Object
>
executors
=
(
Map
<
String
,
Object
>)
getstore
.
invoke
(
extension
,
ExecutorService
.
class
.
getName
());
System
.
out
.
println
(
executors
);
// ExtensionLoader extensionLoader = ExtensionLoader.getExtensionLoader(DataStore.class);
// ExtensionLoader extensionLThreadPooloader = ExtensionLoader.getExtensionLoader(ThreadPool.class);
// ExtensionLoader s = ExtensionLoader.getExtensionLoader(ThreadPool.class);
}
return
consumerService
.
getConsumer
();
}
}
spring-boot-dubbo/consumer/src/main/java/com/matrix/dubbo/consumer/service/TestFilter.java
0 → 100644
View file @
78b5a8f2
package
com
.
matrix
.
dubbo
.
consumer
.
service
;
import
org.apache.dubbo.common.extension.Activate
;
import
org.apache.dubbo.rpc.*
;
/**
* @ClassName TestFilter
* @Author QIANGLU
* @Date 2020/3/5 5:11 下午
* @Version 1.0
*/
@Activate
(
group
={
"consumer"
,
"provider"
},
order
=
4
)
public
class
TestFilter
implements
Filter
{
@Override
public
Result
invoke
(
Invoker
<?>
invoker
,
Invocation
invocation
)
throws
RpcException
{
return
null
;
}
public
static
void
main
(
String
[]
args
)
throws
ClassNotFoundException
{
boolean
loaderIsAvailable
=
null
!=
Class
.
forName
(
"org.apache.dubbo.common.extension.ExtensionLoader"
);
System
.
out
.
println
(
loaderIsAvailable
);
}
}
spring-boot-dubbo/consumer/src/main/resources/MTEA-INF/dubbo/org.apache.dubbo.rpc.Filter
0 → 100644
View file @
78b5a8f2
test=com.matrix.dubbo.consumer.service.TestFilter
\ No newline at end of file
spring-boot-dubbo/consumer/src/main/resources/application.yml
View file @
78b5a8f2
spring
:
application
:
name
:
consumer
main
:
allow-bean-definition-overriding
:
true
server
:
port
:
6081
dubbo
:
protocol
:
name
:
dubbo
port
:
11135
status
:
threadpool,memory,load
registry
:
address
:
zookeeper://127.0.0.1:2181
scan
:
base-packages
:
com.matrix.dubbo
application
:
qos-enable
:
true
provider
:
status
:
threadpool,memory,load
demo
:
service
:
version
:
1.0
\ No newline at end of file
version
:
1.0
management
:
endpoints
:
web
:
exposure
:
include
:
dubbo,dubbo-configs,dubbo-properties,health
spring-boot-dubbo/provider/pom.xml
View file @
78b5a8f2
...
...
@@ -3,43 +3,46 @@
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
provider
</artifactId>
<parent>
<artifactId>
spring-boot-dubbo
</artifactId>
<groupId>
com.
nova
</groupId>
<version>
1.
0-SNAPSHOT
</version>
<artifactId>
matrix
</artifactId>
<groupId>
com.
secoo.mall
</groupId>
<version>
1.
2.12.RELEASE
</version>
</parent>
<artifactId>
provider
</artifactId>
<properties>
<java.version>
1.8
</java.version>
</properties>
<dependencies>
<dependency>
<groupId>
com.matrix
</groupId>
<artifactId>
dubbo-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-autoconfigure
</artifactId>
</dependency>
<dependency>
<groupId>
org.apache.dubbo
</groupId>
<artifactId>
dubbo-spring-boot-starter
</artifactId>
<version>
2.7.5
</version>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-actuator
</artifactId>
</dependency>
<dependency>
<groupId>
org.apache.dubbo
</groupId>
<artifactId>
dubbo
</artifactId>
<version>
2.7.5
</version>
<groupId>
com.matrix
</groupId>
<artifactId>
dubbo
-api
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<!-- Zookeeper dependencies -->
<dependency>
<groupId>
org.apache.dubbo
</groupId>
<artifactId>
dubbo-dependencies-zookeeper
</artifactId>
<version>
2.7.5
</version>
<type>
pom
</type>
<exclusions>
<exclusion>
<groupId>
org.slf4j
</groupId>
<artifactId>
slf4j-log4j12
</artifactId>
</exclusion>
</exclusions>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
matrix-protocol-dubbo-starter
</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
spring-boot-dubbo/provider/src/main/java/com/matrix/dubbo/provider/service/DemoProviderServiceImpl.java
View file @
78b5a8f2
package
com
.
matrix
.
dubbo
.
provider
.
service
;
import
com.matrix.dubbo.api.DemoService
;
import
org.apache.dubbo.common.constants.CommonConstants
;
import
org.apache.dubbo.common.extension.ExtensionLoader
;
import
org.apache.dubbo.common.store.DataStore
;
import
org.apache.dubbo.config.annotation.Service
;
import
org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol
;
import
javax.annotation.Resource
;
import
java.lang.reflect.Method
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ExecutorService
;
/**
* @ClassName DemoServiceImpl
...
...
@@ -12,11 +20,34 @@ import javax.annotation.Resource;
* @Version 1.0
*/
@Service
(
version
=
"1.0"
)
public
class
DemoProviderServiceImpl
implements
DemoService
{
public
class
DemoProviderServiceImpl
implements
DemoService
{
@Override
public
String
getDemo
()
{
return
"this is provider"
;
DataStore
s
=
ExtensionLoader
.
getExtensionLoader
(
DataStore
.
class
).
getDefaultExtension
();
try
{
boolean
loaderIsAvailable
=
null
!=
Class
.
forName
(
"org.apache.dubbo.common.extension.ExtensionLoader"
);
// if (loaderIsAvailable) {
// Class<?> loaderClazz = Class.forName("org.apache.dubbo.common.extension.ExtensionLoader");
// Class<?> dataStore = Class.forName("org.apache.dubbo.common.store.DataStore");
// Method method = loaderClazz.getDeclaredMethod("getExtensionLoader", Class.class);
// Object loader = method.invoke(null, dataStore);
//
// Method def = loaderClazz.getDeclaredMethod("getDefaultExtension");
// Object extension = def.invoke(loader);
//
// Class<?> storeClazz = extension.getClass();
// Method getstore = storeClazz.getDeclaredMethod("get", String.class);
// Map<String, Object> executors = (Map<String, Object>) getstore.invoke(extension, ExecutorService.class.getName());
// System.out.println(executors);
// }
}
catch
(
Exception
e
)
{
}
return
"this is provider "
;
}
}
spring-boot-dubbo/provider/src/main/resources/application.yml
View file @
78b5a8f2
...
...
@@ -7,10 +7,16 @@ dubbo:
protocol
:
name
:
dubbo
port
:
11134
threadpool
:
fixed
threads
:
100
registry
:
address
:
zookeeper://127.0.0.1:2181
scan
:
base-packages
:
com.matrix.dubbo.provider.service
application
:
qos-enable
:
true
provider
:
status
:
threadpool,memory,load
demo
:
service
:
version
:
1.0
...
...
@@ -18,4 +24,13 @@ demo:
embedded
:
zookeeper
:
port
:
2181
\ No newline at end of file
port
:
2181
management
:
endpoints
:
dubbo
:
enabled
:
true
status
:
defaults
:
load,threadpool
web
:
exposure
:
include
:
matrixlog,health,info,load,threadpool
\ 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