This case simulates a multi-module project that includes the following two services:
- HelloService
- GoodbyeService
HelloService and GoodbyeService each provide an API interface. This case will convert them into corresponding microservices based on ServiceComb java-chassis.
You will need:
In the pom.xml file in the root directory of the current sample project, add the configuration of the toolkit-maven-plugin plugin as follows.
<plugin>
<groupId>org.apache.servicecomb.toolkit</groupId>
<artifactId>toolkit-maven-plugin</artifactId>
<version>0.3.0-SNAPSHOT</version>
<configuration>
<!-- Set to 'code' to resolve the current project. Set to 'contract' to resolve the contract file for the specified path.If not set, the default is 'code' -->
<sourceType>code</sourceType>
<!-- The root directory to save contract file and document. If it is not set, the default is the 'target' under the directory where the command is run -->
<outputDirectory>./target</outputDirectory>
<!-- Generated microservice project configuration -->
<service>
<!-- Microservice type,can generated 'provider/consumer/all',the default is 'all' -->
<serviceType>all</serviceType>
<groupId>org.apache.servicecom.toolkit</groupId>
<artifactId>generate-from-code-sample</artifactId>
</service>
</configuration>
</plugin>
Execute the following maven command on the command line
mvn toolkit:generate
The result of the conversion is in the target directory of generate-from-code-sample, which respectively outputs the contract, the document and the microservice project based on ServiceComb java-chassis.
target/
├── contract
│ ├── GoodbyeService
│ │ └── GoodbyeController.yaml
│ └── HelloService
│ └── HelloController.yaml
├── document
│ ├── GoodbyeService
│ │ └── GoodbyeController.html
│ └── HelloService
│ └── HelloController.html
└── project
├── GoodbyeService-consumer
│ ├── pom.xml
│ └── src
├── GoodbyeService-model
│ └── pom.xml
├── GoodbyeService-provider
│ ├── pom.xml
│ └── src
├── HelloService-consumer
│ ├── pom.xml
│ └── src
├── HelloService-model
│ └── pom.xml
├── HelloService-provider
│ ├── pom.xml
│ └── src
└── pom.xml