a quickstart using Spring Boot and CXF JAXRS
Switch branches/tags
spring-boot-cxf-jaxrs-1.0.0.redhat-R2-000001 spring-boot-cxf-jaxrs-1.0.0.redhat-000025 spring-boot-cxf-jaxrs-1.0.0.redhat-000024 spring-boot-cxf-jaxrs-1.0.0.redhat-000023 spring-boot-cxf-jaxrs-1.0.0.redhat-000022 spring-boot-cxf-jaxrs-1.0.0.redhat-000021 spring-boot-cxf-jaxrs-1.0.0.redhat-000020 spring-boot-cxf-jaxrs-1.0.0.redhat-000019 spring-boot-cxf-jaxrs-1.0.0.redhat-000018 spring-boot-cxf-jaxrs-1.0.0.redhat-000017 spring-boot-cxf-jaxrs-1.0.0.redhat-000016 spring-boot-cxf-jaxrs-1.0.0.redhat-000015 spring-boot-cxf-jaxrs-1.0.0.redhat-000014 spring-boot-cxf-jaxrs-1.0.0.redhat-000013 spring-boot-cxf-jaxrs-1.0.0.redhat-000012 spring-boot-cxf-jaxrs-1.0.0.redhat-000011 spring-boot-cxf-jaxrs-1.0.0.redhat-000010 spring-boot-cxf-jaxrs-1.0.0.redhat-000009 spring-boot-cxf-jaxrs-1.0.0.redhat-000008 spring-boot-cxf-jaxrs-1.0.0.redhat-000007 spring-boot-cxf-jaxrs-1.0.0.redhat-000006 spring-boot-cxf-jaxrs-1.0.0.redhat-000005 spring-boot-cxf-jaxrs-1.0.0.redhat-000004 spring-boot-cxf-jaxrs-1.0.0.redhat-000003 spring-boot-cxf-jaxrs-1.0.0.redhat-000002 spring-boot-cxf-jaxrs-1.0.0.redhat-000001 spring-boot-cxf-jaxrs-1.0.0.fuse-R2-000002 spring-boot-cxf-jaxrs-1.0.0.fuse-R2-000001 spring-boot-cxf-jaxrs-1.0.0.fuse-R1-000001 spring-boot-cxf-jaxrs-1.0.0.fuse-720015 spring-boot-cxf-jaxrs-1.0.0.fuse-720014 spring-boot-cxf-jaxrs-1.0.0.fuse-720013 spring-boot-cxf-jaxrs-1.0.0.fuse-720012 spring-boot-cxf-jaxrs-1.0.0.fuse-720011 spring-boot-cxf-jaxrs-1.0.0.fuse-720010 spring-boot-cxf-jaxrs-1.0.0.fuse-720009 spring-boot-cxf-jaxrs-1.0.0.fuse-720008 spring-boot-cxf-jaxrs-1.0.0.fuse-720007 spring-boot-cxf-jaxrs-1.0.0.fuse-720006 spring-boot-cxf-jaxrs-1.0.0.fuse-720005 spring-boot-cxf-jaxrs-1.0.0.fuse-720004 spring-boot-cxf-jaxrs-1.0.0.fuse-720003 spring-boot-cxf-jaxrs-1.0.0.fuse-720002 spring-boot-cxf-jaxrs-1.0.0.fuse-720001 spring-boot-cxf-jaxrs-1.0.0.fuse-711004 spring-boot-cxf-jaxrs-1.0.0.fuse-711004-redhat-00001 spring-boot-cxf-jaxrs-1.0.0.fuse-711003 spring-boot-cxf-jaxrs-1.0.0.fuse-711002 spring-boot-cxf-jaxrs-1.0.0.fuse-711001 spring-boot-cxf-jaxrs-1.0.0.fuse-710018 spring-boot-cxf-jaxrs-1.0.0.fuse-710017 spring-boot-cxf-jaxrs-1.0.0.fuse-710017-redhat-00002 spring-boot-cxf-jaxrs-1.0.0.fuse-710017-redhat-00001 spring-boot-cxf-jaxrs-1.0.0.fuse-710016 spring-boot-cxf-jaxrs-1.0.0.fuse-710016-redhat-00002 spring-boot-cxf-jaxrs-1.0.0.fuse-710015 spring-boot-cxf-jaxrs-1.0.0.fuse-710014 spring-boot-cxf-jaxrs-1.0.0.fuse-710013 spring-boot-cxf-jaxrs-1.0.0.fuse-710012 spring-boot-cxf-jaxrs-1.0.0.fuse-710011 spring-boot-cxf-jaxrs-1.0.0.fuse-710010 spring-boot-cxf-jaxrs-1.0.0.fuse-710009 spring-boot-cxf-jaxrs-1.0.0.fuse-710008 spring-boot-cxf-jaxrs-1.0.0.fuse-710007 spring-boot-cxf-jaxrs-1.0.0.fuse-710006 spring-boot-cxf-jaxrs-1.0.0.fuse-710005 spring-boot-cxf-jaxrs-1.0.0.fuse-710004 spring-boot-cxf-jaxrs-1.0.0.fuse-710003 spring-boot-cxf-jaxrs-1.0.0.fuse-710002 spring-boot-cxf-jaxrs-1.0.0.fuse-710001 spring-boot-cxf-jaxrs-1.0.0.fuse-000152 spring-boot-cxf-jaxrs-1.0.0.fuse-000151 spring-boot-cxf-jaxrs-1.0.0.fuse-000150 spring-boot-cxf-jaxrs-1.0.0.fuse-000149 spring-boot-cxf-jaxrs-1.0.0.fuse-000148 spring-boot-cxf-jaxrs-1.0.0.fuse-000147 spring-boot-cxf-jaxrs-1.0.0.fuse-000146 spring-boot-cxf-jaxrs-1.0.0.fuse-000145 spring-boot-cxf-jaxrs-1.0.0.fuse-000144 spring-boot-cxf-jaxrs-1.0.0.fuse-000143 spring-boot-cxf-jaxrs-1.0.0.fuse-000142 spring-boot-cxf-jaxrs-1.0.0.fuse-000141 spring-boot-cxf-jaxrs-1.0.0.fuse-000141-redhat-5 spring-boot-cxf-jaxrs-1.0.0.fuse-000141-redhat-4 spring-boot-cxf-jaxrs-1.0.0.fuse-000141-redhat-1 spring-boot-cxf-jaxrs-1.0.0.fuse-000140 spring-boot-cxf-jaxrs-1.0.0.fuse-000139 spring-boot-cxf-jaxrs-1.0.0.fuse-000138 spring-boot-cxf-jaxrs-1.0.0.fuse-000137 spring-boot-cxf-jaxrs-1.0.0.fuse-000136 spring-boot-cxf-jaxrs-1.0.0.fuse-000135 spring-boot-cxf-jaxrs-1.0.0.fuse-000134 spring-boot-cxf-jaxrs-1.0.0.fuse-000133 spring-boot-cxf-jaxrs-1.0.0.fuse-000132 spring-boot-cxf-jaxrs-1.0.0.fuse-000131 spring-boot-cxf-jaxrs-1.0.0.fuse-000130 spring-boot-cxf-jaxrs-1.0.0.fuse-000129 spring-boot-cxf-jaxrs-1.0.0.fuse-000128 spring-boot-cxf-jaxrs-1.0.0.fuse-000127 spring-boot-cxf-jaxrs-1.0.0.fuse-000126
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
configuration
src
.gitignore
LICENSE.md
README.md
README.redhat.md
pom.xml

README.md

Spring-Boot CXF JAXRS QuickStart

This example demonstrates how you can use Apache CXF with Spring Boot based on a fabric8 Java base image.

The quickstart uses Spring Boot to configure a little application that includes a CXF JAXRS endpoint with Swagger enabled.

Building

The example can be built with

mvn clean install

Running the example locally

The example can be run locally using the following Maven goal:

mvn spring-boot:run

Running the example in Kubernetes

It is assumed a running Kubernetes platform is already running. If not you can find details how to get started.

Assuming your current shell is connected to Kubernetes or OpenShift so that you can type a command like

kubectl get pods

or for OpenShift

oc get pods

Then the following command will package your app and run it on Kubernetes:

mvn fabric8:run

The output log will give the URL to access the endpoint, something like

[INFO] F8:[SVC] spring-boot-cxf-jaxrs: http://192.168.64.7:32225

You will need to append the context-path to access the JAX-RS service so the url is something like

http://192.168.64.7:32225/services/helloservice/sayHello/

To list all the running pods:

oc get pods

Then find the name of the pod that runs this quickstart, and output the logs from the running pods with:

oc logs <name of pod>

You can also use the fabric8 developer console to manage the running pods, and view logs and much more.

To access the endpoint, use the host and port from the output log when run mvn fabric8:run

http://192.168.64.7:32225/services/helloservice/sayHello/FIS will display "Hello FIS, Welcome to CXF RS Spring Boot World!!!"

http://192.168.64.7:32225/services/helloservice/swagger.json will return a Swagger JSON description of services.

Integration Testing

The example includes a fabric8 arquillian Kubernetes Integration Test. Once the container image has been built and deployed in Kubernetes, the integration test can be run with:

mvn test -Dtest=*KT

The test is disabled by default and has to be enabled using -Dtest. Integration Testing and Fabric8 Arquillian Extension provide more information on writing full fledged black box integration tests for Kubernetes.

More details

You can find more details about running this quickstart on the website. This also includes instructions how to change the Docker image user and registry.