-
Notifications
You must be signed in to change notification settings - Fork 318
Spring Web Services 5.1.0 M1 Release Notes
Classes, methods, and properties that were deprecated and marked for removal in 5.1 have been removed in this release. Please ensure that you aren’t calling deprecated methods before upgrading.
Strategies resolved from the application context are now sorted with AnnotationAwareOrderComparator rather than OrderComparator.
Previously only the Ordered interface was taken into account and an @Order annotation was ignored; both are now honored.
This applies to:
-
The endpoint adapters, endpoint mappings, and endpoint exception resolvers detected by
MessageDispatcher. -
The
SmartEndpointInterceptorbeans detected byAbstractEndpointMappingandAbstractAddressingEndpointMapping.
Review your configuration for strategies that carry an @Order annotation.
Such a strategy was previously treated as unordered and placed last, and now moves to the position it asks for.
Ordering that you had arranged by declaring beans in a particular order may therefore change.
Note that an @Order annotation on the @Bean method declaring a strategy is still not taken into account, as resolving it requires an order source provided by the bean factory.
Spring Web Services is now instrumented with the Micrometer Observation API, so that a single instrumentation produces both metrics and tracing spans for the web service exchanges that an application takes part in.
Observations are disabled by default and are recorded once an ObservationRegistry is configured:
-
On the client side, set it on the
WebServiceTemplatethat performs the exchanges. Each exchange is recorded under thesoap.client.requestsname. -
On the server side, set it on the component that handles the incoming connections, such as
WebServiceMessageReceiverHandlerAdapterfor the HTTP transport,WebServiceMessageListenerfor JMS, orMailMessageReceiverfor email. Each request is recorded under thesoap.server.requestsname.
Tracing information is propagated as request headers over the transports that support them, which makes a client exchange and the server-side handling of the corresponding request part of the same trace.
It is not read on the server side for the HTTP transport, as the Servlet layer is instrumented already.
On that transport, the soap.server.requests observation is recorded as a child of the http.server.requests observation.
See the reference documentation for more details.