As of Spring Boot 3.0.0, placing a @Transactional
annotation on a method when using Spring Data R2DBC with the r2dbc-mssql driver causes the following exception to be thrown:
java.lang.IllegalArgumentException: Transaction names must contain only characters and numbers and must not exceed 32 characters
It seems the transaction name used is a concatenation of the fully qualified class and method names, which can easily exceed the restriction enforced by the r2dbc-mssql driver.
I have put together a minimal scenario with a unit test reproducing the issue at https://github.com/dylanpiergies/mssql-r2dbc-bug.
Comment From: jhoeller
This should be addressed on the driver's side now: https://github.com/r2dbc/r2dbc-mssql/issues/264