使用JAVA方式集成,为Spring Boot应用增加了一个高效的HTTP服务器和REST开发框架。这种方式集成非常简单。只需要在项目中引入相关依赖,并且使用@EnableServiceComb注解即可。

    本项目代码示例

    • 引入依赖
      依赖关系中增加spring-boot-starter-provider,即可引入java chassis的核心功能。引入hibernate-validator的目的是spring boot会检测validation-api的实现类,检测不到会无法启动。
    1. <dependencyManagement>
    2. <dependencies>
    3. <dependency>
    4. <groupId>org.apache.servicecomb</groupId>
    5. <artifactId>java-chassis-dependencies</artifactId>
    6. <version>1.0.0-m1</version>
    7. <type>pom</type>
    8. <scope>import</scope>
    9. </dependency>
    10. </dependencies>
    11. </dependencyManagement>
    12. <dependencies>
    13. <dependency>
    14. <groupId>org.apache.servicecomb</groupId>
    15. <artifactId>spring-boot-starter-provider</artifactId>
    16. </dependency>
    17. <dependency>
    18. <groupId>org.springframework.boot</groupId>
    19. <artifactId>spring-boot-starter</artifactId>
    20. </dependency>
    21. <dependency>
    22. <groupId>org.hibernate</groupId>
    23. <artifactId>hibernate-validator</artifactId>
    24. </dependency>
    25. </dependencies>
    1. @SpringBootApplication
    2. @EnableServiceComb
    3. public class WebsiteMain {
    4. public static void main(final String[] args) {
    5. SpringApplication.run(WebsiteMain.class, args);
    6. }
    7. }

    通过以上配置,就可以完整使用java chassis提供的所有功能,使用java chassis开发REST服务,并开启各种治理功能。

    • 配置微服务
      通过microservice.yaml文件可以定制微服务的信息,包括应用名称、微服务名称、监听的地址和端口等。

    集成java chassis后,可以通过它的方式开发REST接口:

    1. @RestSchema(schemaId = "hello")
    2. @RequestMapping(path = "/")
    3. public class HelloService {
    4. @RequestMapping(path = "hello", method = RequestMethod.GET)
    5. public String sayHello(@RequestParam(name="name") String name) {
    6. return "Hello " + name;
    7. }
    8. }

    然后可以通过:http://localhost:9093/hello?name=world来访问。