diff --git a/src/main/java/io/asyncer/r2dbc/mysql/authentication/CachingSha2FastAuthProvider.java b/src/main/java/io/asyncer/r2dbc/mysql/authentication/CachingSha2FastAuthProvider.java index ef52bd811..bf6919701 100644 --- a/src/main/java/io/asyncer/r2dbc/mysql/authentication/CachingSha2FastAuthProvider.java +++ b/src/main/java/io/asyncer/r2dbc/mysql/authentication/CachingSha2FastAuthProvider.java @@ -61,7 +61,7 @@ public byte[] authentication(@Nullable CharSequence password, byte[] salt, CharC @Override public MySqlAuthProvider next() { - return CachingSha2FullAuthProvider.INSTANCE; + return CachingSha2FullAuthProvider.getInstance(); } @Override diff --git a/src/main/java/io/asyncer/r2dbc/mysql/authentication/CachingSha2FullAuthProvider.java b/src/main/java/io/asyncer/r2dbc/mysql/authentication/CachingSha2FullAuthProvider.java index 5bc5debf8..e00cf8292 100644 --- a/src/main/java/io/asyncer/r2dbc/mysql/authentication/CachingSha2FullAuthProvider.java +++ b/src/main/java/io/asyncer/r2dbc/mysql/authentication/CachingSha2FullAuthProvider.java @@ -30,7 +30,9 @@ */ final class CachingSha2FullAuthProvider implements MySqlAuthProvider { - static final CachingSha2FullAuthProvider INSTANCE = new CachingSha2FullAuthProvider(); + static CachingSha2FullAuthProvider getInstance() { + return LazyHolder.INSTANCE; + } @Override public boolean isSslNecessary() { @@ -60,4 +62,8 @@ public String getType() { } private CachingSha2FullAuthProvider() { } + + private static class LazyHolder { + private static final CachingSha2FullAuthProvider INSTANCE = new CachingSha2FullAuthProvider(); + } }