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
Java Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github SCB-130 Updated the Github PR template Dec 27, 2017
common Update the project version to 1.0.0-m2-SNAPSHOT Mar 20, 2018
core SCB-383 subscribe invocation life event and statistics Mar 27, 2018
coverage-reports Fault-Injection handler implementation Mar 22, 2018
demo SCB-431 Clean up the Rat setting and updated the header of RedisSessi… Mar 26, 2018
dynamic-config get configuration interface to add header:x-environment Mar 22, 2018
edge Update the project version to 1.0.0-m2-SNAPSHOT Mar 20, 2018
etc Excluded the google style file from src release kit Mar 24, 2018
foundations SCB-383 subscribe invocation life event and statistics Mar 27, 2018
handlers Review comments fix:Fault-Injection handler Mar 22, 2018
integration-tests Update the project version to 1.0.0-m2-SNAPSHOT Mar 20, 2018
java-chassis-dependencies SCB-383 upgrade spectator to 0.63.0, that fix servo meter count/gauge… Mar 27, 2018
java-chassis-distribution SCB-383 upgrade spectator to 0.63.0, that fix servo meter count/gauge… Mar 27, 2018
metrics SCB-383 subscribe invocation life event and statistics Mar 27, 2018
parent Update the project version to 1.0.0-m2-SNAPSHOT Mar 20, 2018
providers Update the project version to 1.0.0-m2-SNAPSHOT Mar 20, 2018
samples SCB-434 add @GET sample code and update readme Mar 26, 2018
scripts SCB-431 Added the rat check to the travis CI Mar 26, 2018
service-registry Update the project version to 1.0.0-m2-SNAPSHOT Mar 20, 2018
spring-boot-starter Update the project version to 1.0.0-m2-SNAPSHOT Mar 20, 2018
swagger Update the project version to 1.0.0-m2-SNAPSHOT Mar 20, 2018
tracing Update the project version to 1.0.0-m2-SNAPSHOT Mar 20, 2018
transports [SCB-420] change default HTTP header size limitation to 32K Mar 22, 2018
.gitignore Updated the .gitignore file Dec 15, 2017
.travis.settings.xml Add the snapshot setting to .travis.settings.xml Mar 2, 2018
.travis.yml Fix Java Doc Issues Mar 2, 2018
DISCLAIMER SCB-123 Add DISLAIMER file to ServiceComb git repo Jan 7, 2018
LICENSE SCB-260 Correct LICENSE/NOTICE for src/binary release Mar 6, 2018
NOTICE SCB-260 Correct LICENSE/NOTICE for src/binary release Mar 6, 2018
README.md Update Badge Indentation in Readme Mar 14, 2018
gpg-sec.tar.enc Fix Java Doc Issues Mar 2, 2018
pom.xml SCB-431 Clean up the Rat setting and updated the header of RedisSessi… Mar 26, 2018

README.md

Java Chassis

Build Status Coverage Status Maven Central License

Apache ServiceComb (incubating) 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

Quick Start

Provider service:

import org.apache.servicecomb.*;
@RpcSchema(schemaId = "helloworld")
public class HelloWorldProvider implements HelloWorld {
    public String sayHello(String name) {
        return "Hello " + name;
    }
}

Consumer service:

import org.apache.servicecomb.*;
@Component
public class HelloWorldConsumer  {
	@RpcReference(microserviceName = "pojo", schemaId = "helloworld")
	private static HelloWorld helloWorld;

	public static void main(String[] args) {
		helloWorld.sayHello("Tank");
	}
}

Documentation

Project documentation is available on the ServiceComb website.

Building

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 1.8.

  mvn clean install 

If you want to build the release kits from the source

  mvn clean install  -Prelease,distribution

The first build may take a longer than expected as Maven downloads all the dependencies.

Automated Testing

To build the docker image and run the integration tests with docker, you can use maven docker profile

  mvn clean install -Pdocker -Pit

If you are using docker machine, please use the following command

  mvn clean install -Pdocker -Pit -Pdocker-machine

Contact

Bugs: issues

mailing list: subscribe dev

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

Reporting Issues

See reporting bugs for details about reporting any issues.