This case simulates a multi-module project that includes the following two services:
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.1.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