Prior to this commit, the GraphQL WebSocket HandlerMapping bean would be
ordered at position "2", before the RouterFunction variant defined by
Spring Framework at position "3".
Since then, the Spring Framework team changed the default order value
for this one at "-1", see spring-projects/spring-framework#30278.
This prevents the WebSocket upgrade, as the request is handled by the
RouterFunction instead of the WebSocket handler.
This commit updates the handlermapping order and introduces a test to
prevent issues in the future.
Fixes gh-37892
Prior to this commit, `spring.jms.listener.session.acknowledge-mode`
and `spring.jms.template.session.acknowledge-mode` accepted only a
predefined set of values representing standard JMS acknowledge modes.
This commit adds support for also using arbitrary integer values to
these configuration properties, which allows vendor-specific JMS
acknowledge modes to be configured.
See gh-37576
Update `JdbcClientAutoConfigurationTests` to use a type safe query
since Spring Framework now returns `Object` types when no type is
specified (see Spring Framework issue 31403).
See gh-37710
When the filter is exposed as a bean (directly or through a
registration bean), it's picked up by the auto-configuration of
MockMvc. This causes a problem as MockMvc does not call init on a
filter before it's used and WebSocketUpgradeFilter fails with a
NullPointerException if its doFilter method is called when its init
method has not been called.
This commit reworks the WebSocket auto-configuration to use a
ServletContextInitalizer to register WebSocketUpgradeFilter rather
than a FilterRegistrationBean. This ensure that the filter is still
registered at the required position in the chain (last filter before
the servlet) while also preventing it from being registered with the
auto-configured MockMvc in tests.
Closes gh-37660
This commit correct a mistake where AuthenticationManager was used
instead of ReactiveAuthenticationManager. It also expands the
conditions so that WebFlux security will be enabled when the user
has defined their own SecurityWebFilterChain. In such a situation
no other security-related beans may be needed to use WebFlux
security as things may have been configured directly using the DSL.
Closes gh-37504