Make RedisConnectionProxy public.

RedisConnectionProxy is now public so it can be used properly for Java proxy creation across different class loaders. Previously, creating a Java proxy from a different class loader failed because of visibility/access restrictions.

Closes #2016
This commit is contained in:
Mark Paluch
2021-03-24 09:33:02 +01:00
parent af4491395a
commit 503d639c5d
2 changed files with 4 additions and 3 deletions

View File

@@ -104,14 +104,15 @@ class RedisConnectionUtilsUnitTests {
assertThat(TransactionSynchronizationManager.hasResource(factoryMock)).isFalse();
}
@Test // DATAREDIS-891
@Test // DATAREDIS-891, GH-2016
void bindConnectionShouldBindConnectionToOngoingTransactionScope() {
TransactionTemplate template = new TransactionTemplate(new DummyTransactionManager());
template.executeWithoutResult(status -> {
assertThat(RedisConnectionUtils.bindConnection(factoryMock, true)).isNotNull();
assertThat(RedisConnectionUtils.bindConnection(factoryMock, true))
.isInstanceOf(RedisConnectionUtils.RedisConnectionProxy.class);
assertThat(TransactionSynchronizationManager.hasResource(factoryMock)).isTrue();
assertThat(RedisConnectionUtils.getConnection(factoryMock)).isNotNull();