ServiceComb supports developers in developing services in JAX-RS mode by using JAX-RS.
Define a service API. Compile the Java API definition based on the API definition defined before development
Implement the service. JAX-RS is used to describe the development of service code.
Release the service. Add @RestSchema
as the annotation of the service implementation class and specify schemaID, which indicates that the implementation is released as a schema of the current microservice.
Create the jaxrsHello.bean.xml file in the resources/META-INF/spring directory and configure base-package that performs scanning
To consume a provider-service, only need to decalare a member of a service API type and add the RpcReference
annotation for the member, the microservice that depends on the declaration and the schemaID
just like pojo consumer sample.
Start the ServiceComb/Service Center
microservice.yaml
filecse: service: registry: address: http://127.0.0.1:30100 #service center address
Start the jaxrs-provider service
Start provider service by maven
Compile the source code at root directory of ServiceComb Java Chassis, which is servicecomb-java-chassis/
, and use mvn exec
to execute the main class JaxrsProviderMain
.
cd servicecomb-java-chassis/ mvn clean install -Psamples -DskipTests #only need to install at first time. cd samples/jaxrs-sample/jaxrs-provider/ mvn exec:java -Dexec.mainClass="org.apache.servicecomb.samples.jaxrs.provider.JaxrsProviderMain"
Start provider service by IDE
Import the project by InteliJ IDEA or Eclipse, add sample module to pom.xml file in root module servicecomb-java-chassis/pom.xml
, and add <module>samples</module>
to <modules></modules>
block, Then find main
function JaxrsProviderMain
of provider service and RUN
it like any other Java Program.
Start the jaxrs-consumer service
Just like how to start jaxrs-provider service. But the main class of jaxrs-consumer service is JaxrsConsumerMain
.
cd samples/jaxrs-sample/jaxrs-consumer/ mvn exec:java -Dexec.mainClass="org.apache.servicecomb.samples.jaxrs.consumer.JaxrsConsumerMain"
How to verify On the producer side, the output should contain the following stuffs if the producer starts up successfully:
On the consumer side, you can see the following outputs if the consumer can invoke the producer: