You might want to expose all available versions of each Web service and Web application at a different URI. For example, consider the case where you change your URI template to the following:
If you have
1.1versions of a profile that packages Web services or Web applications, you can now access the different versions using version-specific URIs. For example, if you are running version
1.1implementations of the
example-quickstarts-restprofile, you can access either one through the following URIs:
- Version 1.0 through http://localhost:9000/version/1.0/cxf/crm/customerservice/customers/123
- Version 1.1 through http://localhost:9000/version/1.1/cxf/crm/customerservice/customers/123
Both versions are available to the gateway, provided you include the version information in the URI.
Another approach to dealing with versions of Web services and Web applications is to expose only a single version at a time of each Web service or Web application in a single gateway. This is the default configuration.
For example, if you deploy a
1.0version of the
gateway-httpprofile and run a few services, you will see all
1.0versions of them. If you run some
1.1versions of these services, the gateway will not see them. If you now do a rolling upgrade of your gateway to version
1.1, it will switch to showing only the
1.1versions of the services.
Alternatively, you can specify the exact profile version to use, on the mapping configuration screen.
Another approach you can use with Web applications is to specify the maven coordinates and maven version of a web application in the ZooKeeper path.