Skip to content

Commit 7021e60

Browse files
authored
0.2.1 (#346)
* Fix #169 * Polish : #324 & #325 * Polish : #315 * Polish : #321 * Polish : #321 * Polish : #321 for test case * Polish : Update Demos * Polish : Update version to be 0.2.1 * Polish : #319 * Polish : #226 * Polish : #309 * Fix the test case's bugs * Fix the test case's bugs * Fix a JavaDoc issue * Update SNAPSHOT and add exclude list * Update SNAPSHOT to be 0.2.1-SNAPSHOT * Update JDK versions * Update JDK versions * Reactor & remove author info * Refactor : to save a shutdown hook thread * Remove javax.servlet:javax.servlet-api:3.1.0 that may cause class conflict, and use indirectly dependencies from spring-boot-starter-* * Polish #341
1 parent d01cf26 commit 7021e60

File tree

9 files changed

+65
-49
lines changed

9 files changed

+65
-49
lines changed

dubbo-spring-boot-actuator/README.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ For now, `dubbo-spring-boot-actuator` will separate two versions for Spring Boot
2323

2424
* `0.1.x` is a legacy version for maintaining Spring Boot 1.x
2525

26-
26+
2727

2828

2929
## Integrate with Maven
@@ -503,10 +503,10 @@ Dubbo Spring Boot providers actuator endpoints , however some of them are disabl
503503
```properties
504504
# Enables Dubbo All Endpoints
505505
management.endpoint.dubbo.enabled = true
506-
management.endpoint.dubboShutdown.enabled = true
507-
management.endpoint.dubboConfigs.enabled = true
508-
management.endpoint.dubboServices.enabled = true
509-
management.endpoint.dubboReferences.enabled = true
510-
management.endpoint.dubboProperties.enabled = true
506+
management.endpoint.dubboshutdown.enabled = true
507+
management.endpoint.dubboconfigs.enabled = true
508+
management.endpoint.dubboservices.enabled = true
509+
management.endpoint.dubboreferences.enabled = true
510+
management.endpoint.dubboproperties.enabled = true
511511
```
512512

dubbo-spring-boot-actuator/pom.xml

-9
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,6 @@
3232

3333
<dependencies>
3434

35-
<!-- Compile -->
36-
<dependency>
37-
<groupId>javax.servlet</groupId>
38-
<artifactId>javax.servlet-api</artifactId>
39-
<version>3.1.0</version>
40-
<scope>provided</scope>
41-
<optional>true</optional>
42-
</dependency>
43-
4435
<dependency>
4536
<groupId>org.springframework.boot</groupId>
4637
<artifactId>spring-boot-starter-web</artifactId>

dubbo-spring-boot-actuator/src/main/java/com/alibaba/boot/dubbo/actuate/endpoint/DubboConfigsMetadataEndpoint.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
*
4444
* @since 0.2.0
4545
*/
46-
@Endpoint(id = "dubboConfigs")
46+
@Endpoint(id = "dubboconfigs")
4747
public class DubboConfigsMetadataEndpoint extends AbstractDubboEndpoint {
4848

4949
@ReadOperation

dubbo-spring-boot-actuator/src/main/java/com/alibaba/boot/dubbo/actuate/endpoint/DubboPropertiesEndpoint.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
*
3030
* @since 1.0.0
3131
*/
32-
@Endpoint(id = "dubboProperties")
32+
@Endpoint(id = "dubboproperties")
3333
public class DubboPropertiesEndpoint extends AbstractDubboEndpoint {
3434

3535
@ReadOperation

dubbo-spring-boot-actuator/src/main/java/com/alibaba/boot/dubbo/actuate/endpoint/DubboReferencesMetadataEndpoint.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
*
3434
* @since 1.0.0
3535
*/
36-
@Endpoint(id = "dubboReferences")
36+
@Endpoint(id = "dubboreferences")
3737
public class DubboReferencesMetadataEndpoint extends AbstractDubboEndpoint {
3838

3939
@ReadOperation

dubbo-spring-boot-actuator/src/main/java/com/alibaba/boot/dubbo/actuate/endpoint/DubboServicesMetadataEndpoint.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
*
3232
* @since 0.2.0
3333
*/
34-
@Endpoint(id = "dubboServices")
34+
@Endpoint(id = "dubboservices")
3535
public class DubboServicesMetadataEndpoint extends AbstractDubboEndpoint {
3636

3737
@ReadOperation

dubbo-spring-boot-actuator/src/main/java/com/alibaba/boot/dubbo/actuate/endpoint/DubboShutdownEndpoint.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,9 @@
3232
/**
3333
* Dubbo Shutdown
3434
*
35-
*
3635
* @since 0.2.0
3736
*/
38-
@Endpoint(id = "dubboShutdown")
37+
@Endpoint(id = "dubboshutdown")
3938
public class DubboShutdownEndpoint extends AbstractDubboEndpoint {
4039

4140

dubbo-spring-boot-actuator/src/main/resources/META-INF/dubbo-endpoins-default.properties

+10-11
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,18 @@
44

55
# Set enabled for Dubbo Endpoints
66
management.endpoint.dubbo.enabled = true
7-
management.endpoint.dubboShutdown.enabled = false
8-
management.endpoint.dubboConfigs.enabled = true
9-
management.endpoint.dubboServices.enabled = false
10-
management.endpoint.dubboReferences.enabled = false
11-
management.endpoint.dubboProperties.enabled = true
7+
management.endpoint.dubboshutdown.enabled = false
8+
management.endpoint.dubboconfigs.enabled = true
9+
management.endpoint.dubboservices.enabled = false
10+
management.endpoint.dubboreferences.enabled = false
11+
management.endpoint.dubboproperties.enabled = true
1212

1313
# "management.endpoints.web.base-path" should not be configured in this file
1414

1515
# Re-defines path-mapping of Dubbo Web Endpoints
16-
management.endpoints.web.path-mapping.dubboShutdown = dubbo/shutdown
17-
management.endpoints.web.path-mapping.dubboConfigs = dubbo/configs
18-
management.endpoints.web.path-mapping.dubboServices = dubbo/services
19-
management.endpoints.web.path-mapping.dubboReferences = dubbo/references
20-
management.endpoints.web.path-mapping.dubboProperties = dubbo/properties
21-
2216

17+
management.endpoints.web.path-mapping.dubboshutdown = dubbo/shutdown
18+
management.endpoints.web.path-mapping.dubboconfigs = dubbo/configs
19+
management.endpoints.web.path-mapping.dubboservices = dubbo/services
20+
management.endpoints.web.path-mapping.dubboreferences = dubbo/references
21+
management.endpoints.web.path-mapping.dubboproperties = dubbo/properties

dubbo-spring-boot-actuator/src/test/java/com/alibaba/boot/dubbo/actuate/endpoint/DubboEndpointsAutoConfigurationTest.java

+44-17
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,25 @@
1919
import com.alibaba.boot.dubbo.actuate.autoconfigure.DubboEndpointsAutoConfiguration;
2020
import com.alibaba.dubbo.config.annotation.Service;
2121

22+
import com.fasterxml.jackson.core.JsonProcessingException;
23+
import com.fasterxml.jackson.databind.ObjectMapper;
2224
import org.junit.Assert;
2325
import org.junit.Test;
2426
import org.junit.runner.RunWith;
2527
import org.springframework.beans.factory.annotation.Autowired;
28+
import org.springframework.beans.factory.annotation.Value;
2629
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2730
import org.springframework.boot.test.context.SpringBootTest;
2831
import org.springframework.test.context.junit4.SpringRunner;
32+
import org.springframework.web.client.RestTemplate;
2933

3034
import java.util.Map;
3135
import java.util.SortedMap;
36+
import java.util.function.Supplier;
3237

3338
/**
3439
* {@link DubboEndpointsAutoConfiguration} Test
3540
*
36-
*
3741
* @since 0.2.0
3842
*/
3943
@RunWith(SpringRunner.class)
@@ -58,11 +62,12 @@
5862
"dubbo.provider.host=127.0.0.1",
5963
"dubbo.scan.basePackages=com.alibaba.boot.dubbo.actuate.endpoint",
6064
"management.endpoint.dubbo.enabled = true",
61-
"management.endpoint.dubboShutdown.enabled = true",
62-
"management.endpoint.dubboConfigs.enabled = true",
63-
"management.endpoint.dubboServices.enabled = true",
64-
"management.endpoint.dubboReferences.enabled = true",
65-
"management.endpoint.dubboProperties.enabled = true",
65+
"management.endpoint.dubboshutdown.enabled = true",
66+
"management.endpoint.dubboconfigs.enabled = true",
67+
"management.endpoint.dubboservices.enabled = true",
68+
"management.endpoint.dubboreferences.enabled = true",
69+
"management.endpoint.dubboproperties.enabled = true",
70+
"management.endpoints.web.exposure.include = *",
6671
})
6772
@EnableAutoConfiguration
6873
public class DubboEndpointsAutoConfigurationTest {
@@ -85,6 +90,13 @@ public class DubboEndpointsAutoConfigurationTest {
8590
@Autowired
8691
private DubboShutdownEndpoint dubboShutdownEndpoint;
8792

93+
private RestTemplate restTemplate = new RestTemplate();
94+
95+
@Autowired
96+
private ObjectMapper objectMapper;
97+
98+
@Value("http://127.0.0.1:${local.management.port}${management.endpoints.web.base-path:/actuator}")
99+
private String actuatorBaseURL;
88100

89101
@Test
90102
public void testShutdown() throws Exception {
@@ -178,20 +190,35 @@ public void testProperties() {
178190
Assert.assertEquals("com.alibaba.boot.dubbo.actuate.endpoint", properties.get("dubbo.scan.basePackages"));
179191
}
180192

193+
@Test
194+
public void testHttpEndpoints() throws JsonProcessingException {
195+
// testHttpEndpoint("/dubbo", dubboEndpoint::invoke);
196+
testHttpEndpoint("/dubbo/configs", dubboConfigsMetadataEndpoint::configs);
197+
testHttpEndpoint("/dubbo/services", dubboServicesMetadataEndpoint::services);
198+
testHttpEndpoint("/dubbo/references", dubboReferencesMetadataEndpoint::references);
199+
testHttpEndpoint("/dubbo/properties", dubboPropertiesEndpoint::properties);
200+
}
181201

182-
@Service(
183-
version = "${dubbo.service.version}",
184-
application = "${dubbo.application.id}",
185-
protocol = "${dubbo.protocol.id}",
186-
registry = "${dubbo.registry.id}"
187-
)
188-
static class DefaultDemoService implements DemoService {
189-
190-
public String sayHello(String name) {
191-
return "Hello, " + name + " (from Spring Boot)";
202+
private void testHttpEndpoint(String actuatorURI, Supplier<Map> resultsSupplier) throws JsonProcessingException {
203+
String actuatorURL = actuatorBaseURL + actuatorURI;
204+
String response = restTemplate.getForObject(actuatorURL, String.class);
205+
Assert.assertEquals(objectMapper.writeValueAsString(resultsSupplier.get()), response);
192206
}
193207

194-
}
208+
209+
@Service(
210+
version = "${dubbo.service.version}",
211+
application = "${dubbo.application.id}",
212+
protocol = "${dubbo.protocol.id}",
213+
registry = "${dubbo.registry.id}"
214+
)
215+
static class DefaultDemoService implements DemoService {
216+
217+
public String sayHello(String name) {
218+
return "Hello, " + name + " (from Spring Boot)";
219+
}
220+
221+
}
195222

196223
interface DemoService {
197224
String sayHello(String name);

0 commit comments

Comments
 (0)