| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | == Messaging Migrations[[use-path-pattern]]== Use PathPatternMessageMatcher by DefaultIn Spring Security 7, `SimpDestMessageMatcher` is no longer supported and will use `PathPatternMessageMatcher` by default.To check how prepared you are for this change, you can publish this bean:[tabs]======Java::+[source,java,role="primary"]----@BeanPathPatternMessageMatcherBuilderFactoryBean messageMatcherBuilder() {	return new PathPatternMessageMatcherBuilderFactoryBean();}----Kotlin::+[source,kotlin,role="secondary"]----@Beanfun messageMatcherBuilder(): PathPatternMessageMatcherBuilderFactoryBean {    return PathPatternMessageMatcherBuilderFactoryBean()}----Xml::+[source,xml,role="secondary"]----<b:bean class="org.springframework.security.config.web.messaging.PathPatternMessageMatcherBuilderFactoryBean"/>----======This will tell the Spring Security DSL to use `PathPatternMessageMatcher` for all message matchers that it constructs.Use of `PathMatcher` is no longer supported in 7.If you are using `PathMatcher` to change the path separator or to change case sensitivity for message matching, you can configure the `PathPatternParser` to do this instead like so:[tabs]======Java::+[source,java,role="primary"]----@BeanPathPatternMessageMatcherBuilderFactoryBean messageMatcherBuilder() {	PathPatternParser pathPatternParser = new PathPatternParser();	pathPatternParser.setCaseSensitive(false);	// use . as path separator	pathPatternParser.setPathOptions(PathContainer.Options.MESSAGE_ROUTE);	return new PathPatternMessageMatcherBuilderFactoryBean(pathPatternParser);}----Kotlin::+[source,kotlin,role="secondary"]----@Beanfun messageMatcherBuilder(): PathPatternMessageMatcherBuilderFactoryBean {    val pathPatternParser = PathPatternParser()	pathPatternParser.setCaseSensitive(false)    // use . as path separator	pathPatternParser.setPathOptions(PathContainer.Options.MESSAGE_ROUTE)    return PathPatternMessageMatcherBuilderFactoryBean(pathPatternParser)}----Xml::+[source,xml,role="secondary"]----<b:bean class="org.springframework.web.util.pattern.PathPatternParser">    <b:property name="caseSensitive" value="false"/>    <!-- use . as path separator -->    <b:property name="pathOptions" value="#{T(org.springframework.http.server.PathContainer.Options).MESSAGE_ROUTE"/></b:bean><b:bean class="org.springframework.security.config.web.messaging.PathPatternMessageMatcherBuilderFactoryBean"/>----======
 |