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.
see Precondition
Start the ServiceComb/Service Center
microservice.yaml
fileservicecomb: 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, and use mvn exec
to execute the main class JaxrsProviderMain
.
mvn clean install cd 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, 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 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: