- Notifications
You must be signed in to change notification settings - Fork824
ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features
License
apache/servicecomb-java-chassis
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Java Chassis中文

Apache ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features.
If you find this project helpful, please don't forget to
starit.
| Release Train | Latest Version | Compiled JDK Version | Tested JDK Version | Open API | Notes |
|---|---|---|---|---|---|
| Java Chassis 3 | 3.3.0 | OpenJDK 17 | OpenJDK 17 | 3.0.x | Depends on Spring Boot 3 |
| Java Chassis 2 | 2.8.24 | OpenJDK 8 | OpenJDK 8, 11, 17 | 2.0.x | Depends on Spring 5 |
| Java Chassis 1 | 1.3.11 | OpenJDK 8 | OpenJDK 8 | 2.0.x | End of Support |
Java Chassis core dependencies
| Java Chassis | Spring Boot | Vert.x | Swagger | Jackson |
|---|---|---|---|---|
| 3.3.x | 3.4.x | 4.5.x | 2.2.x | 2.18.x |
| 3.2.x | 3.3.x | 4.5.x | 2.2.x | 2.18.x |
NOTICE: Since Open API 3.0.x is not compatible with 2.0.x, Java Chassis 2 and Java Chassis 1 can notwork together with Java Chassis 3. All related consumers, providers and edge service need use Java Chassis 3 when upgrading.
NOTICE: Java Chassis 1 reached its end of support now after it's first release from 2018.
- Define API
@RequestMapping(path ="/provider")publicinterfaceProviderService {@GetMapping("/sayHello")StringsayHello(@RequestParam("name")Stringname);}
- Provider service
@RestSchema(schemaId ="ProviderController",schemaInterface =ProviderService.class)publicclassProviderControllerimplementsProviderService {@OverridepublicStringsayHello(Stringname) {return"Hello " +name; }}
- Consumer service
@ConfigurationpublicclassProviderServiceConfiguration {@BeanpublicProviderServiceproviderService() {returnInvoker.createProxy("provider","ProviderController",ProviderService.class); }}
Invoke Provider service with RPC
@RestSchema(schemaId ="ConsumerController",schemaInterface =ConsumerService.class)publicclassConsumerControllerimplementsConsumerService {privateProviderServiceproviderService;@AutowiredpublicvoidsetProviderService(ProviderServiceproviderService) {this.providerService =providerService; }@OverridepublicStringsayHello(Stringname) {returnproviderService.sayHello(name); }}
Try out this examplehere .
Project documentation is available on theServiceComb Java Chassis Developer Guide.
You don’t need to build from source to use Java Chassis (binaries in apache nexus ), but if you want to try out the latest and greatest, Java Chassis can be easily built with the maven. You also need JDK 17.
mvn clean installThe first build may take a longer than expected as Maven downloads all the dependencies.
To build the docker image and run the integration tests with docker, you can use maven docker profile
mvn clean install -Pdocker -PitIf you are using docker machine, please use the following command
mvn clean install -Pdocker -Pit -Pdocker-machineBugs:issues
SeeCONTRIBUTING for details on submitting patches and the contribution workflow.
Licensed under anApache 2.0 license.
About
ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.