You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2020/08/06 03:38:48 UTC

[shardingsphere] branch master updated: For code inspection (#6651)

This is an automated email from the ASF dual-hosted git repository.

panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new bee61c2  For code inspection (#6651)
bee61c2 is described below

commit bee61c2277da0b81bde4da1956973d6114a0196d
Author: Liang Zhang <te...@163.com>
AuthorDate: Thu Aug 6 11:38:32 2020 +0800

    For code inspection (#6651)
    
    * For code inspection
    
    * For code inspection
    
    * For code inspection
    
    * Fix checkstyle
---
 .../example/core/api/DataSourceUtil.java           |  2 +-
 .../example/core/api/entity/ShadowUser.java        |  4 +-
 .../core/jdbc/service/OrderServiceImpl.java        | 12 ++--
 .../raw/jdbc/JavaConfigurationExampleMain.java     |  2 +-
 .../raw/jdbc/YamlConfigurationExampleMain.java     |  2 +-
 .../local/LocalShardingDatabasesConfiguration.java |  2 +-
 .../LocalShardingMasterSlaveConfiguration.java     |  4 +-
 .../local/LocalShardingTablesConfiguration.java    |  2 +-
 .../spring/namespace/ExampleMain.java              |  2 +-
 .../raw/jdbc/JavaConfigurationExampleMain.java     |  2 +-
 .../raw/jdbc/YamlConfigurationExampleMain.java     |  2 +-
 .../table/spring/namespace/ExampleMain.java        |  2 +-
 .../example/hint/raw/jdbc/ExampleMain.java         |  2 +-
 .../raw/jdbc/JavaConfigurationExampleMain.java     |  2 +-
 .../raw/jdbc/YamlConfigurationExampleMain.java     |  2 +-
 .../table/raw/jdbc/factory/DataSourceFactory.java  |  2 +-
 .../raw/jdbc/factory/YamlDataSourceFactory.java    |  2 +-
 .../shadow/table/spring/namespace/ExampleMain.java |  2 +-
 .../raw/jdbc/JavaConfigurationExampleMain.java     |  2 +-
 .../jdbc/JavaRangeConfigurationExampleMain.java    |  2 +-
 .../raw/jdbc/YamlConfigurationExampleMain.java     |  2 +-
 .../jdbc/YamlRangeConfigurationExampleMain.java    |  2 +-
 .../ShardingMasterSlaveConfigurationPrecise.java   |  2 +-
 .../ShardingMasterSlaveConfigurationRange.java     |  2 +-
 .../raw/jdbc/factory/DataSourceFactory.java        |  2 +-
 .../raw/jdbc/factory/RangeDataSourceFactory.java   |  2 +-
 .../raw/jdbc/factory/YamlDataSourceFactory.java    |  2 +-
 .../jdbc/factory/YamlRangeDataSourceFactory.java   |  2 +-
 .../sharding/spring/namespace/jpa/ExampleMain.java |  2 +-
 .../spring/namespace/mybatis/ExampleMain.java      |  2 +-
 .../xa/bitronix/raw/jdbc/ExampleMain.java          | 13 ++--
 .../xa/narayana/raw/jdbc/ExampleMain.java          |  6 +-
 .../transaction/xa/raw/jdbc/ExampleMain.java       |  6 +-
 .../xa/spring/boot/XAOrderServiceTest.java         |  2 +-
 .../xa/spring/namspace/ExampleMain.java            |  4 +-
 .../base/seata/raw/jdbc/ExampleMain.java           |  2 +-
 .../seata/spring/boot/SeataATOrderServiceTest.java |  2 +-
 .../example/proxy/hint/ExampleMain.java            |  2 +-
 .../proxy/hint/factory/YamlDataSourceFactory.java  |  2 +-
 .../swapper/ClusterConfigurationYamlSwapper.java   | 20 +++---
 .../heartbeat/detect/AbstractHeartbeatDetect.java  |  6 +-
 .../cluster/heartbeat/detect/HeartbeatDetect.java  |  4 +-
 .../cluster/heartbeat/detect/HeartbeatHandler.java |  3 +
 .../heartbeat/detect/HeartbeatHandlerTest.java     | 71 ++++++++++---------
 .../panel/spi/engine/SingletonFacadeEngine.java    |  6 +-
 .../facade/executor/MetricsThreadPoolExecutor.java |  6 +-
 .../metrics/facade/util/FieldUtil.java             |  7 +-
 .../impl/AbstractPrometheusCollectorRegistry.java  |  2 +-
 .../metrics/api/HistogramMetricsTracker.java       |  4 +-
 .../metrics/api/SummaryMetricsTracker.java         |  4 +-
 .../opentracing/hook/BaseOpenTracingHookTest.java  |  4 +-
 ...stOrchestrationRepositoryEventListenerTest.java |  7 +-
 .../orchestration/core/config/ConfigCenter.java    |  2 +-
 .../config/listener/SchemaChangedListenerTest.java | 14 ++--
 .../core/facade/OrchestrationFacade.java           |  3 +
 .../orchestration/core/facade/util/FieldUtil.java  |  5 +-
 .../core/metadata/MetaDataCenter.java              |  4 +-
 .../core/metadata/MetaDataCenterTest.java          |  4 +-
 .../{MetaDataTest.java => MetaDataJson.java}       |  6 +-
 .../listener/MetaDataChangedListenerTest.java      |  4 +-
 .../core/metadata/util/FieldUtil.java              |  7 +-
 .../yaml/RuleSchemaMetaDataYamlSwapperTest.java    |  6 +-
 .../registry/instance/OrchestrationInstance.java   |  3 +-
 .../core/registry/util/FieldUtil.java              |  7 +-
 .../core/schema/OrchestrationSchemaContexts.java   |  4 +-
 .../repository/apollo/ApolloRepositoryTest.java    |  4 +-
 .../apollo/wrapper/ApolloConfigWrapperTest.java    | 12 ++--
 .../repository/etcd/EtcdRepository.java            |  6 +-
 .../repository/nacos/NacosRepository.java          |  4 +-
 .../repository/nacos/NacosRepositoryTest.java      | 14 ++--
 .../zookeeper/CuratorZookeeperRepository.java      |  6 +-
 .../zookeeper/CuratorZookeeperRepositoryTest.java  | 22 +++---
 .../mysql/constant/MySQLBinlogEventType.java       |  4 +-
 .../protocol/mysql/constant/MySQLColumnType.java   |  6 +-
 .../constant/MySQLNewParametersBoundFlag.java      |  2 +-
 .../protocol/mysql/constant/MySQLStatusFlag.java   |  4 +-
 .../binlog/row/MySQLBinlogTableMapEventPacket.java | 10 +--
 .../column/value/string/MySQLJsonValueDecoder.java |  3 +-
 .../time/MySQLDatetime2BinlogProtocolValue.java    |  2 +-
 .../column/value/time/MySQLFractionalSeconds.java  |  4 +-
 .../value/time/MySQLTime2BinlogProtocolValue.java  |  2 +-
 .../row/column/value/time/MySQLTimeValueUtil.java  |  6 +-
 .../time/MySQLTimestamp2BinlogProtocolValue.java   |  2 +-
 .../packet/command/MySQLCommandPacketType.java     |  4 +-
 .../binlog/MySQLComBinlogDumpCommandPacket.java    | 10 +--
 .../binlog/MySQLComRegisterSlaveCommandPacket.java |  4 +-
 .../query/MySQLColumnDefinition41Packet.java       |  2 +-
 .../query/binary/execute/MySQLNullBitmap.java      |  2 +-
 .../packet/handshake/MySQLHandshakePacket.java     | 14 ++--
 .../handshake/MySQLHandshakeResponse41Packet.java  |  2 +-
 .../mysql/packet/generic/MySQLEofPacketTest.java   |  3 +-
 .../MySQLAuthSwitchResponsePacketTest.java         |  4 +-
 .../constant/PostgreSQLArrayColumnType.java        | 10 ++-
 .../postgresql/constant/PostgreSQLColumnType.java  |  4 +-
 .../command/PostgreSQLCommandPacketType.java       |  2 +-
 .../command/query/PostgreSQLColumnDescription.java | 11 +--
 .../query/text/PostgreSQLDataRowPacket.java        |  2 +-
 .../generic/PostgreSQLReadyForQueryPacket.java     |  6 +-
 .../handshake/PostgreSQLSSLNegativePacket.java     |  6 +-
 .../encrypt/algorithm/AESEncryptAlgorithm.java     |  2 +-
 .../encrypt/algorithm/AESEncryptAlgorithmTest.java |  2 +-
 .../encrypt/algorithm/MD5EncryptAlgorithmTest.java |  2 +-
 .../encrypt/algorithm/RC4EncryptAlgorithmTest.java |  2 +-
 .../merge/dal/impl/EncryptColumnsMergedResult.java |  2 +-
 ...OnDuplicateKeyUpdateValueParameterRewriter.java |  2 +-
 .../tag/EncryptAlgorithmBeanDefinitionTag.java     |  4 ++
 .../masterslave/rule/MasterSlaveRuleTest.java      |  2 +-
 ...onsForYamlMasterSlaveRuleConfigurationTest.java |  8 +--
 .../route/engine/impl/MasterVisitedManager.java    |  4 ++
 .../tag/LoadBalanceAlgorithmBeanDefinitionTag.java |  4 ++
 .../impl/RemoveShadowColumnTokenGenerator.java     |  9 +--
 .../impl/ShadowPredicateColumnTokenGenerator.java  | 13 ++--
 .../route/engine/ShadowDataSourceRouter.java       |  1 -
 .../shadow/route/engine/ShadowRouteDecorator.java  |  2 +-
 .../impl/PreparedShadowDataSourceRouter.java       |  2 +-
 .../engine/impl/SimpleShadowDataSourceRouter.java  |  2 +-
 .../datetime/AutoIntervalShardingAlgorithm.java    |  2 +-
 .../sharding/mod/ModShardingAlgorithm.java         |  4 +-
 .../range/BoundaryBasedRangeShardingAlgorithm.java |  2 +-
 .../range/VolumeBasedRangeShardingAlgorithm.java   |  6 +-
 .../sharding/metadata/ShardingMetaDataLoader.java  | 22 +++---
 .../keygen/SnowflakeKeyGenerateAlgorithmTest.java  | 52 +++++++-------
 .../keygen/UUIDKeyGenerateAlgorithmTest.java       |  2 +-
 .../datetime/IntervalShardingAlgorithmTest.java    | 10 +--
 .../aggregation/AggregationUnitFactory.java        |  4 +-
 .../aggregation/AverageAggregationUnit.java        |  3 +-
 .../aggregation/ComparableAggregationUnit.java     |  2 +-
 .../DistinctAverageAggregationUnit.java            |  5 +-
 .../sharding/merge/dql/orderby/CompareUtil.java    |  4 +-
 .../dql/orderby/OrderByStreamMergedResult.java     |  4 +-
 .../sharding/merge/dql/orderby/OrderByValue.java   |  2 +-
 .../sharding/rewrite/token/pojo/OrderByToken.java  |  2 +-
 .../sharding/rewrite/token/pojo/TableToken.java    |  4 +-
 .../sharding/route/engine/condition/Column.java    |  2 +-
 .../engine/condition/ExpressionConditionUtils.java |  3 +
 .../standard/ShardingStandardRoutingEngine.java    |  4 +-
 .../route/time/TimeServiceConfiguration.java       | 10 +--
 .../route/time/impl/TimeServiceFactory.java        |  3 +
 .../sharding/route/time/PropertiesUtils.java       | 18 +++--
 .../infra/config/DataSourceConfiguration.java      | 22 +++---
 .../infra/database/type/DatabaseTypes.java         |  3 +
 .../shardingsphere/infra/datanode/DataNode.java    |  4 +-
 .../shardingsphere/infra/hint/HintManager.java     |  2 +-
 .../refresh/MetaDataRefreshStrategyFactory.java    | 13 ++--
 .../infra/spi/order/OrderedSPIRegistry.java        |  3 +
 .../infra/spi/type/TypedSPIRegistry.java           |  3 +
 .../infra/yaml/engine/YamlEngine.java              |  3 +-
 .../infra/rule/DataNodeUtilTest.java               |  2 +-
 .../shardingsphere/infra/rule/DataNodesTest.java   | 27 ++++----
 .../infra/executor/kernel/ExecutorKernel.java      |  2 +-
 .../infra/executor/sql/context/SQLUnit.java        |  2 +-
 .../jdbc/executor/ExecutorExceptionHandler.java    |  2 +-
 .../infra/rewrite/sql/token/pojo/SQLToken.java     |  2 +-
 .../AbstractSQLRewriterParameterizedTest.java      |  3 +-
 .../cases/assertion/IntegrateTestCasesLoader.java  |  2 +-
 .../dbtest/cases/dataset/DataSet.java              |  6 +-
 .../shardingsphere/dbtest/engine/BaseIT.java       | 10 +--
 .../shardingsphere/dbtest/engine/BatchIT.java      |  6 +-
 .../shardingsphere/dbtest/engine/SingleIT.java     |  2 +-
 .../dbtest/engine/ddl/BaseDDLIT.java               |  4 +-
 .../dbtest/engine/dml/BaseDMLIT.java               |  4 +-
 .../dbtest/engine/dql/BaseDQLIT.java               |  4 +-
 .../engine/util/IntegrateTestParameters.java       |  6 +-
 .../dbtest/env/IntegrateTestEnvironment.java       |  4 +-
 .../driver/executor/PreparedStatementExecutor.java | 12 ++--
 .../driver/executor/StatementExecutor.java         | 10 +--
 .../driver/executor/batch/BatchExecutionUnit.java  |  2 +-
 .../jdbc/adapter/AbstractStatementAdapter.java     |  2 +-
 .../invocation/SetParameterMethodInvocation.java   |  2 +-
 .../core/connection/ShardingSphereConnection.java  |  2 +-
 .../core/datasource/ShardingSphereDataSource.java  |  1 +
 .../metadata/ShardingSphereDatabaseMetaData.java   |  5 +-
 .../core/resultset/DatabaseMetaDataResultSet.java  |  8 +--
 .../driver/jdbc/core/resultset/ResultSetUtil.java  | 14 ++--
 .../driver/common/base/AbstractSQLTest.java        |  7 +-
 ...ractShardingSphereDataSourceForEncryptTest.java |  5 +-
 ...actShardingSphereDataSourceForShardingTest.java |  5 +-
 .../driver/jdbc/adapter/StatementAdapterTest.java  |  8 +--
 .../jdbc/core/resultset/ResultSetUtilTest.java     | 16 ++---
 .../jdbc/core/statement/EncryptStatementTest.java  |  2 +-
 .../statement/ShadowPreparedStatementTest.java     |  4 +-
 .../jdbc/core/statement/ShadowStatementTest.java   |  2 +-
 .../OrchestrationShardingSphereDataSource.java     | 81 +++++++++++-----------
 .../api/yaml/AbstractYamlDataSourceTest.java       | 10 +--
 .../fixture/TestJndiInitialContextFactory.java     |  8 +--
 .../AbstractDbcp2DataSourcePropertiesSetter.java   | 11 +--
 .../impl/DataSourcePropertiesSetterHolder.java     |  3 +
 .../impl/HikariDataSourcePropertiesSetter.java     |  6 +-
 .../AbstractAlgorithmProvidedBeanRegistry.java     | 30 ++++----
 .../spring/boot/util/PropertyUtil.java             | 10 +--
 .../spring/boot/util/DataSourceUtilTest.java       | 10 +--
 .../ShardingTransactionTypeInterceptor.java        |  2 +-
 .../ShardingTransactionTypeScanner.java            |  2 +-
 .../fixture/FixtureSpringConfiguration.java        |  2 +-
 .../context/schema/ShardingSphereSchema.java       |  2 +-
 .../jdbc/JDBCDatabaseCommunicationEngine.java      |  2 +-
 .../jdbc/connection/BackendConnection.java         |  6 +-
 .../recognizer/impl/P6SpyDriverRecognizer.java     |  3 +-
 .../proxy/backend/metrics/MetricsUtils.java        | 11 +--
 .../sctl/ShardingCTLBackendHandlerFactory.java     |  3 +
 .../backend/text/sctl/ShardingCTLErrorCode.java    |  4 +-
 .../connection/ConnectionStateHandlerTest.java     |  4 +-
 .../jdbc/connection/MockConnectionUtil.java        |  5 +-
 .../config/yaml/YamlDataSourceParameterMerger.java |  5 +-
 .../mysql/auth/MySQLAuthenticationHandler.java     |  2 +-
 .../binary/prepare/MySQLComStmtPrepareChecker.java |  3 +
 .../mysql/MySQLProtocolFrontendEngineTest.java     |  8 +--
 .../binary/bind/PostgreSQLComBindExecutor.java     |  2 +-
 .../query/text/PostgreSQLComQueryExecutor.java     |  2 +-
 .../apache/shardingsphere/scaling/Bootstrap.java   |  3 +
 .../scaling/web/HttpServerHandler.java             | 45 ++++++------
 .../scaling/web/entity/ResponseCode.java           |  4 ++
 .../core/config/JDBCDataSourceConfiguration.java   |  2 +-
 .../scaling/core/config/ScalingContext.java        |  4 +-
 .../core/config/utils/SyncConfigurationUtil.java   |  3 +-
 .../scaling/core/datasource/DataSourceManager.java | 47 +++++++------
 .../engine/ShardingScalingExecuteEngine.java       |  3 +-
 .../core/execute/executor/SyncExecutorGroup.java   |  2 +-
 .../executor/channel/DistributionChannel.java      | 32 ++++-----
 .../execute/executor/channel/MemoryChannel.java    |  8 +--
 .../executor/importer/AbstractSqlBuilder.java      |  4 +-
 .../execute/executor/importer/ImporterFactory.java |  3 +
 .../core/execute/executor/record/RecordUtil.java   |  6 +-
 .../scaling/core/job/position/Position.java        |  1 +
 .../core/job/position/PrimaryKeyPosition.java      |  2 +-
 .../resume/AbstractResumeBreakPointManager.java    |  9 ++-
 .../resume/FakeResumeBreakPointManager.java        |  2 +-
 .../resume/ZookeeperResumeBreakPointManager.java   |  2 +-
 .../job/preparer/ShardingScalingJobPreparer.java   |  2 +-
 .../checker/AbstractDataSourceChecker.java         |  2 +-
 .../splitter/InventoryDataTaskSplitter.java        |  6 +-
 .../incremental/IncrementalDataScalingTask.java    |  6 +-
 .../task/inventory/InventoryDataScalingTask.java   |  6 +-
 .../scaling/core/metadata/JdbcUri.java             |  2 +-
 .../scaling/core/metadata/MetaDataManager.java     |  6 +-
 .../core/schedule/ScalingTaskScheduler.java        |  2 +-
 .../scaling/core/spi/ScalingEntryLoader.java       |  1 +
 .../engine/ShardingScalingExecuteEngineTest.java   |  9 +--
 .../scaling/mysql/MySQLBinlogDumper.java           | 25 +++----
 .../scaling/mysql/MySQLPositionManager.java        |  2 +-
 .../scaling/mysql/client/MySQLClient.java          | 16 ++---
 .../mysql/client/MySQLPasswordEncryptor.java       |  4 ++
 .../netty/MySQLBinlogEventPacketDecoder.java       |  2 +-
 .../mysql/client/netty/MySQLNegotiateHandler.java  |  2 +-
 .../scaling/mysql/MySQLDataSourceCheckerTest.java  | 12 ++--
 .../scaling/mysql/client/MySQLClientTest.java      |  4 +-
 .../postgresql/PostgreSQLDataSourceChecker.java    |  2 +-
 .../postgresql/PostgreSQLPositionManager.java      |  6 +-
 .../scaling/postgresql/PostgreSQLWalDumper.java    |  7 +-
 .../scaling/postgresql/wal/LogicalReplication.java | 14 ++--
 .../scaling/postgresql/wal/WalEventConverter.java  |  4 +-
 .../scaling/postgresql/wal/WalPosition.java        |  6 +-
 .../postgresql/wal/decode/TestDecodingPlugin.java  |  4 +-
 .../parser/binder/metadata/MetaDataConnection.java |  4 +-
 .../metadata/schema/SchemaMetaDataLoader.java      |  6 +-
 .../sql/parser/binder/metadata/util/JdbcUtil.java  |  8 ++-
 .../binder/segment/select/orderby/OrderByItem.java |  2 +-
 .../segment/select/projection/DerivedColumn.java   |  8 +--
 .../select/projection/impl/DerivedProjection.java  |  2 +-
 .../projection/impl/ExpressionProjection.java      |  2 +-
 .../statement/ddl/CreateTableStatementContext.java |  2 +-
 .../values/OnDuplicateUpdateContextTest.java       |  7 +-
 .../visitor/impl/PostgreSQLDMLVisitor.java         |  2 +-
 .../sql/parser/core/visitor/VisitorRule.java       |  2 +-
 .../sql/parser/sql/constant/AggregationType.java   |  2 +-
 .../sql/parser/sql/constant/LogicalOperator.java   |  2 +-
 .../sql/parser/sql/constant/Paren.java             |  4 +-
 .../sql/parser/sql/constant/QuoteCharacter.java    |  8 +--
 .../sql/parser/sql/predicate/PredicateBuilder.java |  6 +-
 .../parser/sql/segment/dal/FromSchemaSegment.java  |  3 +-
 .../sql/segment/dml/column/ColumnSegment.java      |  9 ++-
 .../dml/item/SubqueryProjectionSegment.java        |  3 +-
 .../sql/segment/generic/DataTypeLengthSegment.java |  2 +-
 .../parser/sql/statement/dml/InsertStatement.java  |  5 +-
 .../sql/parser/sql/util/SQLUtil.java               |  4 +-
 .../parser/sql/util/SafeRangeOperationUtils.java   |  4 +-
 .../parser/sql/util/WhereSegmentExtractUtils.java  |  4 +-
 .../sql/value/collection/CollectionValue.java      |  2 +-
 .../sql/segment/dml/column/ColumnSegmentTest.java  | 10 +--
 .../dal/impl/SetVariableStatementAssert.java       |  2 +-
 .../jaxb/cases/SQLParserTestCasesRegistry.java     |  2 +-
 .../xa/jta/datasource/XATransactionDataSource.java |  4 +-
 .../swapper/DataSourcePropertyProviderLoader.java  |  3 +
 .../transaction/xa/fixture/DataSourceUtils.java    |  5 +-
 .../dialect/OracleXAConnectionWrapperTest.java     |  6 +-
 .../datasource/XATransactionDataSourceTest.java    |  9 ++-
 .../DataSourceXAResourceRecoveryHelper.java        | 26 +++----
 .../transaction/xa/spi/SingleXAResource.java       |  2 +-
 .../base/seata/at/SeataTransactionHolder.java      |  3 +
 .../base/seata/at/fixture/MockSeataServer.java     |  4 +-
 .../transaction/core/ResourceDataSource.java       |  2 +-
 .../transaction/core/TransactionTypeHolder.java    |  4 ++
 292 files changed, 940 insertions(+), 822 deletions(-)

diff --git a/examples/example-core/example-api/src/main/java/org/apache/shardingsphere/example/core/api/DataSourceUtil.java b/examples/example-core/example-api/src/main/java/org/apache/shardingsphere/example/core/api/DataSourceUtil.java
index 6770810..75a6ec9 100644
--- a/examples/example-core/example-api/src/main/java/org/apache/shardingsphere/example/core/api/DataSourceUtil.java
+++ b/examples/example-core/example-api/src/main/java/org/apache/shardingsphere/example/core/api/DataSourceUtil.java
@@ -33,7 +33,7 @@ public final class DataSourceUtil {
     
     public static DataSource createDataSource(final String dataSourceName) {
         HikariDataSource result = new HikariDataSource();
-        result.setDriverClassName(com.mysql.jdbc.Driver.class.getName());
+        result.setDriverClassName("com.mysql.jdbc.Driver");
         result.setJdbcUrl(String.format("jdbc:mysql://%s:%s/%s?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8", HOST, PORT, dataSourceName));
         result.setUsername(USER_NAME);
         result.setPassword(PASSWORD);
diff --git a/examples/example-core/example-api/src/main/java/org/apache/shardingsphere/example/core/api/entity/ShadowUser.java b/examples/example-core/example-api/src/main/java/org/apache/shardingsphere/example/core/api/entity/ShadowUser.java
index 071044f..c7ab4b4 100644
--- a/examples/example-core/example-api/src/main/java/org/apache/shardingsphere/example/core/api/entity/ShadowUser.java
+++ b/examples/example-core/example-api/src/main/java/org/apache/shardingsphere/example/core/api/entity/ShadowUser.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.example.core.api.entity;
 
 import java.io.Serializable;
 
-public class ShadowUser implements Serializable {
+public final class ShadowUser implements Serializable {
     
     private static final long serialVersionUID = 263434701950670170L;
     
@@ -79,7 +79,7 @@ public class ShadowUser implements Serializable {
         return shadow;
     }
     
-    public void setShadow(boolean shadow) {
+    public void setShadow(final boolean shadow) {
         this.shadow = shadow;
     }
     
diff --git a/examples/example-core/example-raw-jdbc/src/main/java/org/apache/shardingsphere/example/core/jdbc/service/OrderServiceImpl.java b/examples/example-core/example-raw-jdbc/src/main/java/org/apache/shardingsphere/example/core/jdbc/service/OrderServiceImpl.java
index e97ed39..928b09d 100644
--- a/examples/example-core/example-raw-jdbc/src/main/java/org/apache/shardingsphere/example/core/jdbc/service/OrderServiceImpl.java
+++ b/examples/example-core/example-raw-jdbc/src/main/java/org/apache/shardingsphere/example/core/jdbc/service/OrderServiceImpl.java
@@ -35,16 +35,16 @@ import java.util.List;
 
 public final class OrderServiceImpl implements ExampleService {
     
-    private OrderRepository orderRepository;
+    private final OrderRepository orderRepository;
     
-    private OrderItemRepository orderItemRepository;
+    private final OrderItemRepository orderItemRepository;
     
-    private AddressRepository addressRepository;
+    private final AddressRepository addressRepository;
     
     public OrderServiceImpl(final DataSource dataSource) {
-        this.orderRepository = new OrderRepositoryImpl(dataSource);
-        this.orderItemRepository = new OrderItemRepositoryImpl(dataSource);
-        this.addressRepository = new AddressRepositoryImpl(dataSource);
+        orderRepository = new OrderRepositoryImpl(dataSource);
+        orderItemRepository = new OrderItemRepositoryImpl(dataSource);
+        addressRepository = new AddressRepositoryImpl(dataSource);
     }
     
     public OrderServiceImpl(final OrderRepository orderRepository, final OrderItemRepository orderItemRepository, final AddressRepository addressRepository) {
diff --git a/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/JavaConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/JavaConfigurationExampleMain.java
index 66a3354..7957048 100644
--- a/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/JavaConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/JavaConfigurationExampleMain.java
@@ -43,7 +43,7 @@ import java.sql.SQLException;
  * 2. Please make sure sharding-orchestration-center-zookeeper-curator in your pom if registryCenterType = RegistryCenterType.ZOOKEEPER.
  * 3. Please make sure sharding-orchestration-center-nacos in your pom if registryCenterType = RegistryCenterType.NACOS.
  */
-public class JavaConfigurationExampleMain {
+public final class JavaConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES_AND_TABLES;
 //    private static ShardingType shardingType = ShardingType.MASTER_SLAVE;
diff --git a/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/YamlConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/YamlConfigurationExampleMain.java
index 929ac54..3fdb215 100644
--- a/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/YamlConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/YamlConfigurationExampleMain.java
@@ -35,7 +35,7 @@ import java.sql.SQLException;
  * 2. Please make sure sharding-orchestration-center-zookeeper-curator in your pom if registryCenterType = RegistryCenterType.ZOOKEEPER.
  * 3. Please make sure sharding-orchestration-center-nacos in your pom if registryCenterType = RegistryCenterType.NACOS.
  */
-public class YamlConfigurationExampleMain {
+public final class YamlConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES_AND_TABLES;
 //    private static ShardingType shardingType = ShardingType.MASTER_SLAVE;
diff --git a/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/config/local/LocalShardingDatabasesConfiguration.java b/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/config/local/LocalShardingDatabasesConfiguration.java
index c394aaa..2fc7611 100644
--- a/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/config/local/LocalShardingDatabasesConfiguration.java
+++ b/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/config/local/LocalShardingDatabasesConfiguration.java
@@ -38,7 +38,7 @@ public final class LocalShardingDatabasesConfiguration implements ExampleConfigu
     
     private final OrchestrationConfiguration orchestrationConfiguration;
     
-    public LocalShardingDatabasesConfiguration(OrchestrationConfiguration orchestrationConfiguration) {
+    public LocalShardingDatabasesConfiguration(final OrchestrationConfiguration orchestrationConfiguration) {
         this.orchestrationConfiguration = orchestrationConfiguration;
     }
     
diff --git a/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/config/local/LocalShardingMasterSlaveConfiguration.java b/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/config/local/LocalShardingMasterSlaveConfiguration.java
index 3660300..9a6f830 100644
--- a/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/config/local/LocalShardingMasterSlaveConfiguration.java
+++ b/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/config/local/LocalShardingMasterSlaveConfiguration.java
@@ -44,7 +44,7 @@ public final class LocalShardingMasterSlaveConfiguration implements ExampleConfi
     
     private final OrchestrationConfiguration orchestrationConfiguration;
     
-    public LocalShardingMasterSlaveConfiguration(OrchestrationConfiguration orchestrationConfiguration) {
+    public LocalShardingMasterSlaveConfiguration(final OrchestrationConfiguration orchestrationConfiguration) {
         this.orchestrationConfiguration = orchestrationConfiguration;
     }
     
@@ -99,7 +99,7 @@ public final class LocalShardingMasterSlaveConfiguration implements ExampleConfi
     }
     
     private Map<String, DataSource> createDataSourceMap() {
-        final Map<String, DataSource> result = new HashMap<>();
+        Map<String, DataSource> result = new HashMap<>();
         result.put("demo_ds_master_0", DataSourceUtil.createDataSource("demo_ds_master_0"));
         result.put("demo_ds_master_0_slave_0", DataSourceUtil.createDataSource("demo_ds_master_0_slave_0"));
         result.put("demo_ds_master_0_slave_1", DataSourceUtil.createDataSource("demo_ds_master_0_slave_1"));
diff --git a/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/config/local/LocalShardingTablesConfiguration.java b/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/config/local/LocalShardingTablesConfiguration.java
index a3a9836..01f39ac 100644
--- a/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/config/local/LocalShardingTablesConfiguration.java
+++ b/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/orchestration/raw/jdbc/config/local/LocalShardingTablesConfiguration.java
@@ -38,7 +38,7 @@ public final class LocalShardingTablesConfiguration implements ExampleConfigurat
     
     private final OrchestrationConfiguration orchestrationConfiguration;
     
-    public LocalShardingTablesConfiguration(OrchestrationConfiguration orchestrationConfiguration) {
+    public LocalShardingTablesConfiguration(final OrchestrationConfiguration orchestrationConfiguration) {
         this.orchestrationConfiguration = orchestrationConfiguration;
     }
     
diff --git a/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/orchestration/spring/namespace/ExampleMain.java b/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/orchestration/spring/namespace/ExampleMain.java
index c2185d2..75dd951 100644
--- a/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/orchestration/spring/namespace/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/orchestration-example/orchestration-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/orchestration/spring/namespace/ExampleMain.java
@@ -26,7 +26,7 @@ import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 import java.sql.SQLException;
 
-public class ExampleMain {
+public final class ExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES_AND_TABLES;
 //    private static ShardingType shardingType = ShardingType.MASTER_SLAVE;
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/raw/jdbc/JavaConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/raw/jdbc/JavaConfigurationExampleMain.java
index b795650..99ca68f 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/raw/jdbc/JavaConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/raw/jdbc/JavaConfigurationExampleMain.java
@@ -30,7 +30,7 @@ import org.apache.shardingsphere.example.encrypt.table.raw.jdbc.config.EncryptDa
 import javax.sql.DataSource;
 import java.sql.SQLException;
 
-public class JavaConfigurationExampleMain {
+public final class JavaConfigurationExampleMain {
     
     public static void main(final String[] args) throws SQLException {
         DataSource dataSource = new EncryptDatabasesConfiguration().getDataSource();
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/raw/jdbc/YamlConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/raw/jdbc/YamlConfigurationExampleMain.java
index a7fc9b5..c3428b3 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/raw/jdbc/YamlConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/raw/jdbc/YamlConfigurationExampleMain.java
@@ -28,7 +28,7 @@ import java.io.File;
 import java.io.IOException;
 import java.sql.SQLException;
 
-public class YamlConfigurationExampleMain {
+public final class YamlConfigurationExampleMain {
     
     public static void main(final String[] args) throws SQLException, IOException {
         DataSource dataSource = YamlShardingSphereDataSourceFactory.createDataSource(getFile());
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/spring/namespace/ExampleMain.java b/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/spring/namespace/ExampleMain.java
index b686286..f36ccb7 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/spring/namespace/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/encrypt-example/encrypt-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/encrypt/table/spring/namespace/ExampleMain.java
@@ -24,7 +24,7 @@ import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 import java.sql.SQLException;
 
-public class ExampleMain {
+public final class ExampleMain {
     
     private static final String CONFIG_FILE = "META-INF/application-encrypt-databases.xml";
     
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/hint-example/hint-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/hint/raw/jdbc/ExampleMain.java b/examples/shardingsphere-jdbc-example/other-feature-example/hint-example/hint-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/hint/raw/jdbc/ExampleMain.java
index fa01640..4a1a29a 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/hint-example/hint-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/hint/raw/jdbc/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/hint-example/hint-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/hint/raw/jdbc/ExampleMain.java
@@ -29,7 +29,7 @@ import java.sql.Connection;
 import java.sql.SQLException;
 import java.sql.Statement;
 
-public class ExampleMain {
+public final class ExampleMain {
     
     private static final HintType TYPE = HintType.DATABASE_TABLES;
 //    private static final HintType TYPE = HintType.DATABASE_ONLY;
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/JavaConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/JavaConfigurationExampleMain.java
index dc10743..729fa5b 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/JavaConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/JavaConfigurationExampleMain.java
@@ -31,7 +31,7 @@ import org.apache.shardingsphere.example.type.ShardingType;
 import javax.sql.DataSource;
 import java.sql.SQLException;
 
-public class JavaConfigurationExampleMain {
+public final class JavaConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHADOW;
 //    private static ShardingType shardingType = ShardingType.MASTER_SLAVE_SHADOW;
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/YamlConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/YamlConfigurationExampleMain.java
index 3b362ba..5da8b59 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/YamlConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/YamlConfigurationExampleMain.java
@@ -28,7 +28,7 @@ import javax.sql.DataSource;
 import java.io.IOException;
 import java.sql.SQLException;
 
-public class YamlConfigurationExampleMain {
+public final class YamlConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHADOW;
 //    private static ShardingType shardingType = ShardingType.MASTER_SLAVE_SHADOW;
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/DataSourceFactory.java b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/DataSourceFactory.java
index 8899a55..50253d6 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/DataSourceFactory.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/DataSourceFactory.java
@@ -26,7 +26,7 @@ import org.apache.shardingsphere.example.type.ShardingType;
 import javax.sql.DataSource;
 import java.sql.SQLException;
 
-public class DataSourceFactory {
+public final class DataSourceFactory {
     
     public static DataSource newInstance(final ShardingType shardingType) throws SQLException {
         switch (shardingType) {
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/YamlDataSourceFactory.java b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/YamlDataSourceFactory.java
index 0bdf87f..5066244 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/YamlDataSourceFactory.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/shadow/table/raw/jdbc/factory/YamlDataSourceFactory.java
@@ -25,7 +25,7 @@ import java.io.File;
 import java.io.IOException;
 import java.sql.SQLException;
 
-public class YamlDataSourceFactory {
+public final class YamlDataSourceFactory {
     
     public static DataSource newInstance(final ShardingType shardingType) throws SQLException, IOException {
         switch (shardingType) {
diff --git a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/shadow/table/spring/namespace/ExampleMain.java b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/shadow/table/spring/namespace/ExampleMain.java
index f8e7cfa..00333c3 100644
--- a/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/shadow/table/spring/namespace/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/other-feature-example/shadow-example/shadow-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/shadow/table/spring/namespace/ExampleMain.java
@@ -24,7 +24,7 @@ import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 import java.sql.SQLException;
 
-public class ExampleMain {
+public final class ExampleMain {
     
     private static final String CONFIG_FILE = "META-INF/application-shadow-databases.xml";
 //    private static final String CONFIG_FILE = "META-INF/application-sharding-shadow-databases.xml";
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaConfigurationExampleMain.java
index 36d4a1a..9dbfd08 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaConfigurationExampleMain.java
@@ -29,7 +29,7 @@ import java.sql.SQLException;
 /*
  * Please make sure master-slave data sync on MySQL is running correctly. Otherwise this example will query empty data from slave.
  */
-public class JavaConfigurationExampleMain {
+public final class JavaConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES;
 //    private static ShardingType shardingType = ShardingType.SHARDING_TABLES;
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaRangeConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaRangeConfigurationExampleMain.java
index 9414261..d9d59ce 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaRangeConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/JavaRangeConfigurationExampleMain.java
@@ -32,7 +32,7 @@ import java.sql.SQLException;
 /*
  * Please make sure master-slave data sync on MySQL is running correctly. Otherwise this example will query empty data from slave.
  */
-public class JavaRangeConfigurationExampleMain {
+public final class JavaRangeConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES;
 //    private static ShardingType shardingType = ShardingType.SHARDING_TABLES;
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlConfigurationExampleMain.java
index 94bc19d..6579cd6 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlConfigurationExampleMain.java
@@ -30,7 +30,7 @@ import java.sql.SQLException;
 /*
  * Please make sure master-slave data sync on MySQL is running correctly. Otherwise this example will query empty data from slave.
  */
-public class YamlConfigurationExampleMain {
+public final class YamlConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES;
 //    private static ShardingType shardingType = ShardingType.SHARDING_TABLES;
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlRangeConfigurationExampleMain.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlRangeConfigurationExampleMain.java
index 07b7def..a42b9f9 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlRangeConfigurationExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/YamlRangeConfigurationExampleMain.java
@@ -30,7 +30,7 @@ import java.sql.SQLException;
 /*
  * Please make sure master-slave data sync on MySQL is running correctly. Otherwise this example will query empty data from slave.
  */
-public class YamlRangeConfigurationExampleMain {
+public final class YamlRangeConfigurationExampleMain {
     
     private static ShardingType shardingType = ShardingType.SHARDING_DATABASES;
 //    private static ShardingType shardingType = ShardingType.SHARDING_TABLES;
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingMasterSlaveConfigurationPrecise.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingMasterSlaveConfigurationPrecise.java
index 8990b4e..4d2b2d7 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingMasterSlaveConfigurationPrecise.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingMasterSlaveConfigurationPrecise.java
@@ -44,7 +44,7 @@ public final class ShardingMasterSlaveConfigurationPrecise implements ExampleCon
     }
     
     private static Map<String, DataSource> createDataSourceMap() {
-        final Map<String, DataSource> result = new HashMap<>();
+        Map<String, DataSource> result = new HashMap<>();
         result.put("demo_ds_master_0", DataSourceUtil.createDataSource("demo_ds_master_0"));
         result.put("demo_ds_master_0_slave_0", DataSourceUtil.createDataSource("demo_ds_master_0_slave_0"));
         result.put("demo_ds_master_0_slave_1", DataSourceUtil.createDataSource("demo_ds_master_0_slave_1"));
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingMasterSlaveConfigurationRange.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingMasterSlaveConfigurationRange.java
index 1da46c1..6c20832 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingMasterSlaveConfigurationRange.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/config/ShardingMasterSlaveConfigurationRange.java
@@ -44,7 +44,7 @@ public final class ShardingMasterSlaveConfigurationRange implements ExampleConfi
     }
     
     private static Map<String, DataSource> createDataSourceMap() {
-        final Map<String, DataSource> result = new HashMap<>();
+        Map<String, DataSource> result = new HashMap<>();
         result.put("demo_ds_master_0", DataSourceUtil.createDataSource("demo_ds_master_0"));
         result.put("demo_ds_master_0_slave_0", DataSourceUtil.createDataSource("demo_ds_master_0_slave_0"));
         result.put("demo_ds_master_0_slave_1", DataSourceUtil.createDataSource("demo_ds_master_0_slave_1"));
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/DataSourceFactory.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/DataSourceFactory.java
index e924af4..662b441 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/DataSourceFactory.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/DataSourceFactory.java
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.example.type.ShardingType;
 import javax.sql.DataSource;
 import java.sql.SQLException;
 
-public class DataSourceFactory {
+public final class DataSourceFactory {
     
     public static DataSource newInstance(final ShardingType shardingType) throws SQLException {
         switch (shardingType) {
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/RangeDataSourceFactory.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/RangeDataSourceFactory.java
index dd44545..0552479 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/RangeDataSourceFactory.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/RangeDataSourceFactory.java
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.example.type.ShardingType;
 import javax.sql.DataSource;
 import java.sql.SQLException;
 
-public class RangeDataSourceFactory {
+public final class RangeDataSourceFactory {
     
     public static DataSource newInstance(final ShardingType shardingType) throws SQLException {
         switch (shardingType) {
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlDataSourceFactory.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlDataSourceFactory.java
index a9d65cf..6c03dac 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlDataSourceFactory.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlDataSourceFactory.java
@@ -25,7 +25,7 @@ import java.io.File;
 import java.io.IOException;
 import java.sql.SQLException;
 
-public class YamlDataSourceFactory {
+public final class YamlDataSourceFactory {
     
     public static DataSource newInstance(final ShardingType shardingType) throws SQLException, IOException {
         switch (shardingType) {
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlRangeDataSourceFactory.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlRangeDataSourceFactory.java
index 8fbe8ee..7d13845 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlRangeDataSourceFactory.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/factory/YamlRangeDataSourceFactory.java
@@ -25,7 +25,7 @@ import java.io.File;
 import java.io.IOException;
 import java.sql.SQLException;
 
-public class YamlRangeDataSourceFactory {
+public final class YamlRangeDataSourceFactory {
     
     public static DataSource newInstance(final ShardingType shardingType) throws SQLException, IOException {
         switch (shardingType) {
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/jpa/ExampleMain.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/jpa/ExampleMain.java
index 202e07c..362e037 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/jpa/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-jpa-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/jpa/ExampleMain.java
@@ -24,7 +24,7 @@ import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 import java.sql.SQLException;
 
-public class ExampleMain {
+public final class ExampleMain {
     
     private static final String CONFIG_FILE = "META-INF/application-sharding-databases.xml";
 //    private static final String CONFIG_FILE = "META-INF/application-sharding-tables.xml";
diff --git a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/mybatis/ExampleMain.java b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/mybatis/ExampleMain.java
index 99d0463..b58f43f 100644
--- a/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/mybatis/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/sharding-example/sharding-spring-namespace-mybatis-example/src/main/java/org/apache/shardingsphere/example/sharding/spring/namespace/mybatis/ExampleMain.java
@@ -24,7 +24,7 @@ import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 import java.sql.SQLException;
 
-public class ExampleMain {
+public final class ExampleMain {
     
     private static final String CONFIG_FILE = "META-INF/application-sharding-databases.xml";
 //    private static final String CONFIG_FILE = "META-INF/application-sharding-tables.xml";
diff --git a/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-bitronix-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/bitronix/raw/jdbc/ExampleMain.java b/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-bitronix-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/bitronix/raw/jdbc/ExampleMain.java
index dab1a26..60241b7 100644
--- a/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-bitronix-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/bitronix/raw/jdbc/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-bitronix-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/bitronix/raw/jdbc/ExampleMain.java
@@ -17,15 +17,18 @@
 
 package org.apache.shardingsphere.example.transaction.xa.bitronix.raw.jdbc;
 
-import java.io.File;
-import javax.sql.DataSource;
 import org.apache.shardingsphere.driver.api.yaml.YamlShardingSphereDataSourceFactory;
 import org.apache.shardingsphere.example.core.api.ExampleExecuteTemplate;
 import org.apache.shardingsphere.example.core.api.service.ExampleService;
 
-public class ExampleMain {
+import javax.sql.DataSource;
+import java.io.File;
+import java.io.IOException;
+import java.sql.SQLException;
+
+public final class ExampleMain {
     
-    public static void main(final String[] args) throws Exception {
+    public static void main(final String[] args) throws SQLException, IOException {
         DataSource dataSource = YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/sharding-databases-tables.yaml"));
         ExampleExecuteTemplate.run(getExampleService(dataSource));
         ExampleExecuteTemplate.runFailure(getExampleService(dataSource));
@@ -35,7 +38,7 @@ public class ExampleMain {
         return new File(ExampleMain.class.getResource(fileName).getFile());
     }
     
-    private static ExampleService getExampleService(DataSource dataSource) {
+    private static ExampleService getExampleService(final DataSource dataSource) {
         return new OrderServiceImpl(dataSource);
     }
 }
diff --git a/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-narayana-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/narayana/raw/jdbc/ExampleMain.java b/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-narayana-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/narayana/raw/jdbc/ExampleMain.java
index 51a1afb..64327a5 100644
--- a/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-narayana-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/narayana/raw/jdbc/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-narayana-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/narayana/raw/jdbc/ExampleMain.java
@@ -23,11 +23,13 @@ import org.apache.shardingsphere.example.core.api.service.ExampleService;
 
 import javax.sql.DataSource;
 import java.io.File;
+import java.io.IOException;
+import java.sql.SQLException;
 
 //FIXME main class could not terminal after execute.
-public class ExampleMain {
+public final class ExampleMain {
     
-    public static void main(final String[] args) throws Exception {
+    public static void main(final String[] args) throws SQLException, IOException {
         DataSource dataSource = YamlShardingSphereDataSourceFactory.createDataSource(getFile("/META-INF/sharding-databases-tables.yaml"));
         ExampleExecuteTemplate.run(getExampleService(dataSource));
         ExampleExecuteTemplate.runFailure(getExampleService(dataSource));
diff --git a/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/raw/jdbc/ExampleMain.java b/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/raw/jdbc/ExampleMain.java
index b3ff63d..4f9d1f2 100644
--- a/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/raw/jdbc/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/raw/jdbc/ExampleMain.java
@@ -17,10 +17,12 @@
 
 package org.apache.shardingsphere.example.transaction.xa.raw.jdbc;
 
+import java.io.IOException;
+import java.sql.SQLException;
 
-public class ExampleMain {
+public final class ExampleMain {
     
-    public static void main(final String[] args) throws Exception {
+    public static void main(final String[] args) throws IOException, SQLException {
         XAOrderService orderService = new XAOrderService("/META-INF/sharding-databases-tables.yaml");
         orderService.init();
         orderService.insert();
diff --git a/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-spring-boot-example/src/test/java/org/apache/shardingsphere/example/transaction/xa/spring/boot/XAOrderServiceTest.java b/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-spring-boot-example/src/test/java/org/apache/shardingsphere/example/transaction/xa/spring/boot/XAOrderServiceTest.java
index 211a99b..5b7d4ab 100644
--- a/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-spring-boot-example/src/test/java/org/apache/shardingsphere/example/transaction/xa/spring/boot/XAOrderServiceTest.java
+++ b/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-spring-boot-example/src/test/java/org/apache/shardingsphere/example/transaction/xa/spring/boot/XAOrderServiceTest.java
@@ -35,7 +35,7 @@ import static org.junit.Assert.assertThat;
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = XAOrderServiceTest.class)
 @Import(TransactionConfiguration.class)
-@ComponentScan(basePackages = {"org.apache.shardingsphere"})
+@ComponentScan(basePackages = "org.apache.shardingsphere")
 @ActiveProfiles("sharding-databases-tables")
 public class XAOrderServiceTest {
     
diff --git a/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/spring/namspace/ExampleMain.java b/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/spring/namspace/ExampleMain.java
index 30762c9..83b0eee 100644
--- a/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/spring/namspace/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/transaction-example/transaction-2pc-xa-spring-namespace-example/src/main/java/org/apache/shardingsphere/example/transaction/xa/spring/namspace/ExampleMain.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.example.transaction.xa.spring.namspace;
 import org.springframework.context.annotation.AnnotationConfigApplicationContext;
 import org.springframework.context.annotation.ImportResource;
 
-@ImportResource(locations = {"/META-INF/application-sharding-databases-tables.xml"})
-public class ExampleMain {
+@ImportResource(locations = "/META-INF/application-sharding-databases-tables.xml")
+public final class ExampleMain {
     
     public static void main(final String[] args) {
         AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(ExampleMain.class);
diff --git a/examples/shardingsphere-jdbc-example/transaction-example/transaction-base-seata-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/base/seata/raw/jdbc/ExampleMain.java b/examples/shardingsphere-jdbc-example/transaction-example/transaction-base-seata-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/base/seata/raw/jdbc/ExampleMain.java
index 185218b..99bb714 100644
--- a/examples/shardingsphere-jdbc-example/transaction-example/transaction-base-seata-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/base/seata/raw/jdbc/ExampleMain.java
+++ b/examples/shardingsphere-jdbc-example/transaction-example/transaction-base-seata-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/transaction/base/seata/raw/jdbc/ExampleMain.java
@@ -26,7 +26,7 @@ package org.apache.shardingsphere.example.transaction.base.seata.raw.jdbc;
  - config.ype = "file"
  - service.vgroup_mapping.my_test_tx_group = "default"
  */
-public class ExampleMain {
+public final class ExampleMain {
     
     public static void main(final String[] args) throws Exception {
         SeataATOrderService orderService = new SeataATOrderService("/META-INF/sharding-databases-tables.yaml");
diff --git a/examples/shardingsphere-jdbc-example/transaction-example/transaction-base-seata-spring-boot-example/src/test/java/org/apache/shardingsphere/example/transaction/base/seata/spring/boot/SeataATOrderServiceTest.java b/examples/shardingsphere-jdbc-example/transaction-example/transaction-base-seata-spring-boot-example/src/test/java/org/apache/shardingsphere/example/transaction/base/seata/spring/boot/SeataATOrderServiceTest.java
index 10bdad7..8898381 100644
--- a/examples/shardingsphere-jdbc-example/transaction-example/transaction-base-seata-spring-boot-example/src/test/java/org/apache/shardingsphere/example/transaction/base/seata/spring/boot/SeataATOrderServiceTest.java
+++ b/examples/shardingsphere-jdbc-example/transaction-example/transaction-base-seata-spring-boot-example/src/test/java/org/apache/shardingsphere/example/transaction/base/seata/spring/boot/SeataATOrderServiceTest.java
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertThat;
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = SeataATOrderServiceTest.class)
 @Import(TransactionConfiguration.class)
-@ComponentScan(basePackages = {"org.apache.shardingsphere"})
+@ComponentScan(basePackages = "org.apache.shardingsphere")
 @ActiveProfiles("sharding-databases-tables")
 public class SeataATOrderServiceTest {
     
diff --git a/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/java/org/apache/shardingsphere/example/proxy/hint/ExampleMain.java b/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/java/org/apache/shardingsphere/example/proxy/hint/ExampleMain.java
index 12512ff..d33b840 100644
--- a/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/java/org/apache/shardingsphere/example/proxy/hint/ExampleMain.java
+++ b/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/java/org/apache/shardingsphere/example/proxy/hint/ExampleMain.java
@@ -28,7 +28,7 @@ import java.sql.Connection;
 import java.sql.SQLException;
 import java.sql.Statement;
 
-public class ExampleMain {
+public final class ExampleMain {
     
     private static final HintType TYPE = HintType.DATABASE_TABLES;
 //    private static final HintType TYPE = HintType.DATABASE_ONLY;
diff --git a/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/java/org/apache/shardingsphere/example/proxy/hint/factory/YamlDataSourceFactory.java b/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/java/org/apache/shardingsphere/example/proxy/hint/factory/YamlDataSourceFactory.java
index 9c90e97..f87031c 100644
--- a/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/java/org/apache/shardingsphere/example/proxy/hint/factory/YamlDataSourceFactory.java
+++ b/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/java/org/apache/shardingsphere/example/proxy/hint/factory/YamlDataSourceFactory.java
@@ -25,7 +25,7 @@ import javax.sql.DataSource;
 import java.io.File;
 import java.io.IOException;
 
-public class YamlDataSourceFactory {
+public final class YamlDataSourceFactory {
     
     public static DataSource createDataSource(final File yamlFile) throws IOException {
         DatasourceConfiguration datasourceConfig = YamlEngine.unmarshal(yamlFile, DatasourceConfiguration.class);
diff --git a/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-configuration/src/main/java/org/apache/shardingsphere/cluster/configuration/swapper/ClusterConfigurationYamlSwapper.java b/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-configuration/src/main/java/org/apache/shardingsphere/cluster/configuration/swapper/ClusterConfigurationYamlSwapper.java
index bfc3769..086e334 100644
--- a/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-configuration/src/main/java/org/apache/shardingsphere/cluster/configuration/swapper/ClusterConfigurationYamlSwapper.java
+++ b/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-configuration/src/main/java/org/apache/shardingsphere/cluster/configuration/swapper/ClusterConfigurationYamlSwapper.java
@@ -29,24 +29,23 @@ import org.apache.shardingsphere.infra.yaml.swapper.YamlSwapper;
 public final class ClusterConfigurationYamlSwapper implements YamlSwapper<YamlClusterConfiguration, ClusterConfiguration> {
     
     @Override
-    public YamlClusterConfiguration swapToYamlConfiguration(final ClusterConfiguration clusterConfiguration) {
-        final YamlClusterConfiguration yamlClusterConfiguration = new YamlClusterConfiguration();
-        final YamlHeartbeatConfiguration yamlHeartBeatConfiguration = new YamlHeartbeatConfiguration();
-        HeartbeatConfiguration heartbeat = clusterConfiguration.getHeartbeat();
+    public YamlClusterConfiguration swapToYamlConfiguration(final ClusterConfiguration data) {
+        YamlHeartbeatConfiguration yamlHeartBeatConfiguration = new YamlHeartbeatConfiguration();
+        HeartbeatConfiguration heartbeat = data.getHeartbeat();
         yamlHeartBeatConfiguration.setSql(heartbeat.getSql());
         yamlHeartBeatConfiguration.setInterval(heartbeat.getInterval());
         yamlHeartBeatConfiguration.setRetryEnable(heartbeat.isRetryEnable());
         yamlHeartBeatConfiguration.setRetryMaximum(heartbeat.getRetryMaximum());
         yamlHeartBeatConfiguration.setRetryInterval(heartbeat.getRetryInterval());
         yamlHeartBeatConfiguration.setThreadCount(heartbeat.getThreadCount());
-        yamlClusterConfiguration.setHeartbeat(yamlHeartBeatConfiguration);
-        return yamlClusterConfiguration;
+        YamlClusterConfiguration result = new YamlClusterConfiguration();
+        result.setHeartbeat(yamlHeartBeatConfiguration);
+        return result;
     }
     
     @Override
     public ClusterConfiguration swapToObject(final YamlClusterConfiguration yamlConfig) {
-        final ClusterConfiguration clusterConfiguration = new ClusterConfiguration();
-        final HeartbeatConfiguration heartBeatConfiguration = new HeartbeatConfiguration();
+        HeartbeatConfiguration heartBeatConfiguration = new HeartbeatConfiguration();
         YamlHeartbeatConfiguration heartbeat = yamlConfig.getHeartbeat();
         heartBeatConfiguration.setSql(heartbeat.getSql());
         heartBeatConfiguration.setInterval(heartbeat.getInterval());
@@ -54,7 +53,8 @@ public final class ClusterConfigurationYamlSwapper implements YamlSwapper<YamlCl
         heartBeatConfiguration.setRetryMaximum(heartbeat.getRetryMaximum());
         heartBeatConfiguration.setRetryInterval(heartbeat.getRetryInterval());
         heartBeatConfiguration.setThreadCount(0 == heartbeat.getThreadCount() ? Runtime.getRuntime().availableProcessors() << 1 : heartbeat.getThreadCount());
-        clusterConfiguration.setHeartbeat(heartBeatConfiguration);
-        return clusterConfiguration;
+        ClusterConfiguration result = new ClusterConfiguration();
+        result.setHeartbeat(heartBeatConfiguration);
+        return result;
     }
 }
diff --git a/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/main/java/org/apache/shardingsphere/cluster/heartbeat/detect/AbstractHeartbeatDetect.java b/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/main/java/org/apache/shardingsphere/cluster/heartbeat/detect/AbstractHeartbeatDetect.java
index 2920b6d..ff576fe 100644
--- a/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/main/java/org/apache/shardingsphere/cluster/heartbeat/detect/AbstractHeartbeatDetect.java
+++ b/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/main/java/org/apache/shardingsphere/cluster/heartbeat/detect/AbstractHeartbeatDetect.java
@@ -55,7 +55,7 @@ public abstract class AbstractHeartbeatDetect implements Callable<Map<String, He
     protected abstract Map<String, HeartbeatResult> buildResult(boolean result);
     
     @Override
-    public Map<String, HeartbeatResult> call() {
+    public final Map<String, HeartbeatResult> call() {
         if (!needDetect) {
             return buildResult(false);
         }
@@ -65,8 +65,8 @@ public abstract class AbstractHeartbeatDetect implements Callable<Map<String, He
                     return buildResult(true);
                 }
                 try {
-                    Thread.sleep(retryInterval * 1000);
-                } catch (InterruptedException ex) {
+                    Thread.sleep(retryInterval * 1000L);
+                } catch (final InterruptedException ex) {
                     log.warn("Retry heart beat detect sleep error", ex);
                 }
             }
diff --git a/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/main/java/org/apache/shardingsphere/cluster/heartbeat/detect/HeartbeatDetect.java b/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/main/java/org/apache/shardingsphere/cluster/heartbeat/detect/HeartbeatDetect.java
index d82573a..60bf1d7 100644
--- a/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/main/java/org/apache/shardingsphere/cluster/heartbeat/detect/HeartbeatDetect.java
+++ b/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/main/java/org/apache/shardingsphere/cluster/heartbeat/detect/HeartbeatDetect.java
@@ -49,7 +49,7 @@ public final class HeartbeatDetect extends AbstractHeartbeatDetect {
     public HeartbeatDetect(final String schemaName, final String dataSourceName, final DataSource dataSource,
                            final HeartbeatConfiguration configuration, final Boolean dataSourceDisabled) {
         super(configuration.isRetryEnable(), configuration.getRetryMaximum(), configuration.getRetryInterval(), !dataSourceDisabled);
-        this.sql = configuration.getSql();
+        sql = configuration.getSql();
         this.schemaName = schemaName;
         this.dataSourceName = dataSourceName;
         this.dataSource = dataSource;
@@ -63,7 +63,7 @@ public final class HeartbeatDetect extends AbstractHeartbeatDetect {
             try (ResultSet result = preparedStatement.executeQuery()) {
                 return Objects.nonNull(result) && result.next();
             }
-        } catch (SQLException ex) {
+        } catch (final SQLException ex) {
             log.error("Heart beat detect error", ex);
         }
         return Boolean.FALSE;
diff --git a/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/main/java/org/apache/shardingsphere/cluster/heartbeat/detect/HeartbeatHandler.java b/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/main/java/org/apache/shardingsphere/cluster/heartbeat/detect/HeartbeatHandler.java
index b00b384..1e489a3 100644
--- a/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/main/java/org/apache/shardingsphere/cluster/heartbeat/detect/HeartbeatHandler.java
+++ b/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/main/java/org/apache/shardingsphere/cluster/heartbeat/detect/HeartbeatHandler.java
@@ -19,6 +19,8 @@ package org.apache.shardingsphere.cluster.heartbeat.detect;
 
 import com.google.common.base.Joiner;
 import com.google.common.base.Preconditions;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.cluster.configuration.config.HeartbeatConfiguration;
 import org.apache.shardingsphere.cluster.heartbeat.response.HeartbeatResponse;
@@ -126,6 +128,7 @@ public final class HeartbeatHandler {
                 .equals(OrchestrationFacade.getInstance().getRegistryCenter().getDataSourcesNodeData(schemaDataSourceName));
     }
     
+    @NoArgsConstructor(access = AccessLevel.PRIVATE)
     private static final class HeartbeatHandlerHolder {
         
         public static final HeartbeatHandler INSTANCE = new HeartbeatHandler();
diff --git a/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/test/java/org/apache/shardingsphere/cluster/heartbeat/detect/HeartbeatHandlerTest.java b/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/test/java/org/apache/shardingsphere/cluster/heartbeat/detect/HeartbeatHandlerTest.java
index 7026fc7..99214be 100644
--- a/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/test/java/org/apache/shardingsphere/cluster/heartbeat/detect/HeartbeatHandlerTest.java
+++ b/shardingsphere-control-panel/shardingsphere-cluster/shardingsphere-cluster-heartbeat/src/test/java/org/apache/shardingsphere/cluster/heartbeat/detect/HeartbeatHandlerTest.java
@@ -23,7 +23,6 @@ import org.apache.shardingsphere.cluster.heartbeat.response.HeartbeatResponse;
 import org.apache.shardingsphere.cluster.heartbeat.response.HeartbeatResult;
 import org.apache.shardingsphere.kernel.context.SchemaContext;
 import org.apache.shardingsphere.kernel.context.schema.ShardingSphereSchema;
-import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -38,14 +37,14 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.stream.Collectors;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
-import static org.hamcrest.CoreMatchers.is;
 
 public final class HeartbeatHandlerTest {
     
@@ -74,8 +73,8 @@ public final class HeartbeatHandlerTest {
     public void assertHandleWithoutRetry() {
         handler.init(getHeartbeatConfiguration(false));
         HeartbeatResponse response = handler.handle(getSchemaContext(), Collections.emptyList());
-        Assert.assertNotNull(response);
-        Assert.assertNotNull(response.getHeartbeatResultMap());
+        assertNotNull(response);
+        assertNotNull(response.getHeartbeatResultMap());
         assertTrue(response.getHeartbeatResultMap().containsKey(SCHEMA_NAME));
         assertThat(response.getHeartbeatResultMap().get(SCHEMA_NAME).size(), is(1));
         HeartbeatResult heartbeatResult = response.getHeartbeatResultMap().get(SCHEMA_NAME).iterator().next();
@@ -89,8 +88,8 @@ public final class HeartbeatHandlerTest {
         enableExecuteQuery = false;
         handler.init(getHeartbeatConfiguration(false));
         HeartbeatResponse response = handler.handle(getSchemaContext(), Collections.emptyList());
-        Assert.assertNotNull(response);
-        Assert.assertNotNull(response.getHeartbeatResultMap());
+        assertNotNull(response);
+        assertNotNull(response.getHeartbeatResultMap());
         assertTrue(response.getHeartbeatResultMap().containsKey(SCHEMA_NAME));
         assertThat(response.getHeartbeatResultMap().get(SCHEMA_NAME).size(), is(1));
         HeartbeatResult heartbeatResult = response.getHeartbeatResultMap().get(SCHEMA_NAME).iterator().next();
@@ -103,8 +102,8 @@ public final class HeartbeatHandlerTest {
     public void assertHandleWithRetry() {
         handler.init(getHeartbeatConfiguration(true));
         HeartbeatResponse response = handler.handle(getSchemaContext(), Collections.emptyList());
-        Assert.assertNotNull(response);
-        Assert.assertNotNull(response.getHeartbeatResultMap());
+        assertNotNull(response);
+        assertNotNull(response.getHeartbeatResultMap());
         assertTrue(response.getHeartbeatResultMap().containsKey(SCHEMA_NAME));
         assertThat(response.getHeartbeatResultMap().get(SCHEMA_NAME).size(), is(1));
         HeartbeatResult heartbeatResult = response.getHeartbeatResultMap().get(SCHEMA_NAME).iterator().next();
@@ -118,8 +117,8 @@ public final class HeartbeatHandlerTest {
         enableExecuteQuery = false;
         handler.init(getHeartbeatConfiguration(true));
         HeartbeatResponse response = handler.handle(getSchemaContext(), Collections.emptyList());
-        Assert.assertNotNull(response);
-        Assert.assertNotNull(response.getHeartbeatResultMap());
+        assertNotNull(response);
+        assertNotNull(response.getHeartbeatResultMap());
         assertTrue(response.getHeartbeatResultMap().containsKey(SCHEMA_NAME));
         assertThat(response.getHeartbeatResultMap().get(SCHEMA_NAME).size(), is(1));
         HeartbeatResult heartbeatResult = response.getHeartbeatResultMap().get(SCHEMA_NAME).iterator().next();
@@ -133,8 +132,8 @@ public final class HeartbeatHandlerTest {
         multipleDataSource = true;
         handler.init(getHeartbeatConfiguration(false));
         HeartbeatResponse response = handler.handle(getSchemaContext(), Collections.emptyList());
-        Assert.assertNotNull(response);
-        Assert.assertNotNull(response.getHeartbeatResultMap());
+        assertNotNull(response);
+        assertNotNull(response.getHeartbeatResultMap());
         assertTrue(response.getHeartbeatResultMap().containsKey(SCHEMA_NAME));
         assertThat(response.getHeartbeatResultMap().get(SCHEMA_NAME).size(), is(2));
         assertTrue(response.getHeartbeatResultMap().get(SCHEMA_NAME).stream().map(HeartbeatResult::getDataSourceName)
@@ -143,56 +142,56 @@ public final class HeartbeatHandlerTest {
     }
     
     private HeartbeatConfiguration getHeartbeatConfiguration(final boolean retry) {
-        HeartbeatConfiguration configuration = new HeartbeatConfiguration();
-        configuration.setSql(DETECT_SQL);
-        configuration.setThreadCount(50);
-        configuration.setInterval(10);
-        configuration.setRetryEnable(retry);
-        configuration.setRetryMaximum(3);
-        configuration.setRetryInterval(1);
-        return configuration;
+        HeartbeatConfiguration result = new HeartbeatConfiguration();
+        result.setSql(DETECT_SQL);
+        result.setThreadCount(50);
+        result.setInterval(10);
+        result.setRetryEnable(retry);
+        result.setRetryMaximum(3);
+        result.setRetryInterval(1);
+        return result;
     }
     
     private Map<String, SchemaContext> getSchemaContext() {
-        Map<String, SchemaContext> schemaContexts = new HashMap<>();
+        Map<String, SchemaContext> result = new HashMap<>(1, 1);
         SchemaContext schemaContext = mock(SchemaContext.class);
         ShardingSphereSchema schema = mock(ShardingSphereSchema.class);
         when(schemaContext.getSchema()).thenReturn(schema);
         Map<String, DataSource> dataSources = getDataSources();
         when(schema.getDataSources()).thenReturn(dataSources);
-        schemaContexts.put(SCHEMA_NAME, schemaContext);
-        return schemaContexts;
+        result.put(SCHEMA_NAME, schemaContext);
+        return result;
     }
     
     private Map<String, DataSource> getDataSources() {
-        Map<String, DataSource> dataSources = new HashMap<>();
-        dataSources.put(DATA_SOURCE_0, getDataSource());
+        Map<String, DataSource> result = new HashMap<>(2, 1);
+        result.put(DATA_SOURCE_0, getDataSource());
         if (multipleDataSource) {
-            dataSources.put(DATA_SOURCE_1, getDataSource());
+            result.put(DATA_SOURCE_1, getDataSource());
         }
-        return dataSources;
+        return result;
     }
     
     @SneakyThrows(SQLException.class)
     private DataSource getDataSource() {
-        DataSource dataSource = mock(DataSource.class);
+        DataSource result = mock(DataSource.class);
         Connection connection = mock(Connection.class);
         PreparedStatement preparedStatement = getStatement();
-        when(dataSource.getConnection()).thenReturn(connection);
+        when(result.getConnection()).thenReturn(connection);
         when(connection.prepareStatement(DETECT_SQL)).thenReturn(preparedStatement);
-        return dataSource;
+        return result;
     }
     
     @SneakyThrows(SQLException.class)
     private PreparedStatement getStatement() {
-        PreparedStatement preparedStatement = mock(PreparedStatement.class);
+        PreparedStatement result = mock(PreparedStatement.class);
         ResultSet resultSet = mock(ResultSet.class);
         if (enableExecuteQuery) {
-            when(preparedStatement.executeQuery()).thenReturn(resultSet);
+            when(result.executeQuery()).thenReturn(resultSet);
             when(resultSet.next()).thenReturn(true);
         } else {
-            doThrow(SQLException.class).when(preparedStatement).executeQuery();
+            doThrow(SQLException.class).when(result).executeQuery();
         }
-        return preparedStatement;
+        return result;
     }
 }
diff --git a/shardingsphere-control-panel/shardingsphere-control-panel-spi/src/main/java/org/apache/shardingsphere/control/panel/spi/engine/SingletonFacadeEngine.java b/shardingsphere-control-panel/shardingsphere-control-panel-spi/src/main/java/org/apache/shardingsphere/control/panel/spi/engine/SingletonFacadeEngine.java
index 8fc3951..bf8875a 100644
--- a/shardingsphere-control-panel/shardingsphere-control-panel-spi/src/main/java/org/apache/shardingsphere/control/panel/spi/engine/SingletonFacadeEngine.java
+++ b/shardingsphere-control-panel/shardingsphere-control-panel-spi/src/main/java/org/apache/shardingsphere/control/panel/spi/engine/SingletonFacadeEngine.java
@@ -17,13 +17,17 @@
 
 package org.apache.shardingsphere.control.panel.spi.engine;
 
-import java.util.Optional;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.control.panel.spi.metrics.MetricsHandlerFacade;
 import org.apache.shardingsphere.infra.spi.singleton.SingletonServiceLoader;
 
+import java.util.Optional;
+
 /**
  * Singleton facade engine.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class SingletonFacadeEngine {
     
     /**
diff --git a/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-facade/src/main/java/org/apache/shardingsphere/metrics/facade/executor/MetricsThreadPoolExecutor.java b/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-facade/src/main/java/org/apache/shardingsphere/metrics/facade/executor/MetricsThreadPoolExecutor.java
index 448d7bb..448fcd2 100644
--- a/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-facade/src/main/java/org/apache/shardingsphere/metrics/facade/executor/MetricsThreadPoolExecutor.java
+++ b/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-facade/src/main/java/org/apache/shardingsphere/metrics/facade/executor/MetricsThreadPoolExecutor.java
@@ -47,11 +47,11 @@ public final class MetricsThreadPoolExecutor extends ThreadPoolExecutor {
     public MetricsThreadPoolExecutor(final String nameFormat, final int threadCount, final int queueSize) {
         super(threadCount, threadCount, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(queueSize),
                 new ThreadFactoryBuilder().setDaemon(true).setNameFormat(nameFormat).build(), buildRejectedExecutionHandler(queueSize));
-        this.name = nameFormat;
+        name = nameFormat;
     }
     
     private static RejectedExecutionHandler buildRejectedExecutionHandler(final int size) {
-        return (r, executor) -> {
+        return (runnable, executor) -> {
             BlockingQueue<Runnable> queue = executor.getQueue();
             while (queue.size() >= size) {
                 if (executor.isShutdown()) {
@@ -60,7 +60,7 @@ public final class MetricsThreadPoolExecutor extends ThreadPoolExecutor {
                 ((MetricsThreadPoolExecutor) executor).onRejected();
             }
             if (!executor.isShutdown()) {
-                executor.execute(r);
+                executor.execute(runnable);
             }
         };
     }
diff --git a/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-facade/src/test/java/org/apache/shardingsphere/metrics/facade/util/FieldUtil.java b/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-facade/src/test/java/org/apache/shardingsphere/metrics/facade/util/FieldUtil.java
index 5c1a08b..2d3c7d5 100644
--- a/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-facade/src/test/java/org/apache/shardingsphere/metrics/facade/util/FieldUtil.java
+++ b/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-facade/src/test/java/org/apache/shardingsphere/metrics/facade/util/FieldUtil.java
@@ -17,15 +17,16 @@
 
 package org.apache.shardingsphere.metrics.facade.util;
 
-import lombok.RequiredArgsConstructor;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import lombok.SneakyThrows;
 
 import java.lang.reflect.Field;
 
 /**
- * Field util.
+ * Field utility.
  */
-@RequiredArgsConstructor
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class FieldUtil {
     
     /**
diff --git a/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-prometheus/src/test/java/org/apache/shardingsphere/metrics/prometheus/impl/AbstractPrometheusCollectorRegistry.java b/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-prometheus/src/test/java/org/apache/shardingsphere/metrics/prometheus/impl/AbstractPrometheusCollectorRegistry.java
index 7bc69a9..c255c74 100644
--- a/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-prometheus/src/test/java/org/apache/shardingsphere/metrics/prometheus/impl/AbstractPrometheusCollectorRegistry.java
+++ b/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-prometheus/src/test/java/org/apache/shardingsphere/metrics/prometheus/impl/AbstractPrometheusCollectorRegistry.java
@@ -31,7 +31,7 @@ public abstract class AbstractPrometheusCollectorRegistry {
     
     @Before
     public void setupCollectorRegistry() {
-        this.collectorRegistry = CollectorRegistry.defaultRegistry;
+        collectorRegistry = CollectorRegistry.defaultRegistry;
     }
 }
 
diff --git a/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-spi/src/main/java/org/apache/shardingsphere/metrics/api/HistogramMetricsTracker.java b/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-spi/src/main/java/org/apache/shardingsphere/metrics/api/HistogramMetricsTracker.java
index b1d9e62..b6d828c 100644
--- a/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-spi/src/main/java/org/apache/shardingsphere/metrics/api/HistogramMetricsTracker.java
+++ b/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-spi/src/main/java/org/apache/shardingsphere/metrics/api/HistogramMetricsTracker.java
@@ -30,7 +30,7 @@ public interface HistogramMetricsTracker extends MetricsTracker {
      * @param labelValues label values
      * @return histogram metrics tracker delegate
      */
-    default HistogramMetricsTrackerDelegate startTimer(String... labelValues) {
+    default HistogramMetricsTrackerDelegate startTimer(final String... labelValues) {
         return new NoneHistogramMetricsTrackerDelegate();
     }
     
@@ -39,7 +39,7 @@ public interface HistogramMetricsTracker extends MetricsTracker {
      *
      * @param amount amount
      */
-    default void observer(long amount) {
+    default void observer(final long amount) {
     }
     
     /**
diff --git a/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-spi/src/main/java/org/apache/shardingsphere/metrics/api/SummaryMetricsTracker.java b/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-spi/src/main/java/org/apache/shardingsphere/metrics/api/SummaryMetricsTracker.java
index 8f9d554..4228077 100644
--- a/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-spi/src/main/java/org/apache/shardingsphere/metrics/api/SummaryMetricsTracker.java
+++ b/shardingsphere-control-panel/shardingsphere-metrics/shardingsphere-metrics-spi/src/main/java/org/apache/shardingsphere/metrics/api/SummaryMetricsTracker.java
@@ -30,7 +30,7 @@ public interface SummaryMetricsTracker extends MetricsTracker {
      * @param labelValues label values
      * @return Summary metrics tracker delegate
      */
-    default SummaryMetricsTrackerDelegate startTimer(String... labelValues) {
+    default SummaryMetricsTrackerDelegate startTimer(final String... labelValues) {
         return new NoneSummaryMetricsTrackerDelegate();
     }
     
@@ -39,7 +39,7 @@ public interface SummaryMetricsTracker extends MetricsTracker {
      *
      * @param amount amount
      */
-    default void observer(long amount) {
+    default void observer(final long amount) {
     }
     
     /**
diff --git a/shardingsphere-control-panel/shardingsphere-opentracing/src/test/java/org/apache/shardingsphere/opentracing/hook/BaseOpenTracingHookTest.java b/shardingsphere-control-panel/shardingsphere-opentracing/src/test/java/org/apache/shardingsphere/opentracing/hook/BaseOpenTracingHookTest.java
index d459df9..c7aaef8 100644
--- a/shardingsphere-control-panel/shardingsphere-opentracing/src/test/java/org/apache/shardingsphere/opentracing/hook/BaseOpenTracingHookTest.java
+++ b/shardingsphere-control-panel/shardingsphere-opentracing/src/test/java/org/apache/shardingsphere/opentracing/hook/BaseOpenTracingHookTest.java
@@ -55,7 +55,7 @@ public abstract class BaseOpenTracingHookTest {
     }
     
     @Before
-    public void resetTracer() {
+    public final void resetTracer() {
         TRACER.reset();
     }
     
@@ -66,7 +66,7 @@ public abstract class BaseOpenTracingHookTest {
     }
     
     protected final void assertSpanError(final Class<? extends Throwable> expectedException, final String expectedErrorMessage) {
-        final MockSpan actual = getActualSpan();
+        MockSpan actual = getActualSpan();
         assertTrue((Boolean) actual.tags().get(Tags.ERROR.getKey()));
         List<MockSpan.LogEntry> actualLogEntries = actual.logEntries();
         assertThat(actualLogEntries.size(), is(1));
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-common/src/test/java/org/apache/shardingsphere/orchestration/core/common/listener/PostOrchestrationRepositoryEventListenerTest.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-common/src/test/java/org/apache/shardingsphere/orchestration/core/common/listener/PostOrchestr [...]
index 2319e80..513a9e3 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-common/src/test/java/org/apache/shardingsphere/orchestration/core/common/listener/PostOrchestrationRepositoryEventListenerTest.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-common/src/test/java/org/apache/shardingsphere/orchestration/core/common/listener/PostOrchestrationRepositoryEventListenerTest.java
@@ -24,7 +24,6 @@ import org.apache.shardingsphere.orchestration.repository.api.listener.DataChang
 import org.apache.shardingsphere.orchestration.repository.api.listener.DataChangedEventListener;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.ArgumentMatchers;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
 
@@ -59,7 +58,7 @@ public final class PostOrchestrationRepositoryEventListenerTest {
             return mock(DataChangedEventListener.class);
         }).when(orchestrationRepository).watch(anyString(), any(DataChangedEventListener.class));
         postEventListener.watch(ChangedType.UPDATED);
-        verify(orchestrationRepository).watch(eq("test"), ArgumentMatchers.any());
+        verify(orchestrationRepository).watch(eq("test"), any());
     }
     
     @Test
@@ -77,7 +76,7 @@ public final class PostOrchestrationRepositoryEventListenerTest {
             return mock(DataChangedEventListener.class);
         }).when(orchestrationRepository).watch(anyString(), any(DataChangedEventListener.class));
         postEventListener.watch(ChangedType.UPDATED, ChangedType.DELETED);
-        verify(orchestrationRepository).watch(eq("test"), ArgumentMatchers.any());
-        verify(orchestrationRepository).watch(eq("dev"), ArgumentMatchers.any());
+        verify(orchestrationRepository).watch(eq("test"), any());
+        verify(orchestrationRepository).watch(eq("dev"), any());
     }
 }
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-config/src/main/java/org/apache/shardingsphere/orchestration/core/config/ConfigCenter.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-config/src/main/java/org/apache/shardingsphere/orchestration/core/config/ConfigCenter.java
index faed1b1..b01d51d 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-config/src/main/java/org/apache/shardingsphere/orchestration/core/config/ConfigCenter.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-config/src/main/java/org/apache/shardingsphere/orchestration/core/config/ConfigCenter.java
@@ -68,7 +68,7 @@ public final class ConfigCenter {
     private final ConfigurationRepository repository;
     
     public ConfigCenter(final String name, final ConfigurationRepository repository) {
-        this.node = new ConfigCenterNode(name);
+        node = new ConfigCenterNode(name);
         this.repository = repository;
         DataSourceCallback.getInstance().register(this::persistDataSourceConfiguration);
         RuleCallback.getInstance().register(this::persistRuleConfigurations);
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-config/src/test/java/org/apache/shardingsphere/orchestration/core/config/listener/SchemaChangedListenerTest.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-config/src/test/java/org/apache/shardingsphere/orchestration/core/config/listener/SchemaChangedListenerTest.java
index a63f42d..a38f47b 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-config/src/test/java/org/apache/shardingsphere/orchestration/core/config/listener/SchemaChangedListenerTest.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-config/src/test/java/org/apache/shardingsphere/orchestration/core/config/listener/SchemaChangedListenerTest.java
@@ -108,8 +108,8 @@ public final class SchemaChangedListenerTest {
         RuleConfigurationsChangedEvent event = (RuleConfigurationsChangedEvent) actual;
         assertThat(event.getShardingSchemaName(), is("masterslave_db"));
         assertThat(event.getRuleConfigurations().iterator().next(), instanceOf(MasterSlaveRuleConfiguration.class));
-        MasterSlaveRuleConfiguration masterSlaveRuleConfiguration = (MasterSlaveRuleConfiguration) event.getRuleConfigurations().iterator().next();
-        assertThat(masterSlaveRuleConfiguration.getDataSources().iterator().next().getMasterDataSourceName(), is("master_ds"));
+        MasterSlaveRuleConfiguration masterSlaveRuleConfig = (MasterSlaveRuleConfiguration) event.getRuleConfigurations().iterator().next();
+        assertThat(masterSlaveRuleConfig.getDataSources().iterator().next().getMasterDataSourceName(), is("master_ds"));
     }
     
     @Test
@@ -121,11 +121,11 @@ public final class SchemaChangedListenerTest {
         RuleConfigurationsChangedEvent event = (RuleConfigurationsChangedEvent) actual;
         assertThat(event.getShardingSchemaName(), is("encrypt_db"));
         assertThat(event.getRuleConfigurations().iterator().next(), instanceOf(EncryptRuleConfiguration.class));
-        EncryptRuleConfiguration encryptRuleConfiguration = (EncryptRuleConfiguration) event.getRuleConfigurations().iterator().next();
-        assertThat(encryptRuleConfiguration.getEncryptors().size(), is(1));
-        ShardingSphereAlgorithmConfiguration encryptAlgorithmConfiguration = encryptRuleConfiguration.getEncryptors().get("order_encryptor");
-        assertThat(encryptAlgorithmConfiguration.getType(), is("AES"));
-        assertThat(encryptAlgorithmConfiguration.getProps().get("aes.key.value").toString(), is("123456"));
+        EncryptRuleConfiguration encryptRuleConfig = (EncryptRuleConfiguration) event.getRuleConfigurations().iterator().next();
+        assertThat(encryptRuleConfig.getEncryptors().size(), is(1));
+        ShardingSphereAlgorithmConfiguration encryptAlgorithmConfig = encryptRuleConfig.getEncryptors().get("order_encryptor");
+        assertThat(encryptAlgorithmConfig.getType(), is("AES"));
+        assertThat(encryptAlgorithmConfig.getProps().get("aes.key.value"), is(123456));
     }
     
     @Test
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/main/java/org/apache/shardingsphere/orchestration/core/facade/OrchestrationFacade.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/main/java/org/apache/shardingsphere/orchestration/core/facade/OrchestrationFacade.java
index f78a48e..939e1c5 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/main/java/org/apache/shardingsphere/orchestration/core/facade/OrchestrationFacade.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/main/java/org/apache/shardingsphere/orchestration/core/facade/OrchestrationFacade.java
@@ -17,7 +17,9 @@
 
 package org.apache.shardingsphere.orchestration.core.facade;
 
+import lombok.AccessLevel;
 import lombok.Getter;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.cluster.configuration.config.ClusterConfiguration;
 import org.apache.shardingsphere.infra.auth.Authentication;
 import org.apache.shardingsphere.infra.config.DataSourceConfiguration;
@@ -129,6 +131,7 @@ public final class OrchestrationFacade implements AutoCloseable {
         return OrchestrationFacadeHolder.INSTANCE;
     }
     
+    @NoArgsConstructor(access = AccessLevel.PRIVATE)
     private static final class OrchestrationFacadeHolder {
         
         public static final OrchestrationFacade INSTANCE = new OrchestrationFacade();
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/test/java/org/apache/shardingsphere/orchestration/core/facade/util/FieldUtil.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/test/java/org/apache/shardingsphere/orchestration/core/facade/util/FieldUtil.java
index dd19692..e9bc021 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/test/java/org/apache/shardingsphere/orchestration/core/facade/util/FieldUtil.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-facade/src/test/java/org/apache/shardingsphere/orchestration/core/facade/util/FieldUtil.java
@@ -17,7 +17,8 @@
 
 package org.apache.shardingsphere.orchestration.core.facade.util;
 
-import lombok.RequiredArgsConstructor;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import lombok.SneakyThrows;
 
 import java.lang.reflect.Field;
@@ -25,7 +26,7 @@ import java.lang.reflect.Field;
 /**
  * Field Utility.
  */
-@RequiredArgsConstructor
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class FieldUtil {
     
     /**
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/main/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataCenter.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/main/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataCenter.java
index 0eda026..ea65a6d 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/main/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataCenter.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/main/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataCenter.java
@@ -37,8 +37,8 @@ public final class MetaDataCenter {
     private final OrchestrationRepository repository;
     
     public MetaDataCenter(final String name, final OrchestrationRepository orchestrationRepository) {
-        this.node = new MetaDataCenterNode(name);
-        this.repository = orchestrationRepository;
+        node = new MetaDataCenterNode(name);
+        repository = orchestrationRepository;
         MetaDataCallback.getInstance().register(this::persistMetaDataCenterNode);
     }
     
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataCenterTest.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataCenterTest.java
index 7842174..3091b61 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataCenterTest.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataCenterTest.java
@@ -54,14 +54,14 @@ public final class MetaDataCenterTest {
     
     @Test
     public void assertPersistMetaDataCenterNode() {
-        RuleSchemaMetaData ruleSchemaMetaData = new RuleSchemaMetaDataYamlSwapper().swapToObject(YamlEngine.unmarshal(MetaDataTest.META_DATA, YamlRuleSchemaMetaData.class));
+        RuleSchemaMetaData ruleSchemaMetaData = new RuleSchemaMetaDataYamlSwapper().swapToObject(YamlEngine.unmarshal(MetaDataJson.META_DATA, YamlRuleSchemaMetaData.class));
         metaDataCenter.persistMetaDataCenterNode("schema", ruleSchemaMetaData);
         verify(repository).persist(eq("/test/metadata/schema"), anyString());
     }
     
     @Test
     public void assertLoadRuleSchemaMetaData() {
-        when(repository.get("/test/metadata/schema")).thenReturn(MetaDataTest.META_DATA);
+        when(repository.get("/test/metadata/schema")).thenReturn(MetaDataJson.META_DATA);
         Optional<RuleSchemaMetaData> optionalRuleSchemaMetaData = metaDataCenter.loadRuleSchemaMetaData("schema");
         assertThat(optionalRuleSchemaMetaData.isPresent(), is(true));
         Optional<RuleSchemaMetaData> empty = metaDataCenter.loadRuleSchemaMetaData("test");
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataTest.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataJson.java
similarity index 93%
rename from shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataTest.java
rename to shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataJson.java
index 093e55a..af0c16d 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataTest.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/MetaDataJson.java
@@ -17,7 +17,11 @@
 
 package org.apache.shardingsphere.orchestration.core.metadata;
 
-public final class MetaDataTest {
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class MetaDataJson {
     
     public static final String META_DATA = "configuredSchemaMetaData:\n"
             + "  tables:\n"
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/listener/MetaDataChangedListenerTest.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/listener/MetaDataChangedListen [...]
index 5f78c32..94eb44a 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/listener/MetaDataChangedListenerTest.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/listener/MetaDataChangedListenerTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.orchestration.core.metadata.listener;
 
-import org.apache.shardingsphere.orchestration.core.metadata.MetaDataTest;
+import org.apache.shardingsphere.orchestration.core.metadata.MetaDataJson;
 import org.apache.shardingsphere.orchestration.core.metadata.event.MetaDataChangedEvent;
 import org.apache.shardingsphere.orchestration.repository.api.OrchestrationRepository;
 import org.apache.shardingsphere.orchestration.repository.api.listener.DataChangedEvent;
@@ -46,7 +46,7 @@ public final class MetaDataChangedListenerTest {
     
     @Test
     public void createOrchestrationEvent() {
-        DataChangedEvent event = new DataChangedEvent("/test/metadata/schema", MetaDataTest.META_DATA, ChangedType.UPDATED);
+        DataChangedEvent event = new DataChangedEvent("/test/metadata/schema", MetaDataJson.META_DATA, ChangedType.UPDATED);
         MetaDataChangedEvent metaDataChangedEvent = (MetaDataChangedEvent) metaDataChangedListener.createOrchestrationEvent(event);
         assertNotNull(metaDataChangedEvent);
         assertThat(metaDataChangedEvent.getSchemaNames(), is(Collections.singleton("schema")));
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/util/FieldUtil.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/util/FieldUtil.java
index 8d42e96..c6807db 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/util/FieldUtil.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/util/FieldUtil.java
@@ -17,15 +17,16 @@
 
 package org.apache.shardingsphere.orchestration.core.metadata.util;
 
-import lombok.RequiredArgsConstructor;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import lombok.SneakyThrows;
 
 import java.lang.reflect.Field;
 
 /**
- * Field util.
+ * Field utility.
  */
-@RequiredArgsConstructor
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class FieldUtil {
     
     /**
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/yaml/RuleSchemaMetaDataYamlSwapperTest.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/yaml/RuleSchemaMetaDataYamlS [...]
index ee22d11..0bacc8f 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/yaml/RuleSchemaMetaDataYamlSwapperTest.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-metadata/src/test/java/org/apache/shardingsphere/orchestration/core/metadata/yaml/RuleSchemaMetaDataYamlSwapperTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.orchestration.core.metadata.yaml;
 
-import org.apache.shardingsphere.orchestration.core.metadata.MetaDataTest;
+import org.apache.shardingsphere.orchestration.core.metadata.MetaDataJson;
 import org.apache.shardingsphere.infra.metadata.schema.RuleSchemaMetaData;
 import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
 import org.junit.Test;
@@ -32,7 +32,7 @@ public final class RuleSchemaMetaDataYamlSwapperTest {
     
     @Test
     public void assertSwapToYamlRuleSchemaMetaData() {
-        RuleSchemaMetaData ruleSchemaMetaData = new RuleSchemaMetaDataYamlSwapper().swapToObject(YamlEngine.unmarshal(MetaDataTest.META_DATA, YamlRuleSchemaMetaData.class));
+        RuleSchemaMetaData ruleSchemaMetaData = new RuleSchemaMetaDataYamlSwapper().swapToObject(YamlEngine.unmarshal(MetaDataJson.META_DATA, YamlRuleSchemaMetaData.class));
         YamlRuleSchemaMetaData yamlRuleSchemaMetaData = new RuleSchemaMetaDataYamlSwapper().swapToYamlConfiguration(ruleSchemaMetaData);
         assertNotNull(yamlRuleSchemaMetaData);
         assertNotNull(yamlRuleSchemaMetaData.getConfiguredSchemaMetaData());
@@ -48,7 +48,7 @@ public final class RuleSchemaMetaDataYamlSwapperTest {
     
     @Test
     public void assertSwapToRuleSchemaMetaData() {
-        YamlRuleSchemaMetaData yamlRuleSchemaMetaData = YamlEngine.unmarshal(MetaDataTest.META_DATA, YamlRuleSchemaMetaData.class);
+        YamlRuleSchemaMetaData yamlRuleSchemaMetaData = YamlEngine.unmarshal(MetaDataJson.META_DATA, YamlRuleSchemaMetaData.class);
         RuleSchemaMetaData ruleSchemaMetaData = new RuleSchemaMetaDataYamlSwapper().swapToObject(yamlRuleSchemaMetaData);
         assertNotNull(ruleSchemaMetaData);
         assertNotNull(ruleSchemaMetaData.getConfiguredSchemaMetaData());
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-registry/src/main/java/org/apache/shardingsphere/orchestration/core/registry/instance/OrchestrationInstance.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-registry/src/main/java/org/apache/shardingsphere/orchestration/core/registry/instance/OrchestrationInstance.java
index dd6a500..d08929b 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-registry/src/main/java/org/apache/shardingsphere/orchestration/core/registry/instance/OrchestrationInstance.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-registry/src/main/java/org/apache/shardingsphere/orchestration/core/registry/instance/OrchestrationInstance.java
@@ -35,8 +35,7 @@ public final class OrchestrationInstance {
     private final String instanceId;
     
     private OrchestrationInstance() {
-        instanceId = Joiner.on(DELIMITER).join(IpUtils.getIp(), ManagementFactory.getRuntimeMXBean().getName().split(DELIMITER)[0],
-                UUID.randomUUID().toString());
+        instanceId = Joiner.on(DELIMITER).join(IpUtils.getIp(), ManagementFactory.getRuntimeMXBean().getName().split(DELIMITER)[0], UUID.randomUUID().toString());
     }
     
     /**
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-registry/src/test/java/org/apache/shardingsphere/orchestration/core/registry/util/FieldUtil.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-registry/src/test/java/org/apache/shardingsphere/orchestration/core/registry/util/FieldUtil.java
index e5d0853..be417c5 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-registry/src/test/java/org/apache/shardingsphere/orchestration/core/registry/util/FieldUtil.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-registry/src/test/java/org/apache/shardingsphere/orchestration/core/registry/util/FieldUtil.java
@@ -17,15 +17,16 @@
 
 package org.apache.shardingsphere.orchestration.core.registry.util;
 
-import lombok.RequiredArgsConstructor;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import lombok.SneakyThrows;
 
 import java.lang.reflect.Field;
 
 /**
- * Field Utility.
+ * Field utility.
  */
-@RequiredArgsConstructor
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class FieldUtil {
     
     /**
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-schema/src/main/java/org/apache/shardingsphere/orchestration/core/schema/OrchestrationSchemaContexts.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-schema/src/main/java/org/apache/shardingsphere/orchestration/core/schema/OrchestrationSchemaContexts.java
index 8d67325..7636845 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-schema/src/main/java/org/apache/shardingsphere/orchestration/core/schema/OrchestrationSchemaContexts.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-schema/src/main/java/org/apache/shardingsphere/orchestration/core/schema/OrchestrationSchemaContexts.java
@@ -274,7 +274,7 @@ public abstract class OrchestrationSchemaContexts implements SchemaContexts {
      */
     @Subscribe
     public synchronized void renew(final CircuitStateChangedEvent event) {
-        this.schemaContexts = new StandardSchemaContexts(schemaContexts.getSchemaContexts(), schemaContexts.getAuthentication(), schemaContexts.getProps(), event.isCircuitBreak());
+        schemaContexts = new StandardSchemaContexts(schemaContexts.getSchemaContexts(), schemaContexts.getAuthentication(), schemaContexts.getProps(), event.isCircuitBreak());
     }
     
     /**
@@ -331,7 +331,7 @@ public abstract class OrchestrationSchemaContexts implements SchemaContexts {
     
     private Map<String, SchemaContext> getChangedSchemaContexts(final ConfigurationProperties props) {
         Map<String, SchemaContext> result = new HashMap<>(schemaContexts.getSchemaContexts().size());
-        for (Entry<String, SchemaContext> entry : this.schemaContexts.getSchemaContexts().entrySet()) {
+        for (Entry<String, SchemaContext> entry : schemaContexts.getSchemaContexts().entrySet()) {
             RuntimeContext runtimeContext = entry.getValue().getRuntimeContext();
             result.put(entry.getKey(), new SchemaContext(entry.getValue().getName(), entry.getValue().getSchema(), new RuntimeContext(runtimeContext.getCachedDatabaseMetaData(),
                     new ExecutorKernel(props.<Integer>getValue(ConfigurationPropertyKey.EXECUTOR_SIZE)), runtimeContext.getSqlParserEngine(), runtimeContext.getTransactionManagerEngine())));
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-apollo/src/test/java/org/apache/shardingsphere/orchestration/repository/apollo/ApolloRepositoryTest.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository [...]
index 757edab..cb56ba2 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-apollo/src/test/java/org/apache/shardingsphere/orchestration/repository/apollo/ApolloRepositoryTest.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-apollo/src/test/java/org/apache/shardingsphere/orchestration/repository/apollo/ApolloRepositoryTest.java
@@ -108,7 +108,7 @@ public final class ApolloRepositoryTest {
     }
     
     private void assertWatchUpdateChangedType(final String path, final String key, final String newValue) throws InterruptedException, ExecutionException, TimeoutException {
-        final SettableFuture<DataChangedEvent> future = SettableFuture.create();
+        SettableFuture<DataChangedEvent> future = SettableFuture.create();
         REPOSITORY.watch(path, future::set);
         embeddedApollo.addOrModifyProperty("orchestration", key, newValue);
         DataChangedEvent changeEvent = future.get(5, TimeUnit.SECONDS);
@@ -123,7 +123,7 @@ public final class ApolloRepositoryTest {
     }
     
     private void assertWatchDeletedChangedType(final String path, final String key) throws InterruptedException, ExecutionException, TimeoutException {
-        final SettableFuture<DataChangedEvent> future = SettableFuture.create();
+        SettableFuture<DataChangedEvent> future = SettableFuture.create();
         REPOSITORY.watch(path, future::set);
         embeddedApollo.deleteProperty("orchestration", key);
         DataChangedEvent changeEvent = future.get(5, TimeUnit.SECONDS);
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-apollo/src/test/java/org/apache/shardingsphere/orchestration/repository/apollo/wrapper/ApolloConfigWrapperTest.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration [...]
index 539a1f8..be155c5 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-apollo/src/test/java/org/apache/shardingsphere/orchestration/repository/apollo/wrapper/ApolloConfigWrapperTest.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-apollo/src/test/java/org/apache/shardingsphere/orchestration/repository/apollo/wrapper/ApolloConfigWrapperTest.java
@@ -22,8 +22,8 @@ import com.ctrip.framework.apollo.enums.PropertyChangeType;
 import com.ctrip.framework.apollo.mockserver.EmbeddedApollo;
 import com.ctrip.framework.apollo.model.ConfigChangeEvent;
 import com.google.common.util.concurrent.SettableFuture;
-import org.apache.shardingsphere.orchestration.repository.apollo.ApolloProperties;
 import org.apache.shardingsphere.orchestration.repository.api.config.OrchestrationCenterConfiguration;
+import org.apache.shardingsphere.orchestration.repository.apollo.ApolloProperties;
 import org.junit.Before;
 import org.junit.ClassRule;
 import org.junit.Test;
@@ -31,7 +31,9 @@ import org.slf4j.bridge.SLF4JBridgeHandler;
 
 import java.util.Collections;
 import java.util.Properties;
+import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
@@ -61,8 +63,8 @@ public final class ApolloConfigWrapperTest {
     }
     
     @Test
-    public void assertAddChangeListener() throws Exception {
-        final SettableFuture<ConfigChangeEvent> future = SettableFuture.create();
+    public void assertAddChangeListener() throws InterruptedException, TimeoutException, ExecutionException {
+        SettableFuture<ConfigChangeEvent> future = SettableFuture.create();
         ConfigChangeListener listener = future::set;
         configWrapper.addChangeListener(listener, Collections.singleton("test.children.2"));
         embeddedApollo.addOrModifyProperty("orchestration", "test.children.2", "value3");
@@ -74,8 +76,8 @@ public final class ApolloConfigWrapperTest {
     }
     
     @Test
-    public void assertAddChangeListenerWithInterestedKeyPrefixes() throws Exception {
-        final SettableFuture<ConfigChangeEvent> future = SettableFuture.create();
+    public void assertAddChangeListenerWithInterestedKeyPrefixes() throws InterruptedException, TimeoutException, ExecutionException {
+        SettableFuture<ConfigChangeEvent> future = SettableFuture.create();
         ConfigChangeListener listener = future::set;
         configWrapper.addChangeListener(listener, Collections.singleton("test.children.1"), Collections.singleton("test.children.2"));
         embeddedApollo.addOrModifyProperty("orchestration", "test.children.2.1", "value4");
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-etcd/src/main/java/org/apache/shardingsphere/orchestration/repository/etcd/EtcdRepository.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-etcd/src/ [...]
index 51b8a23..183cce1 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-etcd/src/main/java/org/apache/shardingsphere/orchestration/repository/etcd/EtcdRepository.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-etcd/src/main/java/org/apache/shardingsphere/orchestration/repository/etcd/EtcdRepository.java
@@ -57,8 +57,8 @@ public final class EtcdRepository implements ConfigurationRepository, RegistryRe
     private EtcdProperties etcdProperties;
 
     @Override
-    public void init(final String namespace, final OrchestrationCenterConfiguration config) { 
-        this.etcdProperties = new EtcdProperties(props);
+    public void init(final String namespace, final OrchestrationCenterConfiguration config) {
+        etcdProperties = new EtcdProperties(props);
         client = Client.builder().endpoints(Util.toURIs(Splitter.on(",").trimResults().splitToList(config.getServerLists()))).build();
     }
     
@@ -93,7 +93,7 @@ public final class EtcdRepository implements ConfigurationRepository, RegistryRe
     @SneakyThrows({InterruptedException.class, ExecutionException.class})
     @Override
     public void persistEphemeral(final String key, final String value) {
-        long leaseId = client.getLeaseClient().grant(this.etcdProperties.getValue(EtcdPropertyKey.TIME_TO_LIVE_SECONDS)).get().getID();
+        long leaseId = client.getLeaseClient().grant(etcdProperties.getValue(EtcdPropertyKey.TIME_TO_LIVE_SECONDS)).get().getID();
         client.getLeaseClient().keepAlive(leaseId, Observers.observer(response -> { }));
         client.getKVClient().put(ByteSequence.from(key, Charsets.UTF_8), ByteSequence.from(value, Charsets.UTF_8), PutOption.newBuilder().withLeaseId(leaseId).build()).get();
     }
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-nacos/src/main/java/org/apache/shardingsphere/orchestration/repository/nacos/NacosRepository.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-nacos/ [...]
index b319b82..1026e7f 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-nacos/src/main/java/org/apache/shardingsphere/orchestration/repository/nacos/NacosRepository.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-nacos/src/main/java/org/apache/shardingsphere/orchestration/repository/nacos/NacosRepository.java
@@ -63,8 +63,8 @@ public final class NacosRepository implements ConfigurationRepository {
         try {
             nacosProperties = new NacosProperties(props);
             Properties props = new Properties();
-            props.put(PropertyKeyConst.SERVER_ADDR, config.getServerLists());
-            props.put(PropertyKeyConst.NAMESPACE, null == namespace ? "" : namespace);
+            props.setProperty(PropertyKeyConst.SERVER_ADDR, config.getServerLists());
+            props.setProperty(PropertyKeyConst.NAMESPACE, null == namespace ? "" : namespace);
             configService = NacosFactory.createConfigService(props);
         } catch (final NacosException ex) {
             log.error("Init nacos config center exception for: {}", ex.toString());
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-nacos/src/test/java/org/apache/shardingsphere/orchestration/repository/nacos/NacosRepositoryTest.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-na [...]
index 7ee679f..eb91931 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-nacos/src/test/java/org/apache/shardingsphere/orchestration/repository/nacos/NacosRepositoryTest.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-nacos/src/test/java/org/apache/shardingsphere/orchestration/repository/nacos/NacosRepositoryTest.java
@@ -89,7 +89,7 @@ public final class NacosRepositoryTest {
     @Test
     public void assertWatch() throws NacosException {
         final String expectValue = "expectValue";
-        final String[] actualValue = {null};
+        String[] actualValue = {null};
         doAnswer(AdditionalAnswers.answerVoid(getListenerAnswer(expectValue))).when(configService).addListener(anyString(), anyString(), any(Listener.class));
         DataChangedEventListener listener = dataChangedEvent -> actualValue[0] = dataChangedEvent.getValue();
         REPOSITORY.watch("/sharding/test", listener);
@@ -117,8 +117,8 @@ public final class NacosRepositoryTest {
     @Test
     public void assertWatchUpdatedChangedType() throws NacosException {
         final String expectValue = "expectValue";
-        final String[] actualValue = {null};
-        final ChangedType[] actualType = {null};
+        String[] actualValue = {null};
+        ChangedType[] actualType = {null};
         doAnswer(AdditionalAnswers.answerVoid(getListenerAnswer(expectValue))).when(configService).addListener(anyString(), anyString(), any(Listener.class));
         DataChangedEventListener listener = dataChangedEvent -> {
             actualValue[0] = dataChangedEvent.getValue();
@@ -131,7 +131,7 @@ public final class NacosRepositoryTest {
     
     @Test
     public void assertWatchDeletedChangedType() throws NacosException {
-        final ChangedType[] actualType = {null};
+        ChangedType[] actualType = {null};
         doAnswer(AdditionalAnswers.answerVoid(getListenerAnswer(null))).when(configService).addListener(anyString(), anyString(), any(Listener.class));
         DataChangedEventListener listener = dataChangedEvent -> actualType[0] = dataChangedEvent.getChangedType();
         REPOSITORY.watch("/sharding/test", listener);
@@ -156,10 +156,8 @@ public final class NacosRepositoryTest {
     @SneakyThrows
     @Test
     public void assertWatchWhenThrowException() {
-        final ChangedType[] actualType = {null};
-        doThrow(NacosException.class)
-                .when(configService)
-                .addListener(anyString(), anyString(), any(Listener.class));
+        ChangedType[] actualType = {null};
+        doThrow(NacosException.class).when(configService).addListener(anyString(), anyString(), any(Listener.class));
         DataChangedEventListener listener = dataChangedEvent -> actualType[0] = dataChangedEvent.getChangedType();
         REPOSITORY.watch("/sharding/test", listener);
         assertNull(actualType[0]);
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-zookeeper-curator/src/main/java/org/apache/shardingsphere/orchestration/repository/zookeeper/CuratorZookeeperRepository.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orch [...]
index 3f18895..5cf867d 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-zookeeper-curator/src/main/java/org/apache/shardingsphere/orchestration/repository/zookeeper/CuratorZookeeperRepository.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-zookeeper-curator/src/main/java/org/apache/shardingsphere/orchestration/repository/zookeeper/CuratorZookeeperRepository.java
@@ -217,7 +217,7 @@ public final class CuratorZookeeperRepository implements ConfigurationRepository
                 client.delete().deletingChildrenIfNeeded().forPath(key);
             }
             // CHECKSTYLE:OFF
-        } catch (Exception ex) {
+        } catch (final Exception ex) {
             // CHECKSTYLE:ON
             CuratorZookeeperExceptionHandler.handleException(ex);
         }
@@ -225,7 +225,7 @@ public final class CuratorZookeeperRepository implements ConfigurationRepository
     
     @Override
     public void watch(final String key, final DataChangedEventListener listener) {
-        final String path = key + "/";
+        String path = key + "/";
         if (!caches.containsKey(path)) {
             addCacheData(key);
         }
@@ -278,7 +278,7 @@ public final class CuratorZookeeperRepository implements ConfigurationRepository
      * Because of asynchronous processing, may cause client to close
      * first and cache has not yet closed the end.
      * Wait for new version of Curator to fix this.
-     * BUG address:https://issues.apache.org/jira/browse/CURATOR-157
+     * BUG address: https://issues.apache.org/jira/browse/CURATOR-157
      */
     private void waitForCacheClose() {
         try {
diff --git a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-zookeeper-curator/src/test/java/org/apache/shardingsphere/orchestration/repository/zookeeper/CuratorZookeeperRepositoryTest.java b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere- [...]
index ed9c640..52cb3b9 100644
--- a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-zookeeper-curator/src/test/java/org/apache/shardingsphere/orchestration/repository/zookeeper/CuratorZookeeperRepositoryTest.java
+++ b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-repository/shardingsphere-orchestration-repository-provider/shardingsphere-orchestration-repository-zookeeper-curator/src/test/java/org/apache/shardingsphere/orchestration/repository/zookeeper/CuratorZookeeperRepositoryTest.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.orchestration.repository.api.config.Orchestrati
 import org.apache.shardingsphere.orchestration.repository.api.exception.OrchestrationException;
 import org.apache.shardingsphere.orchestration.repository.api.listener.DataChangedEvent;
 import org.apache.shardingsphere.orchestration.repository.api.listener.DataChangedEvent.ChangedType;
-import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -35,6 +34,7 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 public final class CuratorZookeeperRepositoryTest {
@@ -78,7 +78,7 @@ public final class CuratorZookeeperRepositoryTest {
     }
     
     @Test
-    public void assertWatchUpdatedChangedType() throws Exception {
+    public void assertWatchUpdatedChangedType() throws InterruptedException {
         REPOSITORY.persist("/test/children_updated/1", "value1");
         AtomicReference<DataChangedEvent> dataChangedEventActual = new AtomicReference<>();
         REPOSITORY.watch("/test/children_updated", dataChangedEventActual::set);
@@ -129,12 +129,12 @@ public final class CuratorZookeeperRepositoryTest {
     
     @Test
     public void assertBuildCuratorClientWithCustomConfig() {
-        final CuratorZookeeperRepository repository = new CuratorZookeeperRepository();
         Properties props = new Properties();
         props.setProperty(ZookeeperPropertyKey.RETRY_INTERVAL_MILLISECONDS.getKey(), "1000");
         props.setProperty(ZookeeperPropertyKey.MAX_RETRIES.getKey(), "1");
         props.setProperty(ZookeeperPropertyKey.TIME_TO_LIVE_SECONDS.getKey(), "1000");
         props.setProperty(ZookeeperPropertyKey.OPERATION_TIMEOUT_MILLISECONDS.getKey(), "2000");
+        CuratorZookeeperRepository repository = new CuratorZookeeperRepository();
         OrchestrationCenterConfiguration config = new OrchestrationCenterConfiguration(repository.getType(), serverLists, new Properties());
         repository.setProps(props);
         repository.init("orchestration", config);
@@ -148,9 +148,9 @@ public final class CuratorZookeeperRepositoryTest {
     
     @Test
     public void assertBuildCuratorClientWithTimeToLiveSecondsEqualsZero() {
-        final CuratorZookeeperRepository repository = new CuratorZookeeperRepository();
         Properties props = new Properties();
         props.setProperty(ZookeeperPropertyKey.TIME_TO_LIVE_SECONDS.getKey(), "0");
+        CuratorZookeeperRepository repository = new CuratorZookeeperRepository();
         OrchestrationCenterConfiguration config = new OrchestrationCenterConfiguration(repository.getType(), serverLists, new Properties());
         repository.setProps(props);
         repository.init("orchestration", config);
@@ -161,9 +161,9 @@ public final class CuratorZookeeperRepositoryTest {
     
     @Test
     public void assertBuildCuratorClientWithOperationTimeoutMillisecondsEqualsZero() {
-        final CuratorZookeeperRepository repository = new CuratorZookeeperRepository();
         Properties props = new Properties();
         props.setProperty(ZookeeperPropertyKey.OPERATION_TIMEOUT_MILLISECONDS.getKey(), "0");
+        CuratorZookeeperRepository repository = new CuratorZookeeperRepository();
         OrchestrationCenterConfiguration config = new OrchestrationCenterConfiguration(repository.getType(), serverLists, new Properties());
         repository.setProps(props);
         repository.init("orchestration", config);
@@ -174,9 +174,9 @@ public final class CuratorZookeeperRepositoryTest {
     
     @Test
     public void assertBuildCuratorClientWithDigest() {
-        final CuratorZookeeperRepository repository = new CuratorZookeeperRepository();
         Properties props = new Properties();
         props.setProperty(ZookeeperPropertyKey.DIGEST.getKey(), "any");
+        CuratorZookeeperRepository repository = new CuratorZookeeperRepository();
         OrchestrationCenterConfiguration config = new OrchestrationCenterConfiguration(repository.getType(), serverLists, new Properties());
         repository.setProps(props);
         repository.init("orchestration", config);
@@ -211,7 +211,7 @@ public final class CuratorZookeeperRepositoryTest {
             // CHECKSTYLE:OFF
         } catch (final Exception ex) {
             // CHECKSTYLE:ON
-            Assert.assertTrue(ex instanceof OrchestrationException);
+            assertTrue(ex instanceof OrchestrationException);
         }
         try {
             repository.persist("/test/children/01", "value1");
@@ -219,7 +219,7 @@ public final class CuratorZookeeperRepositoryTest {
             // CHECKSTYLE:OFF
         } catch (final Exception ex) {
             // CHECKSTYLE:ON
-            Assert.assertTrue(ex instanceof OrchestrationException);
+            assertTrue(ex instanceof OrchestrationException);
         }
         try {
             repository.delete("/test/children/02");
@@ -227,7 +227,7 @@ public final class CuratorZookeeperRepositoryTest {
             // CHECKSTYLE:OFF
         } catch (final Exception ex) {
             // CHECKSTYLE:ON
-            Assert.assertTrue(ex instanceof OrchestrationException);
+            assertTrue(ex instanceof OrchestrationException);
         }
         try {
             repository.persistEphemeral("/test/children/03", "value1");
@@ -235,7 +235,7 @@ public final class CuratorZookeeperRepositoryTest {
             // CHECKSTYLE:OFF
         } catch (final Exception ex) {
             // CHECKSTYLE:ON
-            Assert.assertTrue(ex instanceof OrchestrationException);
+            assertTrue(ex instanceof OrchestrationException);
         }
         try {
             repository.getChildrenKeys("/test/children");
@@ -243,7 +243,7 @@ public final class CuratorZookeeperRepositoryTest {
             // CHECKSTYLE:OFF
         } catch (final Exception ex) {
             // CHECKSTYLE:ON
-            Assert.assertTrue(ex instanceof OrchestrationException);
+            assertTrue(ex instanceof OrchestrationException);
         }
     }
 }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLBinlogEventType.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLBinlogEventType.java
index 752884d..7272249 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLBinlogEventType.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLBinlogEventType.java
@@ -104,12 +104,12 @@ public enum MySQLBinlogEventType {
     
     PREVIOUS_GTIDS_EVENT(0x23);
     
-    private static final Map<Integer, MySQLBinlogEventType> VALUE_AND_EVENT_TYPE_MAP = new HashMap<>(MySQLBinlogEventType.values().length, 1);
+    private static final Map<Integer, MySQLBinlogEventType> VALUE_AND_EVENT_TYPE_MAP = new HashMap<>(values().length, 1);
     
     private final int value;
     
     static {
-        for (MySQLBinlogEventType each : MySQLBinlogEventType.values()) {
+        for (MySQLBinlogEventType each : values()) {
             VALUE_AND_EVENT_TYPE_MAP.put(each.value, each);
         }
     }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLColumnType.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLColumnType.java
index 6a8a47c..b23d43f 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLColumnType.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLColumnType.java
@@ -101,9 +101,9 @@ public enum MySQLColumnType {
     
     MYSQL_TYPE_GEOMETRY(0xff);
     
-    private static final Map<Integer, MySQLColumnType> JDBC_TYPE_AND_COLUMN_TYPE_MAP = new HashMap<>(MySQLColumnType.values().length, 1);
+    private static final Map<Integer, MySQLColumnType> JDBC_TYPE_AND_COLUMN_TYPE_MAP = new HashMap<>(values().length, 1);
     
-    private static final Map<Integer, MySQLColumnType> VALUE_AND_COLUMN_TYPE_MAP = new HashMap<>(MySQLColumnType.values().length, 1);
+    private static final Map<Integer, MySQLColumnType> VALUE_AND_COLUMN_TYPE_MAP = new HashMap<>(values().length, 1);
     
     private final int value;
     
@@ -129,7 +129,7 @@ public enum MySQLColumnType {
         JDBC_TYPE_AND_COLUMN_TYPE_MAP.put(Types.LONGVARBINARY, MYSQL_TYPE_VAR_STRING);
         JDBC_TYPE_AND_COLUMN_TYPE_MAP.put(Types.NULL, MYSQL_TYPE_NULL);
         JDBC_TYPE_AND_COLUMN_TYPE_MAP.put(Types.BLOB, MYSQL_TYPE_BLOB);
-        for (MySQLColumnType each : MySQLColumnType.values()) {
+        for (MySQLColumnType each : values()) {
             VALUE_AND_COLUMN_TYPE_MAP.put(each.value, each);
         }
     }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLNewParametersBoundFlag.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLNewParametersBoundFlag.java
index 522dcf8..f29655e 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLNewParametersBoundFlag.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLNewParametersBoundFlag.java
@@ -42,7 +42,7 @@ public enum MySQLNewParametersBoundFlag {
      * @return new parameters bound flag
      */
     public static MySQLNewParametersBoundFlag valueOf(final int value) {
-        for (MySQLNewParametersBoundFlag each : MySQLNewParametersBoundFlag.values()) {
+        for (MySQLNewParametersBoundFlag each : values()) {
             if (value == each.value) {
                 return each;
             }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLStatusFlag.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLStatusFlag.java
index 34f905b..38e149a 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLStatusFlag.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/constant/MySQLStatusFlag.java
@@ -66,8 +66,8 @@ public enum MySQLStatusFlag {
      * @return MySQL status flag
      */
     public static MySQLStatusFlag valueOf(final int value) {
-        for (MySQLStatusFlag each : MySQLStatusFlag.values()) {
-            if (each.getValue() == value) {
+        for (MySQLStatusFlag each : values()) {
+            if (each.value == value) {
                 return each;
             }
         }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/MySQLBinlogTableMapEventPacket.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/MySQLBinlogTableMapEventPacket.java
index fb67875..202a676 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/MySQLBinlogTableMapEventPacket.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/MySQLBinlogTableMapEventPacket.java
@@ -52,13 +52,13 @@ public final class MySQLBinlogTableMapEventPacket extends AbstractMySQLBinlogEve
     
     public MySQLBinlogTableMapEventPacket(final MySQLBinlogEventHeader binlogEventHeader, final MySQLPacketPayload payload) {
         super(binlogEventHeader);
-        this.tableId = payload.readInt6();
-        this.flags = payload.readInt2();
-        this.schemaName = payload.readStringFix(payload.readInt1());
+        tableId = payload.readInt6();
+        flags = payload.readInt2();
+        schemaName = payload.readStringFix(payload.readInt1());
         payload.skipReserved(1);
-        this.tableName = payload.readStringFix(payload.readInt1());
+        tableName = payload.readStringFix(payload.readInt1());
         payload.skipReserved(1);
-        this.columnCount = (int) payload.readIntLenenc();
+        columnCount = (int) payload.readIntLenenc();
         columnDefs = new LinkedList<>();
         readColumnDefs(payload);
         readColumnMetaDefs(payload);
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/string/MySQLJsonValueDecoder.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/string/MySQLJsonValueDecoder.java
index c211d17..92286e3 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/string/MySQLJsonValueDecoder.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/string/MySQLJsonValueDecoder.java
@@ -237,7 +237,8 @@ public final class MySQLJsonValueDecoder {
         out.append('"');
     }
     
-    static class JsonValueTypes {
+    @NoArgsConstructor(access = AccessLevel.PRIVATE)
+    static final class JsonValueTypes {
         
         public static final byte SMALL_JSON_OBJECT = 0x00;
         
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLDatetime2BinlogProtocolValue.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLDatetime2BinlogProtocolValue.java
index 33fe71d..0e11b8d 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLDatetime2BinlogProtocolValue.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLDatetime2BinlogProtocolValue.java
@@ -46,7 +46,7 @@ public final class MySQLDatetime2BinlogProtocolValue implements MySQLBinlogProto
     
     private Serializable readDatetime(final MySQLBinlogColumnDef columnDef, final long datetime, final MySQLPacketPayload payload) {
         long datetimeWithoutSign = datetime & (0x8000000000L - 1);
-        return String.format("%s %s%s", readDate(datetimeWithoutSign >> 17), readTime(datetimeWithoutSign % (1 << 17)), new MySQLFractionalSeconds(columnDef.getColumnMeta(), payload).toString());
+        return String.format("%s %s%s", readDate(datetimeWithoutSign >> 17), readTime(datetimeWithoutSign % (1 << 17)), new MySQLFractionalSeconds(columnDef.getColumnMeta(), payload));
     }
     
     private String readDate(final long date) {
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLFractionalSeconds.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLFractionalSeconds.java
index 59e0523..90f8912 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLFractionalSeconds.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLFractionalSeconds.java
@@ -31,7 +31,7 @@ public final class MySQLFractionalSeconds {
     private final int fractionalSecondsPrecision;
     
     public MySQLFractionalSeconds(final int columnMeta, final MySQLPacketPayload payload) {
-        this.fractionalSecondsPrecision = columnMeta;
+        fractionalSecondsPrecision = columnMeta;
         fraction = readFraction(payload);
     }
     
@@ -61,6 +61,6 @@ public final class MySQLFractionalSeconds {
             result.append("0");
         }
         result.setLength(fractionalSecondsPrecision);
-        return "." + result.toString();
+        return "." + result;
     }
 }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLTime2BinlogProtocolValue.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLTime2BinlogProtocolValue.java
index 6c2a092..13fabd7 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLTime2BinlogProtocolValue.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLTime2BinlogProtocolValue.java
@@ -41,6 +41,6 @@ public final class MySQLTime2BinlogProtocolValue implements MySQLBinlogProtocolV
             return MySQLTimeValueUtil.ZERO_OF_TIME;
         }
         MySQLFractionalSeconds fractionalSeconds = new MySQLFractionalSeconds(columnDef.getColumnMeta(), payload);
-        return String.format("%02d:%02d:%02d%s", (time >> 12) % (1 << 10), (time >> 6) % (1 << 6), time % (1 << 6), fractionalSeconds.toString());
+        return String.format("%02d:%02d:%02d%s", (time >> 12) % (1 << 10), (time >> 6) % (1 << 6), time % (1 << 6), fractionalSeconds);
     }
 }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLTimeValueUtil.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLTimeValueUtil.java
index eeb5a80..749100d 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLTimeValueUtil.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLTimeValueUtil.java
@@ -17,11 +17,15 @@
 
 package org.apache.shardingsphere.db.protocol.mysql.packet.binlog.row.column.value.time;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
 import java.text.SimpleDateFormat;
 
 /**
- * Time value util of MySQL.
+ * Time value utility of MySQL.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class MySQLTimeValueUtil {
     
     public static final String ZERO_OF_TIME = "00:00:00";
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLTimestamp2BinlogProtocolValue.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLTimestamp2BinlogProtocolValue.java
index 66d3252..610e484 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLTimestamp2BinlogProtocolValue.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/time/MySQLTimestamp2BinlogProtocolValue.java
@@ -38,6 +38,6 @@ public final class MySQLTimestamp2BinlogProtocolValue implements MySQLBinlogProt
             return MySQLTimeValueUtil.DATETIME_OF_ZERO;
         }
         String result = MySQLTimeValueUtil.getSimpleDateFormat().format(new Timestamp(seconds * 1000L));
-        return columnDef.getColumnMeta() > 0 ? result + new MySQLFractionalSeconds(columnDef.getColumnMeta(), payload).toString() : result;
+        return columnDef.getColumnMeta() > 0 ? result + new MySQLFractionalSeconds(columnDef.getColumnMeta(), payload) : result;
     }
 }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/MySQLCommandPacketType.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/MySQLCommandPacketType.java
index ee4ac04..129d6eb 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/MySQLCommandPacketType.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/MySQLCommandPacketType.java
@@ -260,8 +260,8 @@ public enum MySQLCommandPacketType implements CommandPacketType {
     private final int value;
     
     static {
-        for (MySQLCommandPacketType each : MySQLCommandPacketType.values()) {
-            MYSQL_COMMAND_PACKET_TYPE_CACHE.put(each.getValue(), each);
+        for (MySQLCommandPacketType each : values()) {
+            MYSQL_COMMAND_PACKET_TYPE_CACHE.put(each.value, each);
         }
     }
     
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/binlog/MySQLComBinlogDumpCommandPacket.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/binlog/MySQLComBinlogDumpCommandPacket.java
index 82055fe..6acc086 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/binlog/MySQLComBinlogDumpCommandPacket.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/binlog/MySQLComBinlogDumpCommandPacket.java
@@ -49,17 +49,17 @@ public final class MySQLComBinlogDumpCommandPacket extends MySQLCommandPacket {
     public MySQLComBinlogDumpCommandPacket(final int binlogPos, final int serverId, final String binlogFilename) {
         super(MySQLCommandPacketType.COM_BINLOG_DUMP);
         this.binlogPos = binlogPos;
-        this.flags = 0;
+        flags = 0;
         this.serverId = serverId;
         this.binlogFilename = binlogFilename;
     }
     
     public MySQLComBinlogDumpCommandPacket(final MySQLPacketPayload payload) {
         super(MySQLCommandPacketType.COM_BINLOG_DUMP);
-        this.binlogPos = payload.readInt4();
-        this.flags = payload.readInt2();
-        this.serverId = payload.readInt4();
-        this.binlogFilename = payload.readStringEOF();
+        binlogPos = payload.readInt4();
+        flags = payload.readInt2();
+        serverId = payload.readInt4();
+        binlogFilename = payload.readStringEOF();
     }
     
     @Override
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/binlog/MySQLComRegisterSlaveCommandPacket.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/binlog/MySQLComRegisterSlaveCommandPacket.java
index cfa2373..246d8ee 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/binlog/MySQLComRegisterSlaveCommandPacket.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/binlog/MySQLComRegisterSlaveCommandPacket.java
@@ -52,7 +52,7 @@ public final class MySQLComRegisterSlaveCommandPacket extends MySQLCommandPacket
         this.slaveUser = slaveUser;
         this.slavePassword = slavePassword;
         this.slavePort = slavePort;
-        this.masterId = 0;
+        masterId = 0;
     }
     
     public MySQLComRegisterSlaveCommandPacket(final MySQLPacketPayload payload) {
@@ -63,7 +63,7 @@ public final class MySQLComRegisterSlaveCommandPacket extends MySQLCommandPacket
         slavePassword = payload.readStringFix(payload.readInt1());
         slavePort = payload.readInt2();
         payload.skipReserved(4);
-        this.masterId = payload.readInt4();
+        masterId = payload.readInt4();
     }
     
     @Override
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/query/MySQLColumnDefinition41Packet.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/query/MySQLColumnDefinition41Packet.java
index 163da56..cd3a3dd 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/query/MySQLColumnDefinition41Packet.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/query/MySQLColumnDefinition41Packet.java
@@ -81,7 +81,7 @@ public final class MySQLColumnDefinition41Packet implements MySQLPacket {
     public MySQLColumnDefinition41Packet(final int sequenceId, final int flags, final String schema, final String table, final String orgTable,
                                          final String name, final String orgName, final int columnLength, final MySQLColumnType columnType, final int decimals) {
         this.sequenceId = sequenceId;
-        this.characterSet = MySQLServerInfo.CHARSET;
+        characterSet = MySQLServerInfo.CHARSET;
         this.flags = flags;
         this.schema = schema;
         this.table = table;
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/query/binary/execute/MySQLNullBitmap.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/query/binary/execute/MySQLNullBitmap.java
index 9bdb74b..fa21e16 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/query/binary/execute/MySQLNullBitmap.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/command/query/binary/execute/MySQLNullBitmap.java
@@ -39,7 +39,7 @@ public final class MySQLNullBitmap {
     }
     
     public MySQLNullBitmap(final int columnNumbers, final MySQLPacketPayload payload) {
-        this.offset = 0;
+        offset = 0;
         nullBitmap = new int[calculateLength(columnNumbers, 0)];
         fillBitmap(payload);
     }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLHandshakePacket.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLHandshakePacket.java
index 386a892..8043791 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLHandshakePacket.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLHandshakePacket.java
@@ -53,14 +53,14 @@ public final class MySQLHandshakePacket implements MySQLPacket {
     private String authPluginName;
     
     public MySQLHandshakePacket(final int connectionId, final MySQLAuthPluginData authPluginData) {
-        this.serverVersion = MySQLServerInfo.getServerVersion();
+        serverVersion = MySQLServerInfo.getServerVersion();
         this.connectionId = connectionId;
-        this.capabilityFlagsLower = MySQLCapabilityFlag.calculateHandshakeCapabilityFlagsLower();
-        this.characterSet = MySQLServerInfo.CHARSET;
-        this.statusFlag = MySQLStatusFlag.SERVER_STATUS_AUTOCOMMIT;
-        this.capabilityFlagsUpper = MySQLCapabilityFlag.calculateHandshakeCapabilityFlagsUpper();
+        capabilityFlagsLower = MySQLCapabilityFlag.calculateHandshakeCapabilityFlagsLower();
+        characterSet = MySQLServerInfo.CHARSET;
+        statusFlag = MySQLStatusFlag.SERVER_STATUS_AUTOCOMMIT;
+        capabilityFlagsUpper = MySQLCapabilityFlag.calculateHandshakeCapabilityFlagsUpper();
         this.authPluginData = authPluginData;
-        this.authPluginName = MySQLAuthenticationMethod.SECURE_PASSWORD_AUTHENTICATION.getMethodName();
+        authPluginName = MySQLAuthenticationMethod.SECURE_PASSWORD_AUTHENTICATION.getMethodName();
     }
     
     public MySQLHandshakePacket(final MySQLPacketPayload payload) {
@@ -102,7 +102,7 @@ public final class MySQLHandshakePacket implements MySQLPacket {
      * @param mysqlAuthenticationMethod MySQL authentication method
      */
     public void setAuthPluginName(final MySQLAuthenticationMethod mysqlAuthenticationMethod) {
-        this.authPluginName = mysqlAuthenticationMethod.getMethodName();
+        authPluginName = mysqlAuthenticationMethod.getMethodName();
         capabilityFlagsUpper |= MySQLCapabilityFlag.CLIENT_PLUGIN_AUTH.getValue() >> 16;
     }
     
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLHandshakeResponse41Packet.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLHandshakeResponse41Packet.java
index 857dff9..29bfb28 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLHandshakeResponse41Packet.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLHandshakeResponse41Packet.java
@@ -98,7 +98,7 @@ public final class MySQLHandshakeResponse41Packet implements MySQLPacket {
      * @param mysqlAuthenticationMethod MySQL authentication method
      */
     public void setAuthPluginName(final MySQLAuthenticationMethod mysqlAuthenticationMethod) {
-        this.authPluginName = mysqlAuthenticationMethod.getMethodName();
+        authPluginName = mysqlAuthenticationMethod.getMethodName();
         capabilityFlags |= MySQLCapabilityFlag.CLIENT_PLUGIN_AUTH.getValue();
     }
     
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/test/java/org/apache/shardingsphere/db/protocol/mysql/packet/generic/MySQLEofPacketTest.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/test/java/org/apache/shardingsphere/db/protocol/mysql/packet/generic/MySQLEofPacketTest.java
index 2cbc933..740cb22 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/test/java/org/apache/shardingsphere/db/protocol/mysql/packet/generic/MySQLEofPacketTest.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/test/java/org/apache/shardingsphere/db/protocol/mysql/packet/generic/MySQLEofPacketTest.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.db.protocol.mysql.packet.generic;
 
 import org.apache.shardingsphere.db.protocol.mysql.constant.MySQLStatusFlag;
 import org.apache.shardingsphere.db.protocol.mysql.payload.MySQLPacketPayload;
-import org.hamcrest.CoreMatchers;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -41,7 +40,7 @@ public final class MySQLEofPacketTest {
         MySQLEofPacket actual = new MySQLEofPacket(1);
         assertThat(actual.getSequenceId(), is(1));
         assertThat(actual.getWarnings(), is(0));
-        assertThat(actual.getStatusFlags(), CoreMatchers.is(MySQLStatusFlag.SERVER_STATUS_AUTOCOMMIT.getValue()));
+        assertThat(actual.getStatusFlags(), is(MySQLStatusFlag.SERVER_STATUS_AUTOCOMMIT.getValue()));
     }
     
     @Test
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/test/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLAuthSwitchResponsePacketTest.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/test/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLAuthSwitchResponsePacketTest.java
index 9feb169..d104d01 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/test/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLAuthSwitchResponsePacketTest.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/test/java/org/apache/shardingsphere/db/protocol/mysql/packet/handshake/MySQLAuthSwitchResponsePacketTest.java
@@ -28,12 +28,12 @@ import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.when;
 
 @RunWith(MockitoJUnitRunner.class)
-public class MySQLAuthSwitchResponsePacketTest {
+public final class MySQLAuthSwitchResponsePacketTest {
     
     @Mock
     private MySQLPacketPayload payload;
     
-    private final byte[] authPluginResponse = new byte[]{0x22, 0x33};
+    private final byte[] authPluginResponse = {0x22, 0x33};
     
     @Test
     public void assertMySQLAuthSwitchResponsePacket() {
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/constant/PostgreSQLArrayColumnType.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/constant/PostgreSQLArrayColumnType.java
index a535931..cf527fa 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/constant/PostgreSQLArrayColumnType.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/constant/PostgreSQLArrayColumnType.java
@@ -17,13 +17,17 @@
 
 package org.apache.shardingsphere.db.protocol.postgresql.constant;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
 import java.util.HashMap;
 import java.util.Map;
 
 /**
  * Array column types for PostgreSQL.
  */
-public class PostgreSQLArrayColumnType {
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class PostgreSQLArrayColumnType {
     
     private static final String ORIGINAL_RECORD_LINES =
         "_aclitem 1034\n"
@@ -121,8 +125,8 @@ public class PostgreSQLArrayColumnType {
     /**
      * Get type oid by database-specific column type name.
      *
-     * @param columnTypeName PostgreSQL column type name, e.g. <code>int4</code>
-     * @return type oid, e.g. <code>23</code> for <code>int4</code>
+     * @param columnTypeName PostgreSQL column type name, e.g. {@code int4}
+     * @return type oid, e.g. {@code 23} for {@code int4}
      * @throws IllegalArgumentException if no type oid could be found
      */
     public static int getTypeOidByColumnTypeName(final String columnTypeName) throws IllegalArgumentException {
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/constant/PostgreSQLColumnType.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/constant/PostgreSQLColumnType.java
index ba75450..bb3a1c0 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/constant/PostgreSQLColumnType.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/constant/PostgreSQLColumnType.java
@@ -151,7 +151,7 @@ public enum PostgreSQLColumnType {
     
     POSTGRESQL_TYPE_REF_CURSOR_ARRAY(2201);
     
-    private static final Map<Integer, PostgreSQLColumnType> JDBC_TYPE_AND_COLUMN_TYPE_MAP = new HashMap<>(PostgreSQLColumnType.values().length, 1);
+    private static final Map<Integer, PostgreSQLColumnType> JDBC_TYPE_AND_COLUMN_TYPE_MAP = new HashMap<>(values().length, 1);
     
     private final int value;
     
@@ -193,7 +193,7 @@ public enum PostgreSQLColumnType {
      * @return PostgreSQL column type
      */
     public static PostgreSQLColumnType valueOf(final int value) {
-        for (PostgreSQLColumnType each : PostgreSQLColumnType.values()) {
+        for (PostgreSQLColumnType each : values()) {
             if (value == each.value) {
                 return each;
             }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/PostgreSQLCommandPacketType.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/PostgreSQLCommandPacketType.java
index a073853..b0d0451 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/PostgreSQLCommandPacketType.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/PostgreSQLCommandPacketType.java
@@ -135,7 +135,7 @@ public enum PostgreSQLCommandPacketType implements CommandPacketType {
      * @return command packet type enum
      */
     public static PostgreSQLCommandPacketType valueOf(final int value) {
-        for (PostgreSQLCommandPacketType each : PostgreSQLCommandPacketType.values()) {
+        for (PostgreSQLCommandPacketType each : values()) {
             if (value == each.value) {
                 return each;
             }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/PostgreSQLColumnDescription.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/PostgreSQLColumnDescription.java
index 7259ac4..31514ae 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/PostgreSQLColumnDescription.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/PostgreSQLColumnDescription.java
@@ -17,14 +17,15 @@
 
 package org.apache.shardingsphere.db.protocol.postgresql.packet.command.query;
 
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.sql.Types;
 import lombok.Getter;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.db.protocol.postgresql.constant.PostgreSQLArrayColumnType;
 import org.apache.shardingsphere.db.protocol.postgresql.constant.PostgreSQLColumnType;
 
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Types;
+
 /**
  * Column description for PostgreSQL.
  */
@@ -56,9 +57,9 @@ public final class PostgreSQLColumnDescription {
             } catch (final SQLException ex) {
                 log.error("getColumnTypeName failed, columnName={}, columnIndex={}", columnName, columnIndex, ex);
             }
-            this.typeOID = PostgreSQLArrayColumnType.getTypeOidByColumnTypeName(columnTypeName);
+            typeOID = PostgreSQLArrayColumnType.getTypeOidByColumnTypeName(columnTypeName);
         } else {
-            this.typeOID = PostgreSQLColumnType.valueOfJDBCType(columnType).getValue();
+            typeOID = PostgreSQLColumnType.valueOfJDBCType(columnType).getValue();
         }
         this.columnLength = columnLength;
     }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/text/PostgreSQLDataRowPacket.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/text/PostgreSQLDataRowPacket.java
index 37aff19..8b932a3 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/text/PostgreSQLDataRowPacket.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/text/PostgreSQLDataRowPacket.java
@@ -65,7 +65,7 @@ public final class PostgreSQLDataRowPacket implements PostgreSQLPacket {
         try {
             payload.writeInt4(((SQLXML) data).getString().getBytes().length);
             payload.writeStringEOF(((SQLXML) data).getString());
-        } catch (SQLException ex) {
+        } catch (final SQLException ex) {
             log.error("PostgreSQL DataRowPacket write SQLXML type exception", ex);
         }
     }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/generic/PostgreSQLReadyForQueryPacket.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/generic/PostgreSQLReadyForQueryPacket.java
index c4f9852..4e5f833 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/generic/PostgreSQLReadyForQueryPacket.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/generic/PostgreSQLReadyForQueryPacket.java
@@ -27,13 +27,13 @@ import org.apache.shardingsphere.db.protocol.postgresql.payload.PostgreSQLPacket
  */
 public final class PostgreSQLReadyForQueryPacket implements PostgreSQLPacket {
     
+    private static final char STATUS = 'I';
+    
     @Getter
     private final char messageType = PostgreSQLCommandPacketType.READY_FOR_QUERY.getValue();
     
-    private final char status = 'I';
-    
     @Override
     public void write(final PostgreSQLPacketPayload payload) {
-        payload.writeInt1(status);
+        payload.writeInt1(STATUS);
     }
 }
diff --git a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/handshake/PostgreSQLSSLNegativePacket.java b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/handshake/PostgreSQLSSLNegativePacket.java
index 0e8720e..47a807f 100644
--- a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/handshake/PostgreSQLSSLNegativePacket.java
+++ b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/handshake/PostgreSQLSSLNegativePacket.java
@@ -26,13 +26,13 @@ import org.apache.shardingsphere.db.protocol.postgresql.payload.PostgreSQLPacket
  */
 public final class PostgreSQLSSLNegativePacket implements PostgreSQLPacket {
     
+    private static final char STATUS_CODE = 'N';
+    
     @Getter
     private final char messageType = '\0';
     
-    private final char statusCode = 'N';
-    
     @Override
     public void write(final PostgreSQLPacketPayload payload) {
-        payload.writeInt1(statusCode);
+        payload.writeInt1(STATUS_CODE);
     }
 }
diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/main/java/org/apache/shardingsphere/encrypt/algorithm/AESEncryptAlgorithm.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/main/java/org/apache/shardingsphere/encrypt/algorithm/AESEncryptAlgorithm.java
index 36c7c3b..003e08e 100644
--- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/main/java/org/apache/shardingsphere/encrypt/algorithm/AESEncryptAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/main/java/org/apache/shardingsphere/encrypt/algorithm/AESEncryptAlgorithm.java
@@ -55,7 +55,7 @@ public final class AESEncryptAlgorithm implements EncryptAlgorithm {
     
     private byte[] createSecretKey() {
         Preconditions.checkArgument(props.containsKey(AES_KEY), String.format("%s can not be null.", AES_KEY));
-        return Arrays.copyOf(DigestUtils.sha1(props.get(AES_KEY).toString()), 16);
+        return Arrays.copyOf(DigestUtils.sha1(props.getProperty(AES_KEY)), 16);
     }
     
     @SneakyThrows
diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/test/java/org/apache/shardingsphere/encrypt/algorithm/AESEncryptAlgorithmTest.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/test/java/org/apache/shardingsphere/encrypt/algorithm/AESEncryptAlgorithmTest.java
index 1027dac..fc71272 100644
--- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/test/java/org/apache/shardingsphere/encrypt/algorithm/AESEncryptAlgorithmTest.java
+++ b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/test/java/org/apache/shardingsphere/encrypt/algorithm/AESEncryptAlgorithmTest.java
@@ -76,6 +76,6 @@ public final class AESEncryptAlgorithmTest {
     
     @Test
     public void assertGetProperties() {
-        assertThat(encryptAlgorithm.getProps().get("aes.key.value").toString(), is("test"));
+        assertThat(encryptAlgorithm.getProps().getProperty("aes.key.value"), is("test"));
     }
 }
diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/test/java/org/apache/shardingsphere/encrypt/algorithm/MD5EncryptAlgorithmTest.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/test/java/org/apache/shardingsphere/encrypt/algorithm/MD5EncryptAlgorithmTest.java
index 314f7b7..56330af 100644
--- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/test/java/org/apache/shardingsphere/encrypt/algorithm/MD5EncryptAlgorithmTest.java
+++ b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/test/java/org/apache/shardingsphere/encrypt/algorithm/MD5EncryptAlgorithmTest.java
@@ -48,6 +48,6 @@ public final class MD5EncryptAlgorithmTest {
         Properties props = new Properties();
         props.setProperty("key1", "value1");
         encryptAlgorithm.setProps(props);
-        assertThat(encryptAlgorithm.getProps().get("key1").toString(), is("value1"));
+        assertThat(encryptAlgorithm.getProps().getProperty("key1"), is("value1"));
     }
 }
diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/test/java/org/apache/shardingsphere/encrypt/algorithm/RC4EncryptAlgorithmTest.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/test/java/org/apache/shardingsphere/encrypt/algorithm/RC4EncryptAlgorithmTest.java
index 7cb2908..ec0c9de 100644
--- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/test/java/org/apache/shardingsphere/encrypt/algorithm/RC4EncryptAlgorithmTest.java
+++ b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/test/java/org/apache/shardingsphere/encrypt/algorithm/RC4EncryptAlgorithmTest.java
@@ -73,6 +73,6 @@ public final class RC4EncryptAlgorithmTest {
     
     @Test
     public void assertGetProperties() {
-        assertThat(encryptAlgorithm.getProps().get("rc4.key.value").toString(), is("test-sharding"));
+        assertThat(encryptAlgorithm.getProps().getProperty("rc4.key.value"), is("test-sharding"));
     }
 }
diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-merge/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/impl/EncryptColumnsMergedResult.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-merge/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/impl/EncryptColumnsMergedResult.java
index b9365d6..04a635c 100644
--- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-merge/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/impl/EncryptColumnsMergedResult.java
+++ b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-merge/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/impl/EncryptColumnsMergedResult.java
@@ -93,7 +93,7 @@ public abstract class EncryptColumnsMergedResult implements MergedResult {
     @Override
     public final Object getValue(final int columnIndex, final Class<?> type) throws SQLException {
         if (1 == columnIndex) {
-            String columnName = getOriginalValue(columnIndex, type).toString();
+            String columnName = getOriginalValue(1, type).toString();
             Optional<String> logicColumn = getLogicColumnOfCipher(columnName);
             return logicColumn.orElse(columnName);
         }
diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/impl/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/impl/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
index 9823388..1b39abc 100644
--- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/impl/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
+++ b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/parameter/impl/EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter.java
@@ -50,7 +50,7 @@ public final class EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter exten
         GroupedParameterBuilder groupedParameterBuilder = (GroupedParameterBuilder) parameterBuilder;
         OnDuplicateUpdateContext onDuplicateKeyUpdateValueContext = insertStatementContext.getOnDuplicateKeyUpdateValueContext();
         for (int index = 0; index < onDuplicateKeyUpdateValueContext.getValueExpressions().size(); index++) {
-            final int columnIndex = index;
+            int columnIndex = index;
             String encryptLogicColumnName = onDuplicateKeyUpdateValueContext.getColumn(columnIndex).getIdentifier().getValue();
             Optional<EncryptAlgorithm> encryptorOptional = getEncryptRule().findEncryptor(tableName, encryptLogicColumnName);
             encryptorOptional.ifPresent(encryptor -> {
diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-spring/shardingsphere-encrypt-spring-namespace/src/main/java/org/apache/shardingsphere/encrypt/spring/namespace/tag/EncryptAlgorithmBeanDefinitionTag.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-spring/shardingsphere-encrypt-spring-namespace/src/main/java/org/apache/shardingsphere/encrypt/spring/namespace/tag/EncryptAlgorithmBeanDefinitionTag.java
index 83711ba..f0444ee 100644
--- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-spring/shardingsphere-encrypt-spring-namespace/src/main/java/org/apache/shardingsphere/encrypt/spring/namespace/tag/EncryptAlgorithmBeanDefinitionTag.java
+++ b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-spring/shardingsphere-encrypt-spring-namespace/src/main/java/org/apache/shardingsphere/encrypt/spring/namespace/tag/EncryptAlgorithmBeanDefinitionTag.java
@@ -17,9 +17,13 @@
 
 package org.apache.shardingsphere.encrypt.spring.namespace.tag;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
 /**
  * Encrypt algorithm bean definition tag.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class EncryptAlgorithmBeanDefinitionTag {
     
     public static final String ROOT_TAG = "encrypt-algorithm";
diff --git a/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-common/src/test/java/org/apache/shardingsphere/masterslave/rule/MasterSlaveRuleTest.java b/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-common/src/test/java/org/apache/shardingsphere/masterslave/rule/MasterSlaveRuleTest.java
index 903ad25..a252e59 100644
--- a/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-common/src/test/java/org/apache/shardingsphere/masterslave/rule/MasterSlaveRuleTest.java
+++ b/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-common/src/test/java/org/apache/shardingsphere/masterslave/rule/MasterSlaveRuleTest.java
@@ -76,7 +76,7 @@ public final class MasterSlaveRuleTest {
     public void assertUpdateRuleStatus() {
         MasterSlaveRule masterSlaveRule = createMasterSlaveRule();
         masterSlaveRule.updateRuleStatus(new DataSourceNameDisabledEvent("slave_db_0", true));
-        assertThat(masterSlaveRule.getSingleDataSourceRule().getSlaveDataSourceNames(), is(Arrays.asList("slave_db_1")));
+        assertThat(masterSlaveRule.getSingleDataSourceRule().getSlaveDataSourceNames(), is(Collections.singletonList("slave_db_1")));
     }
     
     @Test
diff --git a/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-common/src/test/java/org/apache/shardingsphere/masterslave/yaml/swapper/YamlRootRuleConfigurationsForYamlMasterSlaveRuleConfigurationTest.java b/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-common/src/test/java/org/apache/shardingsphere/masterslave/yaml/swapper/YamlRootRuleConfigurationsForYamlMasterSlaveRuleConfigurationTest.java
index c53cd71..37b0b5c 100644
--- a/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-common/src/test/java/org/apache/shardingsphere/masterslave/yaml/swapper/YamlRootRuleConfigurationsForYamlMasterSlaveRuleConfigurationTest.java
+++ b/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-common/src/test/java/org/apache/shardingsphere/masterslave/yaml/swapper/YamlRootRuleConfigurationsForYamlMasterSlaveRuleConfigurationTest.java
@@ -54,12 +54,12 @@ public final class YamlRootRuleConfigurationsForYamlMasterSlaveRuleConfiguration
                 BufferedReader reader = new BufferedReader(fileReader)) {
             String line;
             while (null != (line = reader.readLine())) {
-                yamlContent.append(line).append("\n");
+                yamlContent.append(line).append(System.lineSeparator());
             }
         }
-        YamlRootRuleConfigurations rootRuleConfigurations = YamlEngine.unmarshal(yamlContent.toString().getBytes(), YamlRootRuleConfigurations.class);
-        assertThat(rootRuleConfigurations.getRules().size(), is(1));
-        assertMasterSlaveRule((YamlMasterSlaveRuleConfiguration) rootRuleConfigurations.getRules().iterator().next());
+        YamlRootRuleConfigurations rootRuleConfigs = YamlEngine.unmarshal(yamlContent.toString().getBytes(), YamlRootRuleConfigurations.class);
+        assertThat(rootRuleConfigs.getRules().size(), is(1));
+        assertMasterSlaveRule((YamlMasterSlaveRuleConfiguration) rootRuleConfigs.getRules().iterator().next());
     }
     
     private void assertMasterSlaveRule(final YamlMasterSlaveRuleConfiguration actual) {
diff --git a/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-route/src/main/java/org/apache/shardingsphere/masterslave/route/engine/impl/MasterVisitedManager.java b/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-route/src/main/java/org/apache/shardingsphere/masterslave/route/engine/impl/MasterVisitedManager.java
index c3b3adb..5b1b0df 100644
--- a/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-route/src/main/java/org/apache/shardingsphere/masterslave/route/engine/impl/MasterVisitedManager.java
+++ b/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-route/src/main/java/org/apache/shardingsphere/masterslave/route/engine/impl/MasterVisitedManager.java
@@ -17,11 +17,15 @@
 
 package org.apache.shardingsphere.masterslave.route.engine.impl;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
 /**
  * Master data source visited manager.
  * 
  * <p>Trace master data source visited or not in current thread.</p>
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class MasterVisitedManager {
     
     private static final ThreadLocal<Boolean> MASTER_VISITED = ThreadLocal.withInitial(() -> false);
diff --git a/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-spring/shardingsphere-master-slave-spring-namespace/src/main/java/org/apache/shardingsphere/masterslave/spring/namespace/tag/LoadBalanceAlgorithmBeanDefinitionTag.java b/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-spring/shardingsphere-master-slave-spring-namespace/src/main/java/org/apache/shardingsphere/masterslave/spring/namespace/tag/LoadBalanceAlgorithmBeanD [...]
index 24897cf..c530b4d 100644
--- a/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-spring/shardingsphere-master-slave-spring-namespace/src/main/java/org/apache/shardingsphere/masterslave/spring/namespace/tag/LoadBalanceAlgorithmBeanDefinitionTag.java
+++ b/shardingsphere-features/shardingsphere-master-slave/shardingsphere-master-slave-spring/shardingsphere-master-slave-spring-namespace/src/main/java/org/apache/shardingsphere/masterslave/spring/namespace/tag/LoadBalanceAlgorithmBeanDefinitionTag.java
@@ -17,9 +17,13 @@
 
 package org.apache.shardingsphere.masterslave.spring.namespace.tag;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
 /**
  * Load balance algorithm bean definition tag.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class LoadBalanceAlgorithmBeanDefinitionTag {
     
     public static final String ROOT_TAG = "load-balance-algorithm";
diff --git a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-rewrite/src/main/java/org/apache/shardingsphere/shadow/rewrite/token/generator/impl/RemoveShadowColumnTokenGenerator.java b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-rewrite/src/main/java/org/apache/shardingsphere/shadow/rewrite/token/generator/impl/RemoveShadowColumnTokenGenerator.java
index bcb192f..75088ef 100644
--- a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-rewrite/src/main/java/org/apache/shardingsphere/shadow/rewrite/token/generator/impl/RemoveShadowColumnTokenGenerator.java
+++ b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-rewrite/src/main/java/org/apache/shardingsphere/shadow/rewrite/token/generator/impl/RemoveShadowColumnTokenGenerator.java
@@ -18,16 +18,17 @@
 package org.apache.shardingsphere.shadow.rewrite.token.generator.impl;
 
 import com.google.common.base.Preconditions;
+import org.apache.shardingsphere.infra.rewrite.sql.token.generator.CollectionSQLTokenGenerator;
+import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.generic.RemoveToken;
 import org.apache.shardingsphere.shadow.rewrite.token.generator.BaseShadowSQLTokenGenerator;
 import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext;
 import org.apache.shardingsphere.sql.parser.binder.statement.dml.InsertStatementContext;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.column.ColumnSegment;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.column.InsertColumnsSegment;
-import org.apache.shardingsphere.infra.rewrite.sql.token.generator.CollectionSQLTokenGenerator;
-import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.generic.RemoveToken;
 
 import java.util.Collection;
 import java.util.LinkedList;
+import java.util.List;
 import java.util.Optional;
 
 /**
@@ -49,11 +50,11 @@ public final class RemoveShadowColumnTokenGenerator extends BaseShadowSQLTokenGe
         Optional<InsertColumnsSegment> sqlSegment = insertStatementContext.getSqlStatement().getInsertColumns();
         Preconditions.checkState(sqlSegment.isPresent());
         Collection<RemoveToken> result = new LinkedList<>();
-        LinkedList<ColumnSegment> columns = (LinkedList<ColumnSegment>) sqlSegment.get().getColumns();
+        List<ColumnSegment> columns = (LinkedList<ColumnSegment>) sqlSegment.get().getColumns();
         for (int i = 0; i < columns.size(); i++) {
             if (getShadowRule().getColumn().equals(columns.get(i).getIdentifier().getValue())) {
                 if (i == 0) {
-                    result.add(new RemoveToken(columns.get(i).getStartIndex(), columns.get(i + 1).getStartIndex() - 1));
+                    result.add(new RemoveToken(columns.get(0).getStartIndex(), columns.get(i + 1).getStartIndex() - 1));
                 } else {
                     result.add(new RemoveToken(columns.get(i - 1).getStopIndex() + 1, columns.get(i).getStopIndex()));
                 }
diff --git a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-rewrite/src/main/java/org/apache/shardingsphere/shadow/rewrite/token/generator/impl/ShadowPredicateColumnTokenGenerator.java b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-rewrite/src/main/java/org/apache/shardingsphere/shadow/rewrite/token/generator/impl/ShadowPredicateColumnTokenGenerator.java
index 50af0d0..ae446cb 100644
--- a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-rewrite/src/main/java/org/apache/shardingsphere/shadow/rewrite/token/generator/impl/ShadowPredicateColumnTokenGenerator.java
+++ b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-rewrite/src/main/java/org/apache/shardingsphere/shadow/rewrite/token/generator/impl/ShadowPredicateColumnTokenGenerator.java
@@ -19,18 +19,19 @@ package org.apache.shardingsphere.shadow.rewrite.token.generator.impl;
 
 import com.google.common.base.Preconditions;
 import lombok.Setter;
+import org.apache.shardingsphere.infra.rewrite.sql.token.generator.CollectionSQLTokenGenerator;
+import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.SQLToken;
+import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.generic.RemoveToken;
 import org.apache.shardingsphere.shadow.rewrite.token.generator.BaseShadowSQLTokenGenerator;
 import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext;
+import org.apache.shardingsphere.sql.parser.binder.type.WhereAvailable;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.AndPredicate;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.PredicateSegment;
-import org.apache.shardingsphere.sql.parser.binder.type.WhereAvailable;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.WhereSegment;
-import org.apache.shardingsphere.infra.rewrite.sql.token.generator.CollectionSQLTokenGenerator;
-import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.SQLToken;
-import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.generic.RemoveToken;
 
 import java.util.Collection;
 import java.util.LinkedList;
+import java.util.List;
 
 /**
  * Predicate column token generator for shadow.
@@ -55,7 +56,7 @@ public final class ShadowPredicateColumnTokenGenerator extends BaseShadowSQLToke
     
     private Collection<SQLToken> generateSQLTokens(final WhereSegment whereSegment, final AndPredicate andPredicate) {
         Collection<SQLToken> result = new LinkedList<>();
-        LinkedList<PredicateSegment> predicates = (LinkedList<PredicateSegment>) andPredicate.getPredicates();
+        List<PredicateSegment> predicates = (LinkedList<PredicateSegment>) andPredicate.getPredicates();
         for (int i = 0; i < predicates.size(); i++) {
             if (!getShadowRule().getColumn().equals(predicates.get(i).getColumn().getIdentifier().getValue())) {
                 continue;
@@ -67,7 +68,7 @@ public final class ShadowPredicateColumnTokenGenerator extends BaseShadowSQLToke
                 return result;
             }
             if (i == 0) {
-                int startIndex = predicates.get(i).getStartIndex();
+                int startIndex = predicates.get(0).getStartIndex();
                 int stopIndex = predicates.get(i + 1).getStartIndex() - 1;
                 result.add(new RemoveToken(startIndex, stopIndex));
                 return result;
diff --git a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/ShadowDataSourceRouter.java b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/ShadowDataSourceRouter.java
index a0a81b1..f0da98c 100644
--- a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/ShadowDataSourceRouter.java
+++ b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/ShadowDataSourceRouter.java
@@ -39,5 +39,4 @@ public interface ShadowDataSourceRouter {
                 || (value instanceof Integer && 1 == (Integer) value)
                 || (value instanceof String && Boolean.parseBoolean((String) value));
     }
-    
 }
diff --git a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/ShadowRouteDecorator.java b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/ShadowRouteDecorator.java
index 9d8f0e1..1ab663b 100644
--- a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/ShadowRouteDecorator.java
+++ b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/ShadowRouteDecorator.java
@@ -94,7 +94,7 @@ public final class ShadowRouteDecorator implements RouteDecorator<ShadowRule> {
     private boolean isShadowSQL(final RouteContext routeContext, final ShadowRule shadowRule) {
         List<Object> parameters = routeContext.getParameters();
         SQLStatementContext sqlStatementContext = routeContext.getSqlStatementContext();
-        ShadowDataSourceRouter shadowDataSourceRouter = parameters.size() == 0 ? new SimpleShadowDataSourceRouter(shadowRule, sqlStatementContext)
+        ShadowDataSourceRouter shadowDataSourceRouter = parameters.isEmpty() ? new SimpleShadowDataSourceRouter(shadowRule, sqlStatementContext)
                 : new PreparedShadowDataSourceRouter(shadowRule, sqlStatementContext, parameters);
         return shadowDataSourceRouter.isShadowSQL();
     }
diff --git a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/impl/PreparedShadowDataSourceRouter.java b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/impl/PreparedShadowDataSourceRouter.java
index c8daa52..a162e3f 100644
--- a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/impl/PreparedShadowDataSourceRouter.java
+++ b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/impl/PreparedShadowDataSourceRouter.java
@@ -82,7 +82,7 @@ public final class PreparedShadowDataSourceRouter implements ShadowDataSourceRou
                 Preconditions.checkArgument(each.getRightValue() instanceof PredicateCompareRightValue, "must be PredicateCompareRightValue");
                 PredicateCompareRightValue rightValue = (PredicateCompareRightValue) each.getRightValue();
                 int parameterMarkerIndex = ((ParameterMarkerExpressionSegment) rightValue.getExpression()).getParameterMarkerIndex();
-                final Object value = parameters.get(parameterMarkerIndex);
+                Object value = parameters.get(parameterMarkerIndex);
                 return isShadowField(value);
             }
         }
diff --git a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/impl/SimpleShadowDataSourceRouter.java b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/impl/SimpleShadowDataSourceRouter.java
index f9a5f59..4c372f8 100644
--- a/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/impl/SimpleShadowDataSourceRouter.java
+++ b/shardingsphere-features/shardingsphere-shadow/shardingsphere-shadow-route/src/main/java/org/apache/shardingsphere/shadow/route/engine/impl/SimpleShadowDataSourceRouter.java
@@ -58,7 +58,7 @@ public final class SimpleShadowDataSourceRouter implements ShadowDataSourceRoute
                 return false;
             }
             List<Object> values = shadowCondition.get().getValues(Collections.emptyList());
-            return values.size() != 0 && isShadowField(values.get(0));
+            return !values.isEmpty() && isShadowField(values.get(0));
         }
         return false;
     }
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/AutoIntervalShardingAlgorithm.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/AutoIntervalShardingAlgorithm.java
index f8954c5..29c9b7b 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/AutoIntervalShardingAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/AutoIntervalShardingAlgorithm.java
@@ -78,7 +78,7 @@ public final class AutoIntervalShardingAlgorithm implements StandardShardingAlgo
     
     private long getShardingSeconds() {
         Preconditions.checkArgument(props.containsKey(SHARDING_SECONDS_KEY), "%s cannot be null.", SHARDING_SECONDS_KEY);
-        return Long.parseLong(props.get(SHARDING_SECONDS_KEY).toString());
+        return Long.parseLong(props.getProperty(SHARDING_SECONDS_KEY));
     }
     
     @Override
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/ModShardingAlgorithm.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/ModShardingAlgorithm.java
index ab1bb22..9924248 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/ModShardingAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/mod/ModShardingAlgorithm.java
@@ -55,7 +55,7 @@ public final class ModShardingAlgorithm implements StandardShardingAlgorithm<Com
     @Override
     public String doSharding(final Collection<String> availableTargetNames, final PreciseShardingValue<Comparable<?>> shardingValue) {
         for (String each : availableTargetNames) {
-            if (each.endsWith(getLongValue(shardingValue.getValue()) % shardingCount + "")) {
+            if (each.endsWith(String.valueOf(getLongValue(shardingValue.getValue()) % shardingCount))) {
                 return each;
             }
         }
@@ -76,7 +76,7 @@ public final class ModShardingAlgorithm implements StandardShardingAlgorithm<Com
         Collection<String> result = new LinkedHashSet<>(availableTargetNames.size());
         for (long i = getLongValue(shardingValue.getValueRange().lowerEndpoint()); i <= getLongValue(shardingValue.getValueRange().upperEndpoint()); i++) {
             for (String each : availableTargetNames) {
-                if (each.endsWith(i % shardingCount + "")) {
+                if (each.endsWith(String.valueOf(i % shardingCount))) {
                     result.add(each);
                 }
             }
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/BoundaryBasedRangeShardingAlgorithm.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/BoundaryBasedRangeShardingAlgorithm.java
index 993837b..ff8a83c 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/BoundaryBasedRangeShardingAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/BoundaryBasedRangeShardingAlgorithm.java
@@ -46,7 +46,7 @@ public final class BoundaryBasedRangeShardingAlgorithm extends AbstractRangeShar
         for (int i = 0; i < partitionRanges.size(); i++) {
             Long rangeValue = partitionRanges.get(i);
             if (i == 0) {
-                result.put(i, Range.lessThan(rangeValue));
+                result.put(0, Range.lessThan(rangeValue));
             } else {
                 Long previousRangeValue = partitionRanges.get(i - 1);
                 result.put(i, Range.closedOpen(previousRangeValue, rangeValue));
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/VolumeBasedRangeShardingAlgorithm.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/VolumeBasedRangeShardingAlgorithm.java
index 18c966c..adfabfc 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/VolumeBasedRangeShardingAlgorithm.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/algorithm/sharding/range/VolumeBasedRangeShardingAlgorithm.java
@@ -42,9 +42,9 @@ public final class VolumeBasedRangeShardingAlgorithm extends AbstractRangeShardi
         Preconditions.checkState(props.containsKey(RANGE_LOWER_KEY), "Lower range cannot be null.");
         Preconditions.checkState(props.containsKey(RANGE_UPPER_KEY), "Upper range cannot be null.");
         Preconditions.checkState(props.containsKey(SHARDING_VOLUME_KEY), "Sharding volume cannot be null.");
-        long lower = Long.parseLong(props.get(RANGE_LOWER_KEY).toString());
-        long upper = Long.parseLong(props.get(RANGE_UPPER_KEY).toString());
-        long volume = Long.parseLong(props.get(SHARDING_VOLUME_KEY).toString());
+        long lower = Long.parseLong(props.getProperty(RANGE_LOWER_KEY));
+        long upper = Long.parseLong(props.getProperty(RANGE_UPPER_KEY));
+        long volume = Long.parseLong(props.getProperty(SHARDING_VOLUME_KEY));
         Preconditions.checkArgument(upper - lower >= volume, "Range can not be smaller than volume.");
         int partitionSize = Math.toIntExact(LongMath.divide(upper - lower, volume, RoundingMode.CEILING));
         Map<Integer, Range<Long>> result = Maps.newHashMapWithExpectedSize(partitionSize + 2);
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingMetaDataLoader.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingMetaDataLoader.java
index 6adc603..7350b58 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingMetaDataLoader.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingMetaDataLoader.java
@@ -60,25 +60,25 @@ public final class ShardingMetaDataLoader implements RuleMetaDataLoader<Sharding
     
     @Override
     public SchemaMetaData load(final DatabaseType databaseType, final Map<String, DataSource> dataSourceMap, final DataNodes dataNodes,
-                               final ShardingRule shardingRule, final ConfigurationProperties props, final Collection<String> excludedTableNames) throws SQLException {
-        SchemaMetaData result = new SchemaMetaData(new HashMap<>(shardingRule.getTableRules().size(), 1));
-        for (TableRule each : shardingRule.getTableRules()) {
+                               final ShardingRule rule, final ConfigurationProperties props, final Collection<String> excludedTableNames) throws SQLException {
+        SchemaMetaData result = new SchemaMetaData(new HashMap<>(rule.getTableRules().size(), 1));
+        for (TableRule each : rule.getTableRules()) {
             if (!excludedTableNames.contains(each.getLogicTable())) {
-                load(databaseType, dataSourceMap, dataNodes, each.getLogicTable(), shardingRule, props).ifPresent(tableMetaData -> result.put(each.getLogicTable(), tableMetaData));
+                load(databaseType, dataSourceMap, dataNodes, each.getLogicTable(), rule, props).ifPresent(tableMetaData -> result.put(each.getLogicTable(), tableMetaData));
             }
         }
         return result;
     }
     
     @Override
-    public Optional<TableMetaData> load(final DatabaseType databaseType, final Map<String, DataSource> dataSourceMap, final DataNodes dataNodes, 
-                                        final String tableName, final ShardingRule shardingRule, final ConfigurationProperties props) throws SQLException {
-        if (!shardingRule.findTableRule(tableName).isPresent()) {
+    public Optional<TableMetaData> load(final DatabaseType databaseType, final Map<String, DataSource> dataSourceMap, final DataNodes dataNodes,
+                                        final String tableName, final ShardingRule rule, final ConfigurationProperties props) throws SQLException {
+        if (!rule.findTableRule(tableName).isPresent()) {
             return Optional.empty();
         }
         boolean isCheckingMetaData = props.getValue(ConfigurationPropertyKey.CHECK_TABLE_METADATA_ENABLED);
         int maxConnectionsSizePerQuery = props.getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY);
-        TableRule tableRule = shardingRule.getTableRule(tableName);
+        TableRule tableRule = rule.getTableRule(tableName);
         if (!isCheckingMetaData) {
             DataNode dataNode = dataNodes.getDataNodes(tableName).iterator().next();
             return TableMetaDataLoader.load(dataSourceMap.get(dataNode.getDataSourceName()), dataNode.getTableName(), databaseType.getName());
@@ -87,7 +87,7 @@ public final class ShardingMetaDataLoader implements RuleMetaDataLoader<Sharding
         if (actualTableMetaDataMap.isEmpty()) {
             return Optional.empty();
         }
-        checkUniformed(tableRule.getLogicTable(), actualTableMetaDataMap, shardingRule);
+        checkUniformed(tableRule.getLogicTable(), actualTableMetaDataMap, rule);
         return Optional.of(actualTableMetaDataMap.values().iterator().next());
     }
     
@@ -122,8 +122,8 @@ public final class ShardingMetaDataLoader implements RuleMetaDataLoader<Sharding
         try {
             return TableMetaDataLoader.load(
                     dataSourceMap.get(dataNode.getDataSourceName()), dataNode.getTableName(), databaseType.getName());
-        } catch (SQLException e) {
-            throw new IllegalStateException(String.format("SQLException for DataNode=%s and databaseType=%s", dataNode, databaseType.getName()), e);
+        } catch (final SQLException ex) {
+            throw new IllegalStateException(String.format("SQLException for DataNode=%s and databaseType=%s", dataNode, databaseType.getName()), ex);
         }
     }
     
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/SnowflakeKeyGenerateAlgorithmTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/SnowflakeKeyGenerateAlgorithmTest.java
index 9b9a716..dc365e5 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/SnowflakeKeyGenerateAlgorithmTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/SnowflakeKeyGenerateAlgorithmTest.java
@@ -34,7 +34,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertNotEquals;
+import static org.hamcrest.CoreMatchers.not;
 import static org.junit.Assert.assertThat;
 
 public final class SnowflakeKeyGenerateAlgorithmTest {
@@ -51,7 +51,7 @@ public final class SnowflakeKeyGenerateAlgorithmTest {
         SnowflakeKeyGenerateAlgorithm keyGenerateAlgorithm = new SnowflakeKeyGenerateAlgorithm();
         keyGenerateAlgorithm.setProps(new Properties());
         keyGenerateAlgorithm.init();
-        Set<Comparable<?>> actual = new HashSet<>();
+        Set<Comparable<?>> actual = new HashSet<>(taskNumber, 1);
         for (int i = 0; i < taskNumber; i++) {
             actual.add(executor.submit((Callable<Comparable<?>>) keyGenerateAlgorithm::generateKey).get());
         }
@@ -65,7 +65,7 @@ public final class SnowflakeKeyGenerateAlgorithmTest {
         keyGenerateAlgorithm.setProps(new Properties());
         keyGenerateAlgorithm.init();
         List<Comparable<?>> expected = Arrays.asList(0L, 4194305L, 4194306L, 8388608L, 8388609L, 12582913L, 12582914L, 16777216L, 16777217L, 20971521L);
-        List<Comparable<?>> actual = new ArrayList<>();
+        List<Comparable<?>> actual = new ArrayList<>(DEFAULT_KEY_AMOUNT);
         for (int i = 0; i < DEFAULT_KEY_AMOUNT; i++) {
             actual.add(keyGenerateAlgorithm.generateKey());
         }
@@ -77,14 +77,14 @@ public final class SnowflakeKeyGenerateAlgorithmTest {
         SnowflakeKeyGenerateAlgorithm keyGenerateAlgorithm = new SnowflakeKeyGenerateAlgorithm();
         SnowflakeKeyGenerateAlgorithm.setTimeService(new FixedTimeService(5));
         Properties props = new Properties();
-        props.setProperty("max.vibration.offset", String.valueOf(3));
+        props.setProperty("max.vibration.offset", "3");
         keyGenerateAlgorithm.setProps(props);
         keyGenerateAlgorithm.init();
-        assertThat(keyGenerateAlgorithm.generateKey(), is((Comparable) 0L));
-        assertThat(keyGenerateAlgorithm.generateKey(), is((Comparable) 1L));
-        assertThat(keyGenerateAlgorithm.generateKey(), is((Comparable) 2L));
-        assertThat(keyGenerateAlgorithm.generateKey(), is((Comparable) 3L));
-        assertThat(keyGenerateAlgorithm.generateKey(), is((Comparable) 4L));
+        assertThat(keyGenerateAlgorithm.generateKey(), is(0L));
+        assertThat(keyGenerateAlgorithm.generateKey(), is(1L));
+        assertThat(keyGenerateAlgorithm.generateKey(), is(2L));
+        assertThat(keyGenerateAlgorithm.generateKey(), is(3L));
+        assertThat(keyGenerateAlgorithm.generateKey(), is(4L));
     }
     
     @Test
@@ -95,20 +95,20 @@ public final class SnowflakeKeyGenerateAlgorithmTest {
         props.setProperty("max.vibration.offset", String.valueOf(3));
         keyGenerateAlgorithm.setProps(props);
         keyGenerateAlgorithm.init();
-        String actualGenerateKeyBinaryString0 = Long.toBinaryString(Long.parseLong(keyGenerateAlgorithm.generateKey().toString()));
-        assertThat(Integer.parseInt(actualGenerateKeyBinaryString0.substring(actualGenerateKeyBinaryString0.length() - 3), 2), is(0));
+        String actualGenerateKey0 = Long.toBinaryString(Long.parseLong(keyGenerateAlgorithm.generateKey().toString()));
+        assertThat(Integer.parseInt(actualGenerateKey0.substring(actualGenerateKey0.length() - 3), 2), is(0));
         Thread.sleep(2L);
-        String actualGenerateKeyBinaryString1 = Long.toBinaryString(Long.parseLong(keyGenerateAlgorithm.generateKey().toString()));
-        assertThat(Integer.parseInt(actualGenerateKeyBinaryString1.substring(actualGenerateKeyBinaryString1.length() - 3), 2), is(1));
+        String actualGenerateKey1 = Long.toBinaryString(Long.parseLong(keyGenerateAlgorithm.generateKey().toString()));
+        assertThat(Integer.parseInt(actualGenerateKey1.substring(actualGenerateKey1.length() - 3), 2), is(1));
         Thread.sleep(2L);
-        String actualGenerateKeyBinaryString2 = Long.toBinaryString(Long.parseLong(keyGenerateAlgorithm.generateKey().toString()));
-        assertThat(Integer.parseInt(actualGenerateKeyBinaryString2.substring(actualGenerateKeyBinaryString2.length() - 3), 2), is(2));
+        String actualGenerateKey2 = Long.toBinaryString(Long.parseLong(keyGenerateAlgorithm.generateKey().toString()));
+        assertThat(Integer.parseInt(actualGenerateKey2.substring(actualGenerateKey2.length() - 3), 2), is(2));
         Thread.sleep(2L);
-        String actualGenerateKeyBinaryString3 = Long.toBinaryString(Long.parseLong(keyGenerateAlgorithm.generateKey().toString()));
-        assertThat(Integer.parseInt(actualGenerateKeyBinaryString3.substring(actualGenerateKeyBinaryString3.length() - 3), 2), is(3));
+        String actualGenerateKey3 = Long.toBinaryString(Long.parseLong(keyGenerateAlgorithm.generateKey().toString()));
+        assertThat(Integer.parseInt(actualGenerateKey3.substring(actualGenerateKey3.length() - 3), 2), is(3));
         Thread.sleep(2L);
-        String actualGenerateKeyBinaryString4 = Long.toBinaryString(Long.parseLong(keyGenerateAlgorithm.generateKey().toString()));
-        assertThat(Integer.parseInt(actualGenerateKeyBinaryString4.substring(actualGenerateKeyBinaryString4.length() - 3), 2), is(0));
+        String actualGenerateKey4 = Long.toBinaryString(Long.parseLong(keyGenerateAlgorithm.generateKey().toString()));
+        assertThat(Integer.parseInt(actualGenerateKey4.substring(actualGenerateKey4.length() - 3), 2), is(0));
     }
     
     @Test
@@ -120,7 +120,7 @@ public final class SnowflakeKeyGenerateAlgorithmTest {
         keyGenerateAlgorithm.init();
         setLastMilliseconds(keyGenerateAlgorithm, timeService.getCurrentMillis() + 2);
         List<Comparable<?>> expected = Arrays.asList(4194304L, 8388609L, 8388610L, 12582912L, 12582913L, 16777217L, 16777218L, 20971520L, 20971521L, 25165825L);
-        List<Comparable<?>> actual = new ArrayList<>();
+        List<Comparable<?>> actual = new ArrayList<>(DEFAULT_KEY_AMOUNT);
         for (int i = 0; i < DEFAULT_KEY_AMOUNT; i++) {
             actual.add(keyGenerateAlgorithm.generateKey());
         }
@@ -137,16 +137,16 @@ public final class SnowflakeKeyGenerateAlgorithmTest {
         keyGenerateAlgorithm.setProps(props);
         keyGenerateAlgorithm.init();
         setLastMilliseconds(keyGenerateAlgorithm, timeService.getCurrentMillis() + 2);
-        List<Comparable<?>> actual = new ArrayList<>();
+        List<Comparable<?>> actual = new ArrayList<>(DEFAULT_KEY_AMOUNT);
         for (int i = 0; i < DEFAULT_KEY_AMOUNT; i++) {
             actual.add(keyGenerateAlgorithm.generateKey());
         }
-        assertNotEquals(actual.size(), 10);
+        assertThat(actual.size(), not(10));
     }
     
     @Test
     public void assertGenerateKeyBeyondMaxSequencePerMilliSecond() {
-        final SnowflakeKeyGenerateAlgorithm keyGenerateAlgorithm = new SnowflakeKeyGenerateAlgorithm();
+        SnowflakeKeyGenerateAlgorithm keyGenerateAlgorithm = new SnowflakeKeyGenerateAlgorithm();
         TimeService timeService = new FixedTimeService(2);
         SnowflakeKeyGenerateAlgorithm.setTimeService(timeService);
         keyGenerateAlgorithm.setProps(new Properties());
@@ -154,7 +154,7 @@ public final class SnowflakeKeyGenerateAlgorithmTest {
         setLastMilliseconds(keyGenerateAlgorithm, timeService.getCurrentMillis());
         setSequence(keyGenerateAlgorithm, (1 << DEFAULT_SEQUENCE_BITS) - 1);
         List<Comparable<?>> expected = Arrays.asList(4194304L, 4194305L, 4194306L, 8388608L, 8388609L, 8388610L, 12582913L, 12582914L, 12582915L, 16777216L);
-        List<Comparable<?>> actual = new ArrayList<>();
+        List<Comparable<?>> actual = new ArrayList<>(DEFAULT_KEY_AMOUNT);
         for (int i = 0; i < DEFAULT_KEY_AMOUNT; i++) {
             actual.add(keyGenerateAlgorithm.generateKey());
         }
@@ -225,7 +225,7 @@ public final class SnowflakeKeyGenerateAlgorithmTest {
         keyGenerateAlgorithm.init();
         Field field = keyGenerateAlgorithm.getClass().getDeclaredField("props");
         field.setAccessible(true);
-        assertThat(((Properties) field.get(keyGenerateAlgorithm)).get("worker.id"), is("1"));
+        assertThat(((Properties) field.get(keyGenerateAlgorithm)).getProperty("worker.id"), is("1"));
     }
     
     @Test
@@ -238,6 +238,6 @@ public final class SnowflakeKeyGenerateAlgorithmTest {
         keyGenerateAlgorithm.init();
         Field field = keyGenerateAlgorithm.getClass().getDeclaredField("props");
         field.setAccessible(true);
-        assertThat(((Properties) field.get(keyGenerateAlgorithm)).get("max.tolerate.time.difference.milliseconds"), is("1"));
+        assertThat(((Properties) field.get(keyGenerateAlgorithm)).getProperty("max.tolerate.time.difference.milliseconds"), is("1"));
     }
 }
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/UUIDKeyGenerateAlgorithmTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/UUIDKeyGenerateAlgorithmTest.java
index 7f13f6e..b42395a 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/UUIDKeyGenerateAlgorithmTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/UUIDKeyGenerateAlgorithmTest.java
@@ -43,6 +43,6 @@ public final class UUIDKeyGenerateAlgorithmTest {
         Properties props = new Properties();
         props.setProperty("key1", "value1");
         uuidKeyGenerateAlgorithm.setProps(props);
-        assertThat(uuidKeyGenerateAlgorithm.getProps().get("key1"), is("value1"));
+        assertThat(uuidKeyGenerateAlgorithm.getProps().getProperty("key1"), is("value1"));
     }
 }
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithmTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithmTest.java
index 260af21..c515b2f 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithmTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/algorithm/sharding/datetime/IntervalShardingAlgorithmTest.java
@@ -28,10 +28,10 @@ import org.junit.Test;
 
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Properties;
 
@@ -41,9 +41,9 @@ import static org.junit.Assert.assertTrue;
 
 public final class IntervalShardingAlgorithmTest {
     
-    private final List<String> availableTablesForMonthStrategy = new ArrayList<>();
+    private final Collection<String> availableTablesForMonthStrategy = new LinkedList<>();
     
-    private final List<String> availableTablesForQuarterStrategy = new ArrayList<>();
+    private final Collection<String> availableTablesForQuarterStrategy = new LinkedList<>();
     
     private StandardShardingStrategy shardingStrategyByMonth;
     
@@ -64,7 +64,7 @@ public final class IntervalShardingAlgorithmTest {
         shardingAlgorithm.getProps().setProperty("datetime.interval.amount", "3");
         shardingAlgorithm.getProps().setProperty("datetime.interval.unit", "Months");
         shardingAlgorithm.init();
-        this.shardingStrategyByQuarter = new StandardShardingStrategy("create_time", shardingAlgorithm);
+        shardingStrategyByQuarter = new StandardShardingStrategy("create_time", shardingAlgorithm);
         for (int i = 2016; i <= 2020; i++) {
             for (int j = 1; j <= 4; j++) {
                 availableTablesForQuarterStrategy.add(String.format("t_order_%04d%02d", i, j));
@@ -81,7 +81,7 @@ public final class IntervalShardingAlgorithmTest {
         shardingAlgorithm.getProps().setProperty("datetime.interval.amount", "1");
         shardingAlgorithm.getProps().setProperty("datetime.interval.unit", "Months");
         shardingAlgorithm.init();
-        this.shardingStrategyByMonth = new StandardShardingStrategy("create_time", shardingAlgorithm);
+        shardingStrategyByMonth = new StandardShardingStrategy("create_time", shardingAlgorithm);
         for (int i = 2016; i <= 2020; i++) {
             for (int j = 1; j <= 12; j++) {
                 availableTablesForMonthStrategy.add(String.format("t_order_%04d%02d", i, j));
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AggregationUnitFactory.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AggregationUnitFactory.java
index 6189ad7..1ce4ad5 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AggregationUnitFactory.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AggregationUnitFactory.java
@@ -18,13 +18,13 @@
 package org.apache.shardingsphere.sharding.merge.dql.groupby.aggregation;
 
 import lombok.AccessLevel;
-import lombok.RequiredArgsConstructor;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.sql.parser.sql.constant.AggregationType;
 
 /**
  * Aggregation unit factory.
  */
-@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class AggregationUnitFactory {
     
     /**
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AverageAggregationUnit.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AverageAggregationUnit.java
index 330f01e..50c6547 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AverageAggregationUnit.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/AverageAggregationUnit.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.sharding.merge.dql.groupby.aggregation;
 import lombok.RequiredArgsConstructor;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.List;
 
 /**
@@ -53,6 +54,6 @@ public final class AverageAggregationUnit implements AggregationUnit {
             return count;
         }
         // TODO use metadata to fetch float number precise for database field
-        return sum.divide(count, 4, BigDecimal.ROUND_HALF_UP);
+        return sum.divide(count, 4, RoundingMode.HALF_UP);
     }
 }
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/ComparableAggregationUnit.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/ComparableAggregationUnit.java
index 2262a2a..9edda42 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/ComparableAggregationUnit.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/ComparableAggregationUnit.java
@@ -42,7 +42,7 @@ public final class ComparableAggregationUnit implements AggregationUnit {
             return;
         }
         int comparedValue = ((Comparable) values.get(0)).compareTo(result);
-        if (asc && comparedValue < 0 || !asc && comparedValue > 0) {
+        if (asc ? comparedValue < 0 : comparedValue > 0) {
             result = values.get(0);
         }
     }
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/DistinctAverageAggregationUnit.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/DistinctAverageAggregationUnit.java
index b75b896..c82c1e1 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/DistinctAverageAggregationUnit.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/groupby/aggregation/DistinctAverageAggregationUnit.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.sharding.merge.dql.groupby.aggregation;
 import lombok.RequiredArgsConstructor;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.Collection;
 import java.util.LinkedHashSet;
 import java.util.List;
@@ -43,7 +44,7 @@ public final class DistinctAverageAggregationUnit implements AggregationUnit {
         if (null == values || null == values.get(0) || null == values.get(1)) {
             return;
         }
-        if (this.countValues.add(values.get(0)) && this.sumValues.add(values.get(0))) {
+        if (countValues.add(values.get(0)) && sumValues.add(values.get(0))) {
             if (null == count) {
                 count = new BigDecimal("0");
             }
@@ -61,6 +62,6 @@ public final class DistinctAverageAggregationUnit implements AggregationUnit {
             return count;
         }
         // TODO use metadata to fetch float number precise for database field
-        return sum.divide(count, 4, BigDecimal.ROUND_HALF_UP);
+        return sum.divide(count, 4, RoundingMode.HALF_UP);
     }
 }
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/CompareUtil.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/CompareUtil.java
index e3caac1..8886362 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/CompareUtil.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/CompareUtil.java
@@ -18,13 +18,13 @@
 package org.apache.shardingsphere.sharding.merge.dql.orderby;
 
 import lombok.AccessLevel;
-import lombok.RequiredArgsConstructor;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.sql.parser.sql.constant.OrderDirection;
 
 /**
  * Compare util.
  */
-@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class CompareUtil {
     
     /**
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByStreamMergedResult.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByStreamMergedResult.java
index b11fae3..ee2e37e 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByStreamMergedResult.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByStreamMergedResult.java
@@ -45,8 +45,8 @@ public class OrderByStreamMergedResult extends StreamMergedResult {
     private boolean isFirstNext;
     
     public OrderByStreamMergedResult(final List<QueryResult> queryResults, final SelectStatementContext selectStatementContext, final SchemaMetaData schemaMetaData) throws SQLException {
-        this.orderByItems = selectStatementContext.getOrderByContext().getItems();
-        this.orderByValuesQueue = new PriorityQueue<>(queryResults.size());
+        orderByItems = selectStatementContext.getOrderByContext().getItems();
+        orderByValuesQueue = new PriorityQueue<>(queryResults.size());
         orderResultSetsToQueue(queryResults, selectStatementContext, schemaMetaData);
         isFirstNext = true;
     }
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByValue.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByValue.java
index 2e5d14d..6c2ee5e 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByValue.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-merge/src/main/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByValue.java
@@ -55,7 +55,7 @@ public final class OrderByValue implements Comparable<OrderByValue> {
                         final SelectStatementContext selectStatementContext, final SchemaMetaData schemaMetaData) throws SQLException {
         this.queryResult = queryResult;
         this.orderByItems = orderByItems;
-        this.orderValuesCaseSensitive = getOrderValuesCaseSensitive(selectStatementContext, schemaMetaData);
+        orderValuesCaseSensitive = getOrderValuesCaseSensitive(selectStatementContext, schemaMetaData);
     }
     
     private List<Boolean> getOrderValuesCaseSensitive(final SelectStatementContext selectStatementContext, final SchemaMetaData schemaMetaData) throws SQLException {
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/OrderByToken.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/OrderByToken.java
index 83edd7b..1bd8508 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/OrderByToken.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/OrderByToken.java
@@ -45,7 +45,7 @@ public final class OrderByToken extends SQLToken implements Attachable {
         result.append(" ORDER BY ");
         for (int i = 0; i < columnLabels.size(); i++) {
             if (0 == i) {
-                result.append(columnLabels.get(i)).append(" ").append(orderDirections.get(i).name());
+                result.append(columnLabels.get(0)).append(" ").append(orderDirections.get(i).name());
             } else {
                 result.append(",").append(columnLabels.get(i)).append(" ").append(orderDirections.get(i).name());
             }
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TableToken.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TableToken.java
index 3bf6493..069751c 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TableToken.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/TableToken.java
@@ -52,9 +52,9 @@ public final class TableToken extends SQLToken implements Substitutable, RouteUn
     public TableToken(final int startIndex, final int stopIndex, final SimpleTableSegment tableSegment, final SQLStatementContext sqlStatementContext, final ShardingRule shardingRule) {
         super(startIndex);
         this.stopIndex = stopIndex;
-        this.tableName = tableSegment.getTableName().getIdentifier();
+        tableName = tableSegment.getTableName().getIdentifier();
         this.sqlStatementContext = sqlStatementContext;
-        this.owner = tableSegment.getOwner().isPresent() ? tableSegment.getOwner().get().getIdentifier() : null;
+        owner = tableSegment.getOwner().isPresent() ? tableSegment.getOwner().get().getIdentifier() : null;
         this.shardingRule = shardingRule;
     }
     
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/Column.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/Column.java
index 8a64d70..63d4776 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/Column.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/Column.java
@@ -38,7 +38,7 @@ public final class Column {
     public boolean equals(final Object obj) {
         if (obj instanceof Column) {
             Column column = (Column) obj;
-            return Objects.equal(name.toUpperCase(), column.getName().toUpperCase()) && Objects.equal(tableName.toUpperCase(), column.getTableName().toUpperCase());
+            return Objects.equal(name.toUpperCase(), column.name.toUpperCase()) && Objects.equal(tableName.toUpperCase(), column.tableName.toUpperCase());
         }
         return false;
     }
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/ExpressionConditionUtils.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/ExpressionConditionUtils.java
index 1e1ceeb..3d4a06e 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/ExpressionConditionUtils.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/ExpressionConditionUtils.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.sharding.route.engine.condition;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.expr.ExpressionSegment;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.expr.complex.CommonExpressionSegment;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.expr.complex.ComplexExpressionSegment;
@@ -24,6 +26,7 @@ import org.apache.shardingsphere.sql.parser.sql.segment.dml.expr.complex.Complex
 /**
  * Expression judgment tool for route.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class ExpressionConditionUtils {
 
     /**
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngine.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngine.java
index fb65f0a..4638db2 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngine.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/standard/ShardingStandardRoutingEngine.java
@@ -186,7 +186,7 @@ public final class ShardingStandardRoutingEngine implements ShardingRouteEngine
         if (databaseShardingValues.isEmpty()) {
             return tableRule.getActualDatasourceNames();
         }
-        Collection<String> result = new LinkedHashSet<>(shardingRule.getDatabaseShardingStrategy(tableRule).doSharding(tableRule.getActualDatasourceNames(), databaseShardingValues, this.properties));
+        Collection<String> result = new LinkedHashSet<>(shardingRule.getDatabaseShardingStrategy(tableRule).doSharding(tableRule.getActualDatasourceNames(), databaseShardingValues, properties));
         Preconditions.checkState(!result.isEmpty(), "no database route info");
         Preconditions.checkState(tableRule.getActualDatasourceNames().containsAll(result), 
                 "Some routed data sources do not belong to configured data sources. routed data sources: `%s`, configured data sources: `%s`", result, tableRule.getActualDatasourceNames());
@@ -196,7 +196,7 @@ public final class ShardingStandardRoutingEngine implements ShardingRouteEngine
     private Collection<DataNode> routeTables(final ShardingRule shardingRule, final TableRule tableRule, final String routedDataSource, final List<RouteValue> tableShardingValues) {
         Collection<String> availableTargetTables = tableRule.getActualTableNames(routedDataSource);
         Collection<String> routedTables = new LinkedHashSet<>(tableShardingValues.isEmpty() ? availableTargetTables
-                : shardingRule.getTableShardingStrategy(tableRule).doSharding(availableTargetTables, tableShardingValues, this.properties));
+                : shardingRule.getTableShardingStrategy(tableRule).doSharding(availableTargetTables, tableShardingValues, properties));
         Collection<DataNode> result = new LinkedList<>();
         for (String each : routedTables) {
             result.add(new DataNode(routedDataSource, each));
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-time-service/src/main/java/org/apache/shardingsphere/sharding/route/time/TimeServiceConfiguration.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-time-service/src/main/java/org/apache/shardingsphere/sharding/route/time/TimeServiceConfiguration.java
index 79599d7..a0c9f9d 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-time-service/src/main/java/org/apache/shardingsphere/sharding/route/time/TimeServiceConfiguration.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-time-service/src/main/java/org/apache/shardingsphere/sharding/route/time/TimeServiceConfiguration.java
@@ -54,9 +54,9 @@ public final class TimeServiceConfiguration {
             Properties props = new Properties();
             props.load(inputStream);
             String dataSourceType = (String) props.remove("dataSourceType");
-            driverClassName = (String) props.get("driverClassName");
-            Class dataSourceClass = Class.forName(dataSourceType);
-            dataSource = (DataSource) dataSourceClass.newInstance();
+            driverClassName = props.getProperty("driverClassName");
+            Class<?> dataSourceClass = Class.forName(dataSourceType);
+            dataSource = (DataSource) dataSourceClass.getConstructor().newInstance();
             for (String each : props.stringPropertyNames()) {
                 PropertyDescriptor propertyDescriptor = new PropertyDescriptor(each, dataSourceClass);
                 Method writeMethod = propertyDescriptor.getWriteMethod();
@@ -64,9 +64,11 @@ public final class TimeServiceConfiguration {
             }
         } catch (final ClassNotFoundException | InstantiationException | IllegalAccessException | IntrospectionException | InvocationTargetException | IOException ex) {
             throw new TimeServiceInitException("please check your time-service.properties", ex);
+        } catch (final NoSuchMethodException ex) {
+            throw new TimeServiceInitException(ex.getMessage(), ex);
         }
     }
-
+    
     /**
      * Get configuration instance.
      * 
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-time-service/src/main/java/org/apache/shardingsphere/sharding/route/time/impl/TimeServiceFactory.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-time-service/src/main/java/org/apache/shardingsphere/sharding/route/time/impl/TimeServiceFactory.java
index a04c7de..8105f7d 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-time-service/src/main/java/org/apache/shardingsphere/sharding/route/time/impl/TimeServiceFactory.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-time-service/src/main/java/org/apache/shardingsphere/sharding/route/time/impl/TimeServiceFactory.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.sharding.route.time.impl;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.sharding.route.spi.TimeService;
 import org.apache.shardingsphere.sharding.route.time.TimeServiceConfiguration;
 import org.apache.shardingsphere.sharding.route.time.spi.SPIDataBaseSQLEntry;
@@ -24,6 +26,7 @@ import org.apache.shardingsphere.sharding.route.time.spi.SPIDataBaseSQLEntry;
 /**
  * Time service factory.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class TimeServiceFactory {
     
     /**
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-time-service/src/test/java/org/apache/shardingsphere/sharding/route/time/PropertiesUtils.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-time-service/src/test/java/org/apache/shardingsphere/sharding/route/time/PropertiesUtils.java
index d3e3b83..3a11815 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-time-service/src/test/java/org/apache/shardingsphere/sharding/route/time/PropertiesUtils.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-time-service/src/test/java/org/apache/shardingsphere/sharding/route/time/PropertiesUtils.java
@@ -17,11 +17,15 @@
 
 package org.apache.shardingsphere.sharding.route.time;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.Properties;
 
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class PropertiesUtils {
     
     private static final File FILE = new File(PropertiesUtils.class.getResource("/").getPath() + "time-service.properties");
@@ -35,18 +39,18 @@ public final class PropertiesUtils {
     public static void createProperties(final String driverClassName, final String sql) {
         try {
             Properties props = new Properties();
-            props.put("dataSourceType", "com.zaxxer.hikari.HikariDataSource");
-            props.put("jdbcUrl", "jdbc:test");
-            props.put("username", "root");
-            props.put("password", "root");
-            props.put("driverClassName", driverClassName);
+            props.setProperty("dataSourceType", "com.zaxxer.hikari.HikariDataSource");
+            props.setProperty("jdbcUrl", "jdbc:test");
+            props.setProperty("username", "root");
+            props.setProperty("password", "root");
+            props.setProperty("driverClassName", driverClassName);
             if (null != sql) {
-                props.put("sql", sql);
+                props.setProperty("sql", sql);
             }
             FileOutputStream stream = new FileOutputStream(FILE);
             props.store(stream, null);
             stream.close();
-        } catch (IOException ignore) {
+        } catch (final IOException ignore) {
         }
     }
     
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/DataSourceConfiguration.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/DataSourceConfiguration.java
index 9b81619..83fa71b 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/DataSourceConfiguration.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/DataSourceConfiguration.java
@@ -67,14 +67,15 @@ public final class DataSourceConfiguration {
      */
     public static DataSourceConfiguration getDataSourceConfiguration(final DataSource dataSource) {
         DataSourceConfiguration result = new DataSourceConfiguration(dataSource.getClass().getName());
-        result.getProps().putAll(findAllGetterProperties(dataSource));
+        result.props.putAll(findAllGetterProperties(dataSource));
         return result;
     }
     
     @SneakyThrows(ReflectiveOperationException.class)
     private static Map<String, Object> findAllGetterProperties(final Object target) {
-        Map<String, Object> result = new LinkedHashMap<>();
-        for (Method each : findAllGetterMethods(target.getClass())) {
+        Collection<Method> allGetterMethods = findAllGetterMethods(target.getClass());
+        Map<String, Object> result = new LinkedHashMap<>(allGetterMethods.size(), 1);
+        for (Method each : allGetterMethods) {
             String propertyName = CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, each.getName().substring(GETTER_PREFIX.length()));
             if (GENERAL_CLASS_TYPE.contains(each.getReturnType()) && !SKIPPED_PROPERTY_NAMES.contains(propertyName)) {
                 result.put(propertyName, each.invoke(target));
@@ -84,8 +85,9 @@ public final class DataSourceConfiguration {
     }
     
     private static Collection<Method> findAllGetterMethods(final Class<?> clazz) {
-        Collection<Method> result = new HashSet<>();
-        for (Method each : clazz.getMethods()) {
+        Method[] methods = clazz.getMethods();
+        Collection<Method> result = new HashSet<>(methods.length);
+        for (Method each : methods) {
             if (each.getName().startsWith(GETTER_PREFIX) && 0 == each.getParameterTypes().length) {
                 result.add(each);
             }
@@ -100,7 +102,7 @@ public final class DataSourceConfiguration {
      */
     @SneakyThrows(ReflectiveOperationException.class)
     public DataSource createDataSource() {
-        DataSource result = (DataSource) Class.forName(dataSourceClassName).newInstance();
+        DataSource result = (DataSource) Class.forName(dataSourceClassName).getConstructor().newInstance();
         Method[] methods = result.getClass().getMethods();
         for (Entry<String, Object> entry : props.entrySet()) {
             if (SKIPPED_PROPERTY_NAMES.contains(entry.getKey())) {
@@ -129,12 +131,12 @@ public final class DataSourceConfiguration {
         return this == obj || null != obj && getClass() == obj.getClass() && equalsByProperties((DataSourceConfiguration) obj);
     }
     
-    private boolean equalsByProperties(final DataSourceConfiguration dataSourceConfiguration) {
-        if (!this.dataSourceClassName.equals(dataSourceConfiguration.getDataSourceClassName())) {
+    private boolean equalsByProperties(final DataSourceConfiguration dataSourceConfig) {
+        if (!dataSourceClassName.equals(dataSourceConfig.dataSourceClassName)) {
             return false;
         }
         for (Entry<String, Object> entry : props.entrySet()) {
-            if (!String.valueOf(entry.getValue()).equals(String.valueOf(dataSourceConfiguration.getProps().get(entry.getKey())))) {
+            if (!String.valueOf(entry.getValue()).equals(String.valueOf(dataSourceConfig.props.get(entry.getKey())))) {
                 return false;
             }
         }
@@ -145,7 +147,7 @@ public final class DataSourceConfiguration {
     public int hashCode() {
         StringBuilder stringBuilder = new StringBuilder();
         for (Entry<String, Object> entry : props.entrySet()) {
-            stringBuilder.append(entry.getKey()).append(entry.getValue().toString());
+            stringBuilder.append(entry.getKey()).append(entry.getValue());
         }
         return Objects.hashCode(dataSourceClassName, stringBuilder.toString());
     }
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/DatabaseTypes.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/DatabaseTypes.java
index f4482bb..834b65e 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/DatabaseTypes.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/DatabaseTypes.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.infra.database.type;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.exception.ShardingSphereException;
 
 import java.util.HashMap;
@@ -27,6 +29,7 @@ import java.util.ServiceLoader;
 /**
  * Database types.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DatabaseTypes {
     
     private static final Map<String, DatabaseType> DATABASE_TYPES = new HashMap<>();
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
index c403381..14defd8 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
@@ -67,8 +67,8 @@ public final class DataNode {
             return false;
         }
         DataNode dataNode = (DataNode) object;
-        return Objects.equal(this.dataSourceName.toUpperCase(), dataNode.dataSourceName.toUpperCase())
-            && Objects.equal(this.tableName.toUpperCase(), dataNode.tableName.toUpperCase());
+        return Objects.equal(dataSourceName.toUpperCase(), dataNode.dataSourceName.toUpperCase())
+            && Objects.equal(tableName.toUpperCase(), dataNode.tableName.toUpperCase());
     }
     
     @Override
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/hint/HintManager.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/hint/HintManager.java
index 170e02b..ab4c14f 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/hint/HintManager.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/hint/HintManager.java
@@ -163,6 +163,6 @@ public final class HintManager implements AutoCloseable {
     
     @Override
     public void close() {
-        HintManager.clear();
+        clear();
     }
 }
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/refresh/MetaDataRefreshStrategyFactory.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/refresh/MetaDataRefreshStrategyFactory.java
index 258272b..250c771 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/refresh/MetaDataRefreshStrategyFactory.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/refresh/MetaDataRefreshStrategyFactory.java
@@ -17,17 +17,19 @@
 
 package org.apache.shardingsphere.infra.metadata.refresh;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.infra.metadata.refresh.impl.AlterTableStatementMetaDataRefreshStrategy;
+import org.apache.shardingsphere.infra.metadata.refresh.impl.CreateIndexStatementMetaDataRefreshStrategy;
+import org.apache.shardingsphere.infra.metadata.refresh.impl.CreateTableStatementMetaDataRefreshStrategy;
+import org.apache.shardingsphere.infra.metadata.refresh.impl.DropIndexStatementMetaDataRefreshStrategy;
+import org.apache.shardingsphere.infra.metadata.refresh.impl.DropTableStatementMetaDataRefreshStrategy;
 import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext;
 import org.apache.shardingsphere.sql.parser.binder.statement.ddl.AlterTableStatementContext;
 import org.apache.shardingsphere.sql.parser.binder.statement.ddl.CreateIndexStatementContext;
 import org.apache.shardingsphere.sql.parser.binder.statement.ddl.CreateTableStatementContext;
 import org.apache.shardingsphere.sql.parser.binder.statement.ddl.DropIndexStatementContext;
 import org.apache.shardingsphere.sql.parser.binder.statement.ddl.DropTableStatementContext;
-import org.apache.shardingsphere.infra.metadata.refresh.impl.AlterTableStatementMetaDataRefreshStrategy;
-import org.apache.shardingsphere.infra.metadata.refresh.impl.CreateIndexStatementMetaDataRefreshStrategy;
-import org.apache.shardingsphere.infra.metadata.refresh.impl.CreateTableStatementMetaDataRefreshStrategy;
-import org.apache.shardingsphere.infra.metadata.refresh.impl.DropIndexStatementMetaDataRefreshStrategy;
-import org.apache.shardingsphere.infra.metadata.refresh.impl.DropTableStatementMetaDataRefreshStrategy;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -36,6 +38,7 @@ import java.util.Optional;
 /**
  * Meta data refresh strategy factory.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class MetaDataRefreshStrategyFactory {
     
     private static final Map<Class, MetaDataRefreshStrategy> REGISTRY = new HashMap<>();
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/spi/order/OrderedSPIRegistry.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/spi/order/OrderedSPIRegistry.java
index 20c3c83..6bb5677 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/spi/order/OrderedSPIRegistry.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/spi/order/OrderedSPIRegistry.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.infra.spi.order;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 
 import java.util.Collection;
@@ -27,6 +29,7 @@ import java.util.TreeMap;
 /**
  * Ordered SPI registry.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class OrderedSPIRegistry {
     
     /**
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/spi/type/TypedSPIRegistry.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/spi/type/TypedSPIRegistry.java
index 1fdc139..db54ffc 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/spi/type/TypedSPIRegistry.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/spi/type/TypedSPIRegistry.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.infra.spi.type;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.infra.spi.exception.ServiceProviderNotFoundException;
 
@@ -26,6 +28,7 @@ import java.util.Properties;
 /**
  * Typed SPI registry.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class TypedSPIRegistry {
     
     /**
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/YamlEngine.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/YamlEngine.java
index 944d6da..108aa3c 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/YamlEngine.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/YamlEngine.java
@@ -31,7 +31,6 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.nio.charset.StandardCharsets;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Properties;
@@ -54,7 +53,7 @@ public final class YamlEngine {
     public static <T extends YamlConfiguration> T unmarshal(final File yamlFile, final Class<T> classType) throws IOException {
         try (
                 FileInputStream fileInputStream = new FileInputStream(yamlFile);
-                InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, StandardCharsets.UTF_8)
+                InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream)
         ) {
             return new Yaml(new ShardingSphereYamlConstructor(classType)).loadAs(inputStreamReader, classType);
         }
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/DataNodeUtilTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/DataNodeUtilTest.java
index e51f5f7..5506042 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/DataNodeUtilTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/DataNodeUtilTest.java
@@ -38,7 +38,7 @@ public final class DataNodeUtilTest {
         expected.put("ds_0", Arrays.asList(new DataNode("ds_0.tbl_0"), new DataNode("ds_0.tbl_1")));
         expected.put("ds_1", Arrays.asList(new DataNode("ds_1.tbl_0"), new DataNode("ds_1.tbl_1")));
         List<DataNode> dataNodes = new LinkedList<>();
-        expected.values().stream().forEach(dataNodes::addAll);
+        expected.values().forEach(dataNodes::addAll);
         Map<String, List<DataNode>> actual = DataNodeUtil.getDataNodeGroups(dataNodes);
         assertThat(actual, is(expected));
     }
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/DataNodesTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/DataNodesTest.java
index 663ea6c..b1e11f4 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/DataNodesTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/rule/DataNodesTest.java
@@ -25,6 +25,7 @@ import org.apache.shardingsphere.infra.rule.fixture.TestTableRule;
 import org.junit.Test;
 
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.LinkedList;
@@ -32,7 +33,6 @@ import java.util.List;
 import java.util.Map;
 
 import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
 
 public final class DataNodesTest {
@@ -41,9 +41,9 @@ public final class DataNodesTest {
     
     private final String logicTableName2 = "dept";
     
-    private final List<String> dataSourceNames1 = Arrays.asList("master_db_1", "master_db_2", "slave_db_1", "slave_db_2");
+    private final Collection<String> dataSourceNames1 = Arrays.asList("master_db_1", "master_db_2", "slave_db_1", "slave_db_2");
     
-    private final List<String> dataSourceNames2 = Arrays.asList("master_db_3", "slave_db_3");
+    private final Collection<String> dataSourceNames2 = Arrays.asList("master_db_3", "slave_db_3");
     
     @Test(expected = NullPointerException.class)
     public void assertWrongTable() {
@@ -53,22 +53,21 @@ public final class DataNodesTest {
     
     @Test
     public void assertGetEmpty() {
-        DataNodes nonRoutedRuleDataNodes = getNonRoutedRuleDataNodes();
-        assertThat(nonRoutedRuleDataNodes.getDataNodes("tableName"), is(Collections.emptyList()));
+        assertThat(getNonRoutedRuleDataNodes().getDataNodes("tableName"), is(Collections.emptyList()));
     }
     
     @Test
     public void assertGetDataNodes() {
         DataNodes dataNodes = getRoutedRuleDataNodes();
-        assertEquals(dataNodes.getDataNodes(logicTableName1), getExpectedDataNodes(dataSourceNames1, logicTableName1));
-        assertEquals(dataNodes.getDataNodes(logicTableName2), getExpectedDataNodes(dataSourceNames2, logicTableName2));
+        assertThat(dataNodes.getDataNodes(logicTableName1), is(getExpectedDataNodes(dataSourceNames1, logicTableName1)));
+        assertThat(dataNodes.getDataNodes(logicTableName2), is(getExpectedDataNodes(dataSourceNames2, logicTableName2)));
     }
     
     @Test
     public void assertGetDataNodeGroups() {
         DataNodes dataNodes = getRoutedRuleDataNodes();
-        assertEquals(dataNodes.getDataNodeGroups(logicTableName1), getExpectedDataNodeGroups(dataSourceNames1, logicTableName1));
-        assertEquals(dataNodes.getDataNodeGroups(logicTableName2), getExpectedDataNodeGroups(dataSourceNames2, logicTableName2));
+        assertThat(dataNodes.getDataNodeGroups(logicTableName1), is(getExpectedDataNodeGroups(dataSourceNames1, logicTableName1)));
+        assertThat(dataNodes.getDataNodeGroups(logicTableName2), is(getExpectedDataNodeGroups(dataSourceNames2, logicTableName2)));
     }
     
     private DataNodes getRoutedRuleDataNodes() {
@@ -83,18 +82,18 @@ public final class DataNodesTest {
         return new DataNodes(Collections.singleton(new TestShardingSphereRule()));
     }
     
-    private LinkedList<DataNode> getExpectedDataNodes(final List<String> dataSourceNames, final String logicTableName) {
-        LinkedList<DataNode> result = new LinkedList<>();
+    private Collection<DataNode> getExpectedDataNodes(final Collection<String> dataSourceNames, final String logicTableName) {
+        Collection<DataNode> result = new LinkedList<>();
         for (String each : dataSourceNames) {
             result.add(new DataNode(each, logicTableName));
         }
         return result;
     }
     
-    private Map<String, List<DataNode>> getExpectedDataNodeGroups(final List<String> dataSourceNames, final String logicTableName) {
-        Map<String, List<DataNode>> result = new LinkedHashMap<>(dataSourceNames.size(), 1);
+    private Map<String, Collection<DataNode>> getExpectedDataNodeGroups(final Collection<String> dataSourceNames, final String logicTableName) {
+        Map<String, Collection<DataNode>> result = new LinkedHashMap<>(dataSourceNames.size(), 1);
         for (String each : dataSourceNames) {
-            LinkedList<DataNode> self = new LinkedList<>();
+            Collection<DataNode> self = new LinkedList<>();
             self.add(new DataNode(each, logicTableName));
             result.put(each, self);
         }
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/kernel/ExecutorKernel.java b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/kernel/ExecutorKernel.java
index 626fc8f..241a598 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/kernel/ExecutorKernel.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/kernel/ExecutorKernel.java
@@ -108,7 +108,7 @@ public final class ExecutorKernel implements AutoCloseable {
     }
     
     private <I, O> ListenableFuture<Collection<O>> asyncExecute(final InputGroup<I> inputGroup, final ExecutorCallback<I, O> callback) {
-        final Map<String, Object> dataMap = ExecutorDataMap.getValue();
+        Map<String, Object> dataMap = ExecutorDataMap.getValue();
         return executorService.getExecutorService().submit(() -> callback.execute(inputGroup.getInputs(), false, dataMap));
     }
     
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/SQLUnit.java b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/SQLUnit.java
index 00bd074..f1f785e 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/SQLUnit.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/context/SQLUnit.java
@@ -29,7 +29,7 @@ import java.util.List;
  */
 @RequiredArgsConstructor
 @Getter
-@EqualsAndHashCode(of = { "sql" })
+@EqualsAndHashCode(of = "sql")
 @ToString
 public final class SQLUnit {
     
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/resourced/jdbc/executor/ExecutorExceptionHandler.java b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/resourced/jdbc/executor/ExecutorExceptionHandler.java
index 166a696..6d042e1 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/resourced/jdbc/executor/ExecutorExceptionHandler.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/resourced/jdbc/executor/ExecutorExceptionHandler.java
@@ -39,7 +39,7 @@ public final class ExecutorExceptionHandler {
      * @param isExceptionThrown throw exception if error occur or not
      */
     public static void setExceptionThrown(final boolean isExceptionThrown) {
-        ExecutorExceptionHandler.IS_EXCEPTION_THROWN.set(isExceptionThrown);
+        IS_EXCEPTION_THROWN.set(isExceptionThrown);
     }
     
     /**
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/SQLToken.java b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/SQLToken.java
index 707ba2e..fd27d4e 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/SQLToken.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-engine/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/SQLToken.java
@@ -31,6 +31,6 @@ public abstract class SQLToken implements Comparable<SQLToken> {
     
     @Override
     public final int compareTo(final SQLToken sqlToken) {
-        return startIndex - sqlToken.getStartIndex();
+        return startIndex - sqlToken.startIndex;
     }
 }
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-test/src/main/java/org/apache/shardingsphere/infra/rewrite/parameterized/engine/AbstractSQLRewriterParameterizedTest.java b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-test/src/main/java/org/apache/shardingsphere/infra/rewrite/parameterized/engine/AbstractSQLRewriterParameterizedTest.java
index 91e1f69..a248349 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-test/src/main/java/org/apache/shardingsphere/infra/rewrite/parameterized/engine/AbstractSQLRewriterParameterizedTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/shardingsphere-infra-rewrite-test/src/main/java/org/apache/shardingsphere/infra/rewrite/parameterized/engine/AbstractSQLRewriterParameterizedTest.java
@@ -38,8 +38,9 @@ public abstract class AbstractSQLRewriterParameterizedTest {
     
     private final SQLRewriteEngineTestParameters testParameters;
     
+    @SuppressWarnings("JUnitTestMethodInProductSource")
     @Test
-    public void assertRewrite() throws IOException {
+    public final void assertRewrite() throws IOException {
         Collection<SQLRewriteUnit> actual = createSQLRewriteUnits();
         assertThat(actual.size(), is(testParameters.getOutputSQLs().size()));
         int count = 0;
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/cases/assertion/IntegrateTestCasesLoader.java b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/cases/assertion/IntegrateTestCasesLoader.java
index ce4a673..e051e8b 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/cases/assertion/IntegrateTestCasesLoader.java
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/cases/assertion/IntegrateTestCasesLoader.java
@@ -93,7 +93,7 @@ public final class IntegrateTestCasesLoader {
     }
     
     private static List<String> getFiles(final URL url, final SQLType sqlType) throws IOException, URISyntaxException {
-        final List<String> result = new LinkedList<>();
+        List<String> result = new LinkedList<>();
         Files.walkFileTree(Paths.get(url.toURI()), new SimpleFileVisitor<Path>() {
             
             @Override
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/cases/dataset/DataSet.java b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/cases/dataset/DataSet.java
index f923b7f..16e8b26 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/cases/dataset/DataSet.java
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/cases/dataset/DataSet.java
@@ -42,10 +42,10 @@ public final class DataSet {
     private int updateCount;
     
     @XmlElement(name = "metadata")
-    private List<DataSetMetadata> metadataList = new LinkedList<>();
+    private final List<DataSetMetadata> metadataList = new LinkedList<>();
     
     @XmlElement(name = "row")
-    private List<DataSetRow> rows = new LinkedList<>();
+    private final List<DataSetRow> rows = new LinkedList<>();
     
     /**
      * Find data set meta data via table name.
@@ -74,7 +74,7 @@ public final class DataSet {
                 return each;
             }
         }
-        throw new IllegalArgumentException(String.format("Cannot find data node: %s", dataNode.toString()));
+        throw new IllegalArgumentException(String.format("Cannot find data node: %s", dataNode));
     }
     
     private boolean contains(final List<String> dataNodes, final DataNode dataNode) {
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/BaseIT.java b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/BaseIT.java
index 4fd5200..02877c7 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/BaseIT.java
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/BaseIT.java
@@ -118,7 +118,7 @@ public abstract class BaseIT {
                 SchemaEnvironmentManager.createDatabase(each);
             }
         } catch (final JAXBException | IOException | SQLException ex) {
-            ex.printStackTrace();
+            throw new RuntimeException(ex);
         }
     }
     
@@ -128,7 +128,7 @@ public abstract class BaseIT {
                 SchemaEnvironmentManager.createTable(each);
             }
         } catch (final JAXBException | IOException | SQLException ex) {
-            ex.printStackTrace();
+            throw new RuntimeException(ex);
         }
     }
     
@@ -138,7 +138,7 @@ public abstract class BaseIT {
                 SchemaEnvironmentManager.dropDatabase(each);
             }
         } catch (final JAXBException | IOException ex) {
-            ex.printStackTrace();
+            throw new RuntimeException(ex);
         }
     }
     
@@ -148,7 +148,7 @@ public abstract class BaseIT {
                 SchemaEnvironmentManager.dropTable(each);
             }
         } catch (final JAXBException | IOException ex) {
-            ex.printStackTrace();
+            throw new RuntimeException(ex);
         }
     }
     
@@ -163,7 +163,7 @@ public abstract class BaseIT {
         int retryCount = 1;
         while (!isProxyAvailable() && retryCount < 30) {
             try {
-                Thread.sleep(1000);
+                Thread.sleep(1000L);
             } catch (final InterruptedException ignore) {
             }
             retryCount++;
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/BatchIT.java b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/BatchIT.java
index e7f11f6..b4ff21f 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/BatchIT.java
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/BatchIT.java
@@ -57,7 +57,7 @@ import java.util.Set;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 
-@Getter(value = AccessLevel.PROTECTED)
+@Getter(AccessLevel.PROTECTED)
 public abstract class BatchIT extends BaseIT {
     
     private static DataSetEnvironmentManager dataSetEnvironmentManager;
@@ -102,9 +102,9 @@ public abstract class BatchIT extends BaseIT {
     
     protected final void assertDataSet(final int[] actualUpdateCounts) throws SQLException, IOException, JAXBException {
         Collection<DataSet> expectedList = new LinkedList<>();
-        assertThat(actualUpdateCounts.length, is(getExpectedDataFiles().size()));
+        assertThat(actualUpdateCounts.length, is(expectedDataFiles.size()));
         int count = 0;
-        for (String each : getExpectedDataFiles()) {
+        for (String each : expectedDataFiles) {
             try (FileReader reader = new FileReader(each)) {
                 DataSet expected = (DataSet) JAXBContext.newInstance(DataSet.class).createUnmarshaller().unmarshal(reader);
                 assertThat(actualUpdateCounts[count], is(expected.getUpdateCount()));
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/SingleIT.java b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/SingleIT.java
index d83aef4..4910f4d 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/SingleIT.java
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/SingleIT.java
@@ -49,7 +49,7 @@ public abstract class SingleIT extends BaseIT {
         super(ruleType, databaseType);
         this.assertion = assertion;
         this.caseType = caseType;
-        this.originalSQL = sql;
+        originalSQL = sql;
         this.sql = convert(sql);
         expectedDataFile = getExpectedDataFile(path, ruleType, databaseType, null != assertion ? assertion.getExpectedDataFile() : null);
     }
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/ddl/BaseDDLIT.java b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/ddl/BaseDDLIT.java
index 0f7b38a..de632dd 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/ddl/BaseDDLIT.java
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/ddl/BaseDDLIT.java
@@ -91,7 +91,7 @@ public abstract class BaseDDLIT extends SingleIT {
     
     protected final void assertMetadata(final Connection connection) throws IOException, JAXBException, SQLException {
         if (null == assertion.getExpectedDataFile()) {
-            log.warn("Have empty expectedDataFile `{}`", super.getSql());
+            log.warn("Have empty expectedDataFile `{}`", getSql());
             return;
         }
         DataSet expected;
@@ -109,7 +109,7 @@ public abstract class BaseDDLIT extends SingleIT {
         try {
             assertMetadata(actualColumns, actualIndexes, expected.findMetadata(tableName));
         } catch (final AssertionError ex) {
-            System.out.println(String.format("[ERROR] SQL::%s, Parameter::[%s], Expect::%s", getOriginalSQL(), getAssertion().getParameters(), getAssertion().getExpectedDataFile()));
+            log.error("[ERROR] SQL::{}, Parameter::{}, Expect::{}", getOriginalSQL(), getAssertion().getParameters(), getAssertion().getExpectedDataFile());
             throw ex;
         }
     }
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/BaseDMLIT.java b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/BaseDMLIT.java
index b68465b..bc6d99a 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/BaseDMLIT.java
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/BaseDMLIT.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.dbtest.engine.dml;
 
+import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.dbtest.cases.assertion.dml.DMLIntegrateTestCaseAssertion;
 import org.apache.shardingsphere.dbtest.cases.assertion.root.SQLCaseType;
 import org.apache.shardingsphere.dbtest.cases.dataset.DataSet;
@@ -51,6 +52,7 @@ import java.util.List;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 
+@Slf4j
 public abstract class BaseDMLIT extends SingleIT {
     
     private final DataSetEnvironmentManager dataSetEnvironmentManager;
@@ -98,7 +100,7 @@ public abstract class BaseDMLIT extends SingleIT {
                 }
             }
         } catch (final AssertionError ex) {
-            System.out.println(String.format("[ERROR] SQL::%s, Parameter::[%s], Expect::%s", getOriginalSQL(), getAssertion().getParameters(), getAssertion().getExpectedDataFile()));
+            log.error("[ERROR] SQL::{}, Parameter::{}, Expect::{}", getOriginalSQL(), getAssertion().getParameters(), getAssertion().getExpectedDataFile());
             throw ex;
         }
     }
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dql/BaseDQLIT.java b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dql/BaseDQLIT.java
index 990c652..d0735b7 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dql/BaseDQLIT.java
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dql/BaseDQLIT.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.dbtest.engine.dql;
 
+import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.dbtest.cases.assertion.dql.DQLIntegrateTestCaseAssertion;
 import org.apache.shardingsphere.dbtest.cases.dataset.DataSet;
 import org.apache.shardingsphere.dbtest.cases.dataset.metadata.DataSetColumn;
@@ -54,6 +55,7 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
+@Slf4j
 public abstract class BaseDQLIT extends SingleIT {
     
     public BaseDQLIT(final String path, final DQLIntegrateTestCaseAssertion assertion, final String ruleType,
@@ -111,7 +113,7 @@ public abstract class BaseDQLIT extends SingleIT {
             assertMetaData(resultSet.getMetaData(), expectedColumns);
             assertRows(resultSet, expected.getRows());
         } catch (final AssertionError ex) {
-            System.out.println(String.format("[ERROR] SQL::%s, Parameter::[%s], Expect::%s", getOriginalSQL(), getAssertion().getParameters(), getAssertion().getExpectedDataFile()));
+            log.error("[ERROR] SQL::{}, Parameter::[{}], Expect::{}", getOriginalSQL(), getAssertion().getParameters(), getAssertion().getExpectedDataFile());
             throw ex;
         }
     }
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/util/IntegrateTestParameters.java b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/util/IntegrateTestParameters.java
index 06d278f..f0a88a2 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/util/IntegrateTestParameters.java
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/util/IntegrateTestParameters.java
@@ -23,6 +23,7 @@ import com.google.common.base.Strings;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.dbtest.cases.assertion.IntegrateTestCasesLoader;
 import org.apache.shardingsphere.dbtest.cases.assertion.root.IntegrateTestCase;
 import org.apache.shardingsphere.dbtest.cases.assertion.root.IntegrateTestCaseAssertion;
@@ -45,6 +46,7 @@ import java.util.stream.Collectors;
  * Integrate test parameters.
  */
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
+@Slf4j
 public final class IntegrateTestParameters {
     
     private static final IntegrateTestCasesLoader INTEGRATE_TEST_CASES_LOADER = IntegrateTestCasesLoader.getInstance();
@@ -151,12 +153,12 @@ public final class IntegrateTestParameters {
         for (Entry<DatabaseType, Collection<Object[]>> entry : disabledCases.entrySet()) {
             disabledPlan.add(String.format("%s(%s)", entry.getKey().getName(), entry.getValue().size() * factor));
         }
-        System.out.println("[INFO] ======= Test Plan =======");
+        log.info("[INFO] ======= Test Plan =======");
         String summary = String.format("[%s] Total: %s, Active: %s, Disabled: %s %s",
             disabledPlan.isEmpty() ? "INFO" : "WARN",
             (availableCases.values().stream().mapToLong(Collection::size).sum() + disabledCases.values().stream().mapToLong(Collection::size).sum()) * factor,
             activePlan.isEmpty() ? 0 : Joiner.on(", ").join(activePlan), disabledPlan.isEmpty() ? 0 : Joiner.on(", ").join(disabledPlan), System.lineSeparator());
-        System.out.println(summary);
+        log.info(summary);
     }
     
     @SneakyThrows
diff --git a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/env/IntegrateTestEnvironment.java b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/env/IntegrateTestEnvironment.java
index 60a6406..d6ed244 100644
--- a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/env/IntegrateTestEnvironment.java
+++ b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/env/IntegrateTestEnvironment.java
@@ -54,7 +54,7 @@ public final class IntegrateTestEnvironment {
         try {
             prop.load(IntegrateTestEnvironment.class.getClassLoader().getResourceAsStream(isProxyEnvironment() ? "integrate/env-proxy.properties" : "integrate/env.properties"));
         } catch (final IOException ex) {
-            ex.printStackTrace();
+            throw new RuntimeException(ex);
         }
         runAdditionalTestCases = Boolean.parseBoolean(prop.getProperty("run.additional.cases"));
         ruleTypes = Splitter.on(",").trimResults().splitToList(prop.getProperty("rule.types"));
@@ -95,7 +95,7 @@ public final class IntegrateTestEnvironment {
         try {
             prop.load(IntegrateTestEnvironment.class.getClassLoader().getResourceAsStream("integrate/profile.properties"));
         } catch (final IOException ex) {
-            ex.printStackTrace();
+            throw new RuntimeException(ex);
         }
         return prop.getProperty("mode");
     }
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/PreparedStatementExecutor.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/PreparedStatementExecutor.java
index c421187..6052ac4 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/PreparedStatementExecutor.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/PreparedStatementExecutor.java
@@ -82,15 +82,15 @@ public final class PreparedStatementExecutor {
             protected QueryResult executeSQL(final String sql, final Statement statement, final ConnectionMode connectionMode) throws SQLException { 
                 return createQueryResult(statement, connectionMode);
             }
+            
+            private QueryResult createQueryResult(final Statement statement, final ConnectionMode connectionMode) throws SQLException {
+                PreparedStatement preparedStatement = (PreparedStatement) statement;
+                ResultSet resultSet = preparedStatement.executeQuery();
+                return ConnectionMode.MEMORY_STRICTLY == connectionMode ? new StreamQueryResult(resultSet) : new MemoryQueryResult(resultSet);
+            }
         };
     }
     
-    private QueryResult createQueryResult(final Statement statement, final ConnectionMode connectionMode) throws SQLException {
-        PreparedStatement preparedStatement = (PreparedStatement) statement;
-        ResultSet resultSet = preparedStatement.executeQuery();
-        return ConnectionMode.MEMORY_STRICTLY == connectionMode ? new StreamQueryResult(resultSet) : new MemoryQueryResult(resultSet);
-    }
-    
     /**
      * Execute update.
      * 
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/StatementExecutor.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/StatementExecutor.java
index 65393f4..1ccb974 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/StatementExecutor.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/StatementExecutor.java
@@ -78,15 +78,15 @@ public final class StatementExecutor {
             protected QueryResult executeSQL(final String sql, final Statement statement, final ConnectionMode connectionMode) throws SQLException {
                 return createQueryResult(sql, statement, connectionMode);
             }
+            
+            private QueryResult createQueryResult(final String sql, final Statement statement, final ConnectionMode connectionMode) throws SQLException {
+                ResultSet resultSet = statement.executeQuery(sql);
+                return ConnectionMode.MEMORY_STRICTLY == connectionMode ? new StreamQueryResult(resultSet) : new MemoryQueryResult(resultSet);
+            }
         };
         return sqlExecutor.execute(inputGroups, sqlExecutorCallback);
     }
     
-    private QueryResult createQueryResult(final String sql, final Statement statement, final ConnectionMode connectionMode) throws SQLException {
-        ResultSet resultSet = statement.executeQuery(sql);
-        return ConnectionMode.MEMORY_STRICTLY == connectionMode ? new StreamQueryResult(resultSet) : new MemoryQueryResult(resultSet);
-    }
-    
     /**
      * Execute update.
      * 
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/batch/BatchExecutionUnit.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/batch/BatchExecutionUnit.java
index 223bd0d..00e6162 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/batch/BatchExecutionUnit.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/executor/batch/BatchExecutionUnit.java
@@ -36,7 +36,7 @@ import java.util.Map;
  */
 @RequiredArgsConstructor
 @Getter
-@EqualsAndHashCode(of = { "executionUnit" })
+@EqualsAndHashCode(of = "executionUnit")
 @ToString
 public final class BatchExecutionUnit {
     
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractStatementAdapter.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractStatementAdapter.java
index 355bb7b..f6a2758 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractStatementAdapter.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractStatementAdapter.java
@@ -79,7 +79,7 @@ public abstract class AbstractStatementAdapter extends AbstractUnsupportedOperat
     @SuppressWarnings({"unchecked", "rawtypes"})
     @Override
     public final void setFetchSize(final int rows) throws SQLException {
-        this.fetchSize = rows;
+        fetchSize = rows;
         recordMethodInvocation(targetClass, "setFetchSize", new Class[] {int.class}, new Object[] {rows});
         forceExecuteTemplate.execute((Collection) getRoutedStatements(), statement -> statement.setFetchSize(rows));
     }
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/invocation/SetParameterMethodInvocation.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/invocation/SetParameterMethodInvocation.java
index c4c4d6e..d94c6ac 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/invocation/SetParameterMethodInvocation.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/invocation/SetParameterMethodInvocation.java
@@ -34,7 +34,7 @@ public final class SetParameterMethodInvocation extends JdbcMethodInvocation {
     
     public SetParameterMethodInvocation(final Method method, final Object[] arguments, final Object value) {
         super(method, arguments);
-        this.index = (int) arguments[0];
+        index = (int) arguments[0];
         this.value = value;
     }
     
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnection.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnection.java
index b457c42..5c39704 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnection.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnection.java
@@ -124,7 +124,7 @@ public final class ShardingSphereConnection extends AbstractConnectionAdapter {
             super.setAutoCommit(autoCommit);
             return;
         }
-        if (autoCommit && !shardingTransactionManager.isInTransaction() || !autoCommit && shardingTransactionManager.isInTransaction()) {
+        if (autoCommit != shardingTransactionManager.isInTransaction()) {
             return;
         }
         if (autoCommit && shardingTransactionManager.isInTransaction()) {
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
index 680ec8a..3e4ae5c 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSource.java
@@ -51,6 +51,7 @@ public final class ShardingSphereDataSource extends AbstractUnsupportedOperation
     
     private final SchemaContexts schemaContexts;
     
+    @SuppressWarnings("UseOfSystemOutOrSystemErr")
     @Setter
     private PrintWriter logWriter = new PrintWriter(System.out);
     
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaData.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaData.java
index be903fa..85902e4 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaData.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/datasource/metadata/ShardingSphereDatabaseMetaData.java
@@ -23,9 +23,10 @@ import org.apache.shardingsphere.driver.jdbc.adapter.AdaptedDatabaseMetaData;
 import org.apache.shardingsphere.driver.jdbc.core.resultset.DatabaseMetaDataResultSet;
 import org.apache.shardingsphere.infra.database.DefaultSchema;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
-import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import org.apache.shardingsphere.infra.rule.DataNodeRoutedRule;
+import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 
+import java.security.SecureRandom;
 import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.ResultSet;
@@ -49,7 +50,7 @@ public final class ShardingSphereDatabaseMetaData extends AdaptedDatabaseMetaDat
     
     private final ShardingSphereMetaData shardingSphereMetaData;
     
-    private final Random random = new Random();
+    private final Random random = new SecureRandom();
     
     private String currentDataSourceName;
     
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/DatabaseMetaDataResultSet.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/DatabaseMetaDataResultSet.java
index 0edb416..21d4504 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/DatabaseMetaDataResultSet.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/DatabaseMetaDataResultSet.java
@@ -34,9 +34,9 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedList;
+import java.util.List;
 import java.util.Map;
 import java.util.Optional;
-import java.util.Set;
 
 /**
  * Database meta data result set.
@@ -84,8 +84,8 @@ public final class DatabaseMetaDataResultSet extends AbstractUnsupportedDatabase
     }
     
     private Iterator<DatabaseMetaDataObject> initIterator(final ResultSet resultSet) throws SQLException {
-        LinkedList<DatabaseMetaDataObject> result = new LinkedList<>();
-        Set<DatabaseMetaDataObject> removeDuplicationSet = new HashSet<>();
+        Collection<DatabaseMetaDataObject> result = new LinkedList<>();
+        Collection<DatabaseMetaDataObject> removeDuplicationSet = new HashSet<>();
         int tableNameColumnIndex = columnLabelIndexMap.getOrDefault(TABLE_NAME, -1);
         int indexNameColumnIndex = columnLabelIndexMap.getOrDefault(INDEX_NAME, -1);
         while (resultSet.next()) {
@@ -376,7 +376,7 @@ public final class DatabaseMetaDataResultSet extends AbstractUnsupportedDatabase
     @EqualsAndHashCode
     private static final class DatabaseMetaDataObject {
         
-        private final ArrayList<Object> objects;
+        private final List<Object> objects;
         
         private DatabaseMetaDataObject(final int columnCount) {
             objects = new ArrayList<>(columnCount);
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtil.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtil.java
index 21b8863..74f5a88 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtil.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtil.java
@@ -20,23 +20,23 @@ package org.apache.shardingsphere.driver.jdbc.core.resultset;
 import com.google.common.primitives.Ints;
 import com.google.common.primitives.Longs;
 import com.google.common.primitives.Shorts;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.time.ZoneId;
 import lombok.AccessLevel;
-import lombok.RequiredArgsConstructor;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.exception.ShardingSphereException;
 
 import java.math.BigDecimal;
 import java.sql.Time;
 import java.sql.Timestamp;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.ZoneId;
 import java.util.Date;
 
 /**
- * ResultSet utility class.
+ * ResultSet utility.
  */
-@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class ResultSetUtil {
     
     /**
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractSQLTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractSQLTest.java
index 08170a6..9109a9a 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractSQLTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractSQLTest.java
@@ -36,6 +36,7 @@ import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 
 public abstract class AbstractSQLTest {
@@ -61,7 +62,7 @@ public abstract class AbstractSQLTest {
     }
     
     private static void createDataSources(final String dbName, final DatabaseType databaseType) {
-        DATABASE_TYPE_MAP.computeIfAbsent(databaseType, k -> new LinkedHashMap<>()).put(dbName, buildDataSource(dbName, databaseType));
+        DATABASE_TYPE_MAP.computeIfAbsent(databaseType, key -> new LinkedHashMap<>()).put(dbName, buildDataSource(dbName, databaseType));
         createSchema(dbName, databaseType);
     }
     
@@ -79,10 +80,10 @@ public abstract class AbstractSQLTest {
     private static void createSchema(final String dbName, final DatabaseType databaseType) {
         try {
             Connection conn = DATABASE_TYPE_MAP.get(databaseType).get(dbName).getConnection();
-            RunScript.execute(conn, new InputStreamReader(AbstractSQLTest.class.getClassLoader().getResourceAsStream("jdbc_init.sql")));
+            RunScript.execute(conn, new InputStreamReader(Objects.requireNonNull(AbstractSQLTest.class.getClassLoader().getResourceAsStream("jdbc_init.sql"))));
             conn.close();
         } catch (final SQLException ex) {
-            ex.printStackTrace();
+            throw new RuntimeException(ex);
         }
     }
 }
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForEncryptTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForEncryptTest.java
index f8f67b4..7d42b38 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForEncryptTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForEncryptTest.java
@@ -39,6 +39,7 @@ import java.sql.SQLException;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Properties;
 
 public abstract class AbstractShardingSphereDataSourceForEncryptTest extends AbstractSQLTest {
@@ -79,9 +80,9 @@ public abstract class AbstractShardingSphereDataSourceForEncryptTest extends Abs
     @Before
     public void initTable() {
         try (ShardingSphereConnection connection = encryptDataSource.getConnection()) {
-            RunScript.execute(connection, new InputStreamReader(AbstractSQLTest.class.getClassLoader().getResourceAsStream("encrypt_data.sql")));
+            RunScript.execute(connection, new InputStreamReader(Objects.requireNonNull(AbstractSQLTest.class.getClassLoader().getResourceAsStream("encrypt_data.sql"))));
         } catch (final SQLException ex) {
-            ex.printStackTrace();
+            throw new RuntimeException(ex);
         }
     }
     
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForShardingTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForShardingTest.java
index 6eed3c1..88134ad 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForShardingTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/common/base/AbstractShardingSphereDataSourceForShardingTest.java
@@ -35,6 +35,7 @@ import java.sql.SQLException;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 public abstract class AbstractShardingSphereDataSourceForShardingTest extends AbstractSQLTest {
     
@@ -65,10 +66,10 @@ public abstract class AbstractShardingSphereDataSourceForShardingTest extends Ab
     public void initTable() {
         try {
             ShardingSphereConnection conn = shardingSphereDataSource.getConnection();
-            RunScript.execute(conn, new InputStreamReader(AbstractSQLTest.class.getClassLoader().getResourceAsStream("jdbc_data.sql")));
+            RunScript.execute(conn, new InputStreamReader(Objects.requireNonNull(AbstractSQLTest.class.getClassLoader().getResourceAsStream("jdbc_data.sql"))));
             conn.close();
         } catch (final SQLException ex) {
-            ex.printStackTrace();
+            throw new RuntimeException(ex);
         }
     }
     
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
index 1f0015f..77d7dce 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
@@ -167,9 +167,9 @@ public final class StatementAdapterTest extends AbstractShardingSphereDataSource
     
     @Test
     public void assertOverMaxUpdateRow() throws SQLException {
-        final Statement statement1 = Mockito.mock(Statement.class);
+        Statement statement1 = Mockito.mock(Statement.class);
         when(statement1.getUpdateCount()).thenReturn(Integer.MAX_VALUE);
-        final Statement statement2 = Mockito.mock(Statement.class);
+        Statement statement2 = Mockito.mock(Statement.class);
         when(statement2.getUpdateCount()).thenReturn(Integer.MAX_VALUE);
         ShardingSphereStatement shardingSphereStatement1 = spy(new ShardingSphereStatement(getShardingSphereDataSource().getConnection()));
         doReturn(true).when(shardingSphereStatement1).isAccumulate();
@@ -183,9 +183,9 @@ public final class StatementAdapterTest extends AbstractShardingSphereDataSource
     
     @Test
     public void assertNotAccumulateUpdateRow() throws SQLException {
-        final Statement statement1 = Mockito.mock(Statement.class);
+        Statement statement1 = Mockito.mock(Statement.class);
         when(statement1.getUpdateCount()).thenReturn(10);
-        final Statement statement2 = Mockito.mock(Statement.class);
+        Statement statement2 = Mockito.mock(Statement.class);
         when(statement2.getUpdateCount()).thenReturn(10);
         ShardingSphereStatement shardingSphereStatement1 = spy(new ShardingSphereStatement(getShardingSphereDataSource().getConnection()));
         doReturn(false).when(shardingSphereStatement1).isAccumulate();
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtilTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtilTest.java
index c13041d..453c1de 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtilTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ResultSetUtilTest.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.driver.jdbc.core.resultset;
 import com.google.common.primitives.Ints;
 import com.google.common.primitives.Longs;
 import com.google.common.primitives.Shorts;
-import java.time.LocalDateTime;
 import org.apache.shardingsphere.infra.exception.ShardingSphereException;
 import org.junit.Assert;
 import org.junit.Test;
@@ -28,6 +27,7 @@ import org.junit.Test;
 import java.math.BigDecimal;
 import java.sql.Time;
 import java.sql.Timestamp;
+import java.time.LocalDateTime;
 import java.util.Date;
 
 import static org.hamcrest.CoreMatchers.is;
@@ -57,8 +57,8 @@ public final class ResultSetUtilTest {
         assertThat(ResultSetUtil.convertValue((short) 1, short.class), is((short) 1));
         assertThat(ResultSetUtil.convertValue(new BigDecimal("1"), int.class), is(1));
         assertThat(ResultSetUtil.convertValue(new BigDecimal("1"), long.class), is(1L));
-        assertThat(ResultSetUtil.convertValue(new BigDecimal("1"), double.class), is(1d));
-        assertThat(ResultSetUtil.convertValue(new BigDecimal("1"), float.class), is(1f));
+        assertThat(ResultSetUtil.convertValue(new BigDecimal("1"), double.class), is(1.0d));
+        assertThat(ResultSetUtil.convertValue(new BigDecimal("1"), float.class), is(1.0f));
         assertThat(ResultSetUtil.convertValue(new BigDecimal("1"), BigDecimal.class), is(new BigDecimal("1")));
         assertThat(ResultSetUtil.convertValue((short) 1, BigDecimal.class), is(new BigDecimal("1")));
         assertThat(ResultSetUtil.convertValue(new Date(0L), Date.class), is(new Date(0L)));
@@ -78,8 +78,8 @@ public final class ResultSetUtilTest {
         assertThat(ResultSetUtil.convertValue(null, short.class), is((short) 0));
         assertThat(ResultSetUtil.convertValue(null, int.class), is(0));
         assertThat(ResultSetUtil.convertValue(null, long.class), is(0L));
-        assertThat(ResultSetUtil.convertValue(null, double.class), is(0D));
-        assertThat(ResultSetUtil.convertValue(null, float.class), is(0F));
+        assertThat(ResultSetUtil.convertValue(null, double.class), is(0.0D));
+        assertThat(ResultSetUtil.convertValue(null, float.class), is(0.0F));
         assertThat(ResultSetUtil.convertValue(null, String.class), is((Object) null));
         assertThat(ResultSetUtil.convertValue(null, Object.class), is((Object) null));
         assertThat(ResultSetUtil.convertValue(null, BigDecimal.class), is((Object) null));
@@ -98,14 +98,14 @@ public final class ResultSetUtilTest {
     
     @Test
     public void assertConvertByteArrayValueSuccess() {
-        byte[] bytesValue = new byte[] {};
+        byte[] bytesValue = {};
         assertThat(ResultSetUtil.convertValue(bytesValue, byte.class), is(bytesValue));
         assertThat(ResultSetUtil.convertValue(new byte[] {1}, byte.class), is((byte) 1));
         assertThat(ResultSetUtil.convertValue(Shorts.toByteArray((short) 1), short.class), is((short) 1));
         assertThat(ResultSetUtil.convertValue(Ints.toByteArray(1), int.class), is(1));
         assertThat(ResultSetUtil.convertValue(Longs.toByteArray(1L), long.class), is(1L));
-        assertThat(ResultSetUtil.convertValue(Longs.toByteArray(1L), double.class), is(1d));
-        assertThat(ResultSetUtil.convertValue(Longs.toByteArray(1L), float.class), is(1f));
+        assertThat(ResultSetUtil.convertValue(Longs.toByteArray(1L), double.class), is(1.0d));
+        assertThat(ResultSetUtil.convertValue(Longs.toByteArray(1L), float.class), is(1.0f));
         assertThat(ResultSetUtil.convertValue(Longs.toByteArray(1L), BigDecimal.class), is(new BigDecimal("1")));
     }
     
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/EncryptStatementTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/EncryptStatementTest.java
index 011f343..dcccb91 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/EncryptStatementTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/EncryptStatementTest.java
@@ -203,7 +203,7 @@ public final class EncryptStatementTest extends AbstractShardingSphereDataSource
             ResultSet resultSet = statement.executeQuery(SHOW_COLUMNS_SQL);
             int count = 0;
             while (resultSet.next()) {
-                if (resultSet.getString("FIELD").equals("pwd")) {
+                if ("pwd".equals(resultSet.getString("FIELD"))) {
                     count++;
                 }
             }
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShadowPreparedStatementTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShadowPreparedStatementTest.java
index 50f7231..3bb67ff 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShadowPreparedStatementTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShadowPreparedStatementTest.java
@@ -122,7 +122,7 @@ public final class ShadowPreparedStatementTest extends AbstractShardingSphereDat
     }
     
     private void assertResultSet(final boolean isShadow, final int resultSetCount, final Object cipherPwd) throws SQLException {
-        final Map<String, DataSource> dataMaps = getDATABASE_TYPE_MAP().get(DatabaseTypes.getActualDatabaseType("H2"));
+        Map<String, DataSource> dataMaps = getDATABASE_TYPE_MAP().get(DatabaseTypes.getActualDatabaseType("H2"));
         DataSource dataSource = isShadow ? dataMaps.get("jdbc_1") : dataMaps.get("jdbc_0");
         try (Statement statement = dataSource.getConnection().createStatement()) {
             ResultSet resultSet = statement.executeQuery(SELECT_SQL);
@@ -136,7 +136,7 @@ public final class ShadowPreparedStatementTest extends AbstractShardingSphereDat
     }
     
     private void assertResultSet(final boolean isShadow, final int id, final int resultSetCount, final Object cipherPwd) throws SQLException {
-        final Map<String, DataSource> dataMaps = getDATABASE_TYPE_MAP().get(DatabaseTypes.getActualDatabaseType("H2"));
+        Map<String, DataSource> dataMaps = getDATABASE_TYPE_MAP().get(DatabaseTypes.getActualDatabaseType("H2"));
         DataSource dataSource = isShadow ? dataMaps.get("jdbc_1") : dataMaps.get("jdbc_0");
         try (PreparedStatement statement = dataSource.getConnection().prepareStatement(SELECT_SQL_BY_ID)) {
             statement.setObject(1, id);
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShadowStatementTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShadowStatementTest.java
index a63e28d..3ad99de 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShadowStatementTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShadowStatementTest.java
@@ -86,7 +86,7 @@ public final class ShadowStatementTest extends AbstractShardingSphereDataSourceF
     }
     
     private void assertResultSet(final boolean isShadow, final int resultSetCount, final Object cipherPwd) throws SQLException {
-        final Map<String, DataSource> dataMaps = getDATABASE_TYPE_MAP().get(DatabaseTypes.getActualDatabaseType("H2"));
+        Map<String, DataSource> dataMaps = getDATABASE_TYPE_MAP().get(DatabaseTypes.getActualDatabaseType("H2"));
         DataSource dataSource = isShadow ? dataMaps.get("jdbc_1") : dataMaps.get("jdbc_0");
         try (Statement statement = dataSource.getConnection().createStatement()) {
             ResultSet resultSet = statement.executeQuery(SELECT_SQL);
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/main/java/org/apache/shardingsphere/driver/orchestration/internal/datasource/OrchestrationShardingSphereDataSource.java b/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/main/java/org/apache/shardingsphere/driver/orchestration/internal/datasource/OrchestrationShardingSphereDataSource.java
index fd65585..6bdc9bb 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/main/java/org/apache/shardingsphere/driver/orchestration/internal/datasource/OrchestrationShardingSphereDataSource.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/main/java/org/apache/shardingsphere/driver/orchestration/internal/datasource/OrchestrationShardingSphereDataSource.java
@@ -77,6 +77,7 @@ import java.util.stream.Collectors;
  */
 public final class OrchestrationShardingSphereDataSource extends AbstractUnsupportedOperationDataSource implements AutoCloseable {
     
+    @SuppressWarnings("UseOfSystemOutOrSystemErr")
     @Getter
     @Setter
     private PrintWriter logWriter = new PrintWriter(System.out);
@@ -105,22 +106,22 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
         initCluster();
     }
     
-    public OrchestrationShardingSphereDataSource(final ShardingSphereDataSource shardingSphereDataSource, final OrchestrationConfiguration orchestrationConfig) {
+    public OrchestrationShardingSphereDataSource(final ShardingSphereDataSource dataSource, final OrchestrationConfiguration orchestrationConfig) {
         init(orchestrationConfig);
-        dataSource = shardingSphereDataSource;
+        this.dataSource = dataSource;
         initWithLocalConfiguration(null);
         disableDataSources();
-        persistMetaData(dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getMetaData().getSchema());
+        persistMetaData(this.dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getMetaData().getSchema());
         initCluster();
     }
     
-    public OrchestrationShardingSphereDataSource(final ShardingSphereDataSource shardingSphereDataSource, 
+    public OrchestrationShardingSphereDataSource(final ShardingSphereDataSource dataSource, 
                                                  final OrchestrationConfiguration orchestrationConfig, final ClusterConfiguration clusterConfiguration) {
         init(orchestrationConfig);
-        dataSource = shardingSphereDataSource;
+        this.dataSource = dataSource;
         initWithLocalConfiguration(clusterConfiguration);
         disableDataSources();
-        persistMetaData(dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getMetaData().getSchema());
+        persistMetaData(this.dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getMetaData().getSchema());
         initCluster();
     }
     
@@ -131,9 +132,9 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
     
     private ShardingSphereDataSource loadDataSource() throws SQLException {
         ConfigCenter configCenter = orchestrationFacade.getConfigCenter();
-        Map<String, DataSourceConfiguration> dataSourceConfigurations = configCenter.loadDataSourceConfigurations(DefaultSchema.LOGIC_NAME);
+        Map<String, DataSourceConfiguration> dataSourceConfigs = configCenter.loadDataSourceConfigurations(DefaultSchema.LOGIC_NAME);
         Collection<RuleConfiguration> ruleConfigurations = configCenter.loadRuleConfigurations(DefaultSchema.LOGIC_NAME);
-        return new ShardingSphereDataSource(DataSourceConverter.getDataSourceMap(dataSourceConfigurations), ruleConfigurations, configCenter.loadProperties());
+        return new ShardingSphereDataSource(DataSourceConverter.getDataSourceMap(dataSourceConfigs), ruleConfigurations, configCenter.loadProperties());
     }
     
     private void initWithOrchestrationCenter(final ClusterConfiguration clusterConfiguration) {
@@ -145,15 +146,15 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
     }
     
     private void initWithLocalConfiguration(final ClusterConfiguration clusterConfiguration) {
-        Map<String, DataSourceConfiguration> dataSourceConfigurations = DataSourceConverter.getDataSourceConfigurationMap(dataSource.getDataSourceMap());
+        Map<String, DataSourceConfiguration> dataSourceConfigs = DataSourceConverter.getDataSourceConfigurationMap(dataSource.getDataSourceMap());
         Collection<RuleConfiguration> ruleConfigurations = dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getConfigurations();
         Properties props = dataSource.getSchemaContexts().getProps().getProps();
         orchestrationFacade.onlineInstance(
-                Collections.singletonMap(DefaultSchema.LOGIC_NAME, dataSourceConfigurations), Collections.singletonMap(DefaultSchema.LOGIC_NAME, ruleConfigurations), null, props);
+                Collections.singletonMap(DefaultSchema.LOGIC_NAME, dataSourceConfigs), Collections.singletonMap(DefaultSchema.LOGIC_NAME, ruleConfigurations), null, props);
         if (null != clusterConfiguration) {
             orchestrationFacade.initClusterConfiguration(clusterConfiguration);
         }
-        this.dataSourceConfigurations.putAll(dataSourceConfigurations);
+        dataSourceConfigurations.putAll(dataSourceConfigs);
     }
     
     private void disableDataSources() {
@@ -209,48 +210,48 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
     /**
      * Renew rule configuration.
      *
-     * @param ruleConfigurationsChangedEvent rule configurations changed event
+     * @param event rule configurations changed event
      */
     @Subscribe
     @SneakyThrows
-    public synchronized void renew(final RuleConfigurationsChangedEvent ruleConfigurationsChangedEvent) {
-        if (!ruleConfigurationsChangedEvent.getShardingSchemaName().contains(DefaultSchema.LOGIC_NAME)) {
+    public synchronized void renew(final RuleConfigurationsChangedEvent event) {
+        if (!event.getShardingSchemaName().contains(DefaultSchema.LOGIC_NAME)) {
             return;
         }
         dataSource = new ShardingSphereDataSource(dataSource.getDataSourceMap(), 
-                ruleConfigurationsChangedEvent.getRuleConfigurations(), dataSource.getSchemaContexts().getProps().getProps());
+                event.getRuleConfigurations(), dataSource.getSchemaContexts().getProps().getProps());
     }
     
     /**
      * Renew data sources.
      *
-     * @param dataSourceChangedEvent data source changed event
+     * @param event data source changed event
      */
     @Subscribe
     @SneakyThrows
-    public synchronized void renew(final DataSourceChangedEvent dataSourceChangedEvent) {
-        if (!dataSourceChangedEvent.getShardingSchemaName().contains(DefaultSchema.LOGIC_NAME)) {
+    public synchronized void renew(final DataSourceChangedEvent event) {
+        if (!event.getShardingSchemaName().contains(DefaultSchema.LOGIC_NAME)) {
             return;
         }
-        Map<String, DataSourceConfiguration> dataSourceConfigurations = dataSourceChangedEvent.getDataSourceConfigurations();
-        dataSource.close(getDeletedDataSources(dataSourceConfigurations));
-        dataSource.close(getModifiedDataSources(dataSourceConfigurations).keySet());
-        dataSource = new ShardingSphereDataSource(getChangedDataSources(dataSource.getDataSourceMap(), dataSourceConfigurations), 
+        Map<String, DataSourceConfiguration> dataSourceConfigs = event.getDataSourceConfigurations();
+        dataSource.close(getDeletedDataSources(dataSourceConfigs));
+        dataSource.close(getModifiedDataSources(dataSourceConfigs).keySet());
+        dataSource = new ShardingSphereDataSource(getChangedDataSources(dataSource.getDataSourceMap(), dataSourceConfigs), 
                 dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getConfigurations(), dataSource.getSchemaContexts().getProps().getProps());
-        this.dataSourceConfigurations.clear();
-        this.dataSourceConfigurations.putAll(dataSourceConfigurations);
+        dataSourceConfigurations.clear();
+        dataSourceConfigurations.putAll(dataSourceConfigs);
     }
     
     /**
      * Renew properties.
      *
-     * @param propertiesChangedEvent properties changed event
+     * @param event properties changed event
      */
     @SneakyThrows
     @Subscribe
-    public synchronized void renew(final PropertiesChangedEvent propertiesChangedEvent) {
+    public synchronized void renew(final PropertiesChangedEvent event) {
         dataSource = new ShardingSphereDataSource(dataSource.getDataSourceMap(), 
-                dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getConfigurations(), propertiesChangedEvent.getProps());
+                dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getConfigurations(), event.getProps());
     }
     
     /**
@@ -268,15 +269,15 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
     /**
      * Renew disabled data source names.
      *
-     * @param disabledStateChangedEvent disabled state changed event
+     * @param event disabled state changed event
      */
     @Subscribe
-    public synchronized void renew(final DisabledStateChangedEvent disabledStateChangedEvent) {
-        OrchestrationSchema orchestrationSchema = disabledStateChangedEvent.getOrchestrationSchema();
+    public synchronized void renew(final DisabledStateChangedEvent event) {
+        OrchestrationSchema orchestrationSchema = event.getOrchestrationSchema();
         if (DefaultSchema.LOGIC_NAME.equals(orchestrationSchema.getSchemaName())) {
             for (ShardingSphereRule each : dataSource.getSchemaContexts().getDefaultSchemaContext().getSchema().getRules()) {
                 if (each instanceof StatusContainedRule) {
-                    ((StatusContainedRule) each).updateRuleStatus(new DataSourceNameDisabledEvent(orchestrationSchema.getDataSourceName(), disabledStateChangedEvent.isDisabled()));
+                    ((StatusContainedRule) each).updateRuleStatus(new DataSourceNameDisabledEvent(orchestrationSchema.getDataSourceName(), event.isDisabled()));
                 }
             }
         }
@@ -292,22 +293,22 @@ public final class OrchestrationShardingSphereDataSource extends AbstractUnsuppo
         return result;
     }
     
-    private synchronized Map<String, DataSourceConfiguration> getModifiedDataSources(final Map<String, DataSourceConfiguration> dataSourceConfigurations) {
-        return dataSourceConfigurations.entrySet().stream().filter(this::isModifiedDataSource).collect(Collectors.toMap(Entry::getKey, Entry::getValue, (key, repeatKey) -> key, LinkedHashMap::new));
+    private synchronized Map<String, DataSourceConfiguration> getModifiedDataSources(final Map<String, DataSourceConfiguration> dataSourceConfigs) {
+        return dataSourceConfigs.entrySet().stream().filter(this::isModifiedDataSource).collect(Collectors.toMap(Entry::getKey, Entry::getValue, (key, repeatKey) -> key, LinkedHashMap::new));
     }
     
-    private synchronized boolean isModifiedDataSource(final Entry<String, DataSourceConfiguration> dataSourceNameAndConfig) {
-        return dataSourceConfigurations.containsKey(dataSourceNameAndConfig.getKey()) && !dataSourceConfigurations.get(dataSourceNameAndConfig.getKey()).equals(dataSourceNameAndConfig.getValue());
+    private synchronized boolean isModifiedDataSource(final Entry<String, DataSourceConfiguration> dataSourceConfigs) {
+        return dataSourceConfigurations.containsKey(dataSourceConfigs.getKey()) && !dataSourceConfigurations.get(dataSourceConfigs.getKey()).equals(dataSourceConfigs.getValue());
     }
     
-    private synchronized List<String> getDeletedDataSources(final Map<String, DataSourceConfiguration> dataSourceConfigurations) {
-        List<String> result = new LinkedList<>(this.dataSourceConfigurations.keySet());
-        result.removeAll(dataSourceConfigurations.keySet());
+    private synchronized List<String> getDeletedDataSources(final Map<String, DataSourceConfiguration> dataSourceConfigs) {
+        List<String> result = new LinkedList<>(dataSourceConfigurations.keySet());
+        result.removeAll(dataSourceConfigs.keySet());
         return result;
     }
     
-    private synchronized Map<String, DataSourceConfiguration> getAddedDataSources(final Map<String, DataSourceConfiguration> dataSourceConfigurations) {
-        return Maps.filterEntries(dataSourceConfigurations, input -> !this.dataSourceConfigurations.containsKey(input.getKey()));
+    private synchronized Map<String, DataSourceConfiguration> getAddedDataSources(final Map<String, DataSourceConfiguration> dataSourceConfigs) {
+        return Maps.filterEntries(dataSourceConfigs, input -> !dataSourceConfigurations.containsKey(input.getKey()));
     }
     
     private ShardingSphereSchema getChangedSchema(final ShardingSphereSchema oldSchema, final RuleSchemaMetaData newRuleSchemaMetaData) {
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/test/java/org/apache/shardingsphere/driver/orchestration/api/yaml/AbstractYamlDataSourceTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/test/java/org/apache/shardingsphere/driver/orchestration/api/yaml/AbstractYamlDataSourceTest.java
index 11372b9..d51be48 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/test/java/org/apache/shardingsphere/driver/orchestration/api/yaml/AbstractYamlDataSourceTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-orchestration/src/test/java/org/apache/shardingsphere/driver/orchestration/api/yaml/AbstractYamlDataSourceTest.java
@@ -27,19 +27,21 @@ import java.io.InputStreamReader;
 import java.sql.SQLException;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
 
 public abstract class AbstractYamlDataSourceTest {
     
     @BeforeClass
     public static void createSchema() throws SQLException {
         for (String each : getSchemaFiles()) {
-            RunScript.execute(createDataSource(getFileName(each)).getConnection(), new InputStreamReader(AbstractYamlDataSourceTest.class.getClassLoader().getResourceAsStream(each)));
+            RunScript.execute(
+                    createDataSource(getFileName(each)).getConnection(), new InputStreamReader(Objects.requireNonNull(AbstractYamlDataSourceTest.class.getClassLoader().getResourceAsStream(each))));
         }
     }
     
     protected static DataSource createDataSource(final String dsName) {
         BasicDataSource result = new BasicDataSource();
-        result.setDriverClassName(org.h2.Driver.class.getName());
+        result.setDriverClassName("org.h2.Driver");
         result.setUrl(String.format("jdbc:h2:mem:%s;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL", dsName));
         result.setUsername("sa");
         result.setMaxTotal(100);
@@ -48,10 +50,10 @@ public abstract class AbstractYamlDataSourceTest {
     
     private static String getFileName(final String dataSetFile) {
         String fileName = new File(dataSetFile).getName();
-        if (-1 == fileName.lastIndexOf(".")) {
+        if (-1 == fileName.lastIndexOf('.')) {
             return fileName;
         }
-        return fileName.substring(0, fileName.lastIndexOf("."));
+        return fileName.substring(0, fileName.lastIndexOf('.'));
     }
     
     private static List<String> getSchemaFiles() {
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/fixture/TestJndiInitialContextFactory.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/fixture/TestJndiInitialContextFactory.java
index 8306e07..26dc4ac 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/fixture/TestJndiInitialContextFactory.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-core-spring/shardingsphere-jdbc-core-spring-boot-starter/src/test/java/org/apache/shardingsphere/spring/boot/fixture/TestJndiInitialContextFactory.java
@@ -45,10 +45,10 @@ public final class TestJndiInitialContextFactory implements InitialContextFactor
     }
     
     private static JndiContext getContext() {
-        if (context == null) {
+        if (null == context) {
             try {
                 context = new JndiContext();
-            } catch (NamingException ex) {
+            } catch (final NamingException ex) {
                 throw new IllegalStateException(ex);
             }
         }
@@ -65,12 +65,12 @@ public final class TestJndiInitialContextFactory implements InitialContextFactor
         
         @Override
         public void bind(final String name, final Object obj) {
-            this.bindings.put(name, obj);
+            bindings.put(name, obj);
         }
         
         @Override
         public Object lookup(final String name) {
-            return this.bindings.get(name);
+            return bindings.get(name);
         }
         
         @Override
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/datasource/prop/impl/AbstractDbcp2DataSourcePropertiesSetter.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/datasource/prop/impl/AbstractDbcp2DataSourcePropertiesSe [...]
index 405d575..1e79b9b 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/datasource/prop/impl/AbstractDbcp2DataSourcePropertiesSetter.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/datasource/prop/impl/AbstractDbcp2DataSourcePropertiesSetter.java
@@ -25,6 +25,7 @@ import org.springframework.core.env.Environment;
 import javax.sql.DataSource;
 import java.lang.reflect.Method;
 import java.util.Map;
+import java.util.Map.Entry;
 
 /**
  * DBCP datasource properties setter.
@@ -41,12 +42,12 @@ public abstract class AbstractDbcp2DataSourcePropertiesSetter implements DataSou
      */
     @SneakyThrows(ReflectiveOperationException.class)
     public void propertiesSet(final Environment environment, final String prefix, final String dataSourceName, final DataSource dataSource) {
-        String datasourcePropertiesPrefix = prefix + dataSourceName.trim() + ".connection-properties";
-        if (PropertyUtil.containPropertyPrefix(environment, datasourcePropertiesPrefix)) {
-            Map<?, ?> datasourceProperties = PropertyUtil.handle(environment, datasourcePropertiesPrefix, Map.class);
+        String datasourcePropPrefix = prefix + dataSourceName.trim() + ".connection-properties";
+        if (PropertyUtil.containPropertyPrefix(environment, datasourcePropPrefix)) {
+            Map<?, ?> datasourceProperties = PropertyUtil.handle(environment, datasourcePropPrefix, Map.class);
             Method method = dataSource.getClass().getMethod("addConnectionProperty", String.class, String.class);
-            for (Object each : datasourceProperties.keySet()) {
-                method.invoke(dataSource, each, datasourceProperties.get(each));
+            for (final Entry<?, ?> entry : datasourceProperties.entrySet()) {
+                method.invoke(dataSource, entry.getKey(), entry.getValue());
             }
         }
     }
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/datasource/prop/impl/DataSourcePropertiesSetterHolder.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/datasource/prop/impl/DataSourcePropertiesSetterHolder.java
index 2710d0e..6b01258 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/datasource/prop/impl/DataSourcePropertiesSetterHolder.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/datasource/prop/impl/DataSourcePropertiesSetterHolder.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.spring.boot.datasource.prop.impl;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.spring.boot.datasource.prop.DataSourcePropertiesSetter;
 
@@ -27,6 +29,7 @@ import java.util.Optional;
 /**
  * Datasource properties setter holder.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DataSourcePropertiesSetterHolder {
     
     private static final Map<String, DataSourcePropertiesSetter> DATA_SOURCE_PROPERTIES_SETTER_MAP = new HashMap<>();
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/datasource/prop/impl/HikariDataSourcePropertiesSetter.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/datasource/prop/impl/HikariDataSourcePropertiesSetter.java
index c8571bc..edcc9d0 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/datasource/prop/impl/HikariDataSourcePropertiesSetter.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/datasource/prop/impl/HikariDataSourcePropertiesSetter.java
@@ -36,9 +36,9 @@ public final class HikariDataSourcePropertiesSetter implements DataSourcePropert
     @SneakyThrows(ReflectiveOperationException.class)
     public void propertiesSet(final Environment environment, final String prefix, final String dataSourceName, final DataSource dataSource) {
         Properties props = new Properties();
-        String datasourcePropertiesKey = prefix + dataSourceName.trim() + ".data-source-properties";
-        if (PropertyUtil.containPropertyPrefix(environment, datasourcePropertiesKey)) {
-            Map datasourceProperties = PropertyUtil.handle(environment, datasourcePropertiesKey, Map.class);
+        String dataSourcePropKey = prefix + dataSourceName.trim() + ".data-source-properties";
+        if (PropertyUtil.containPropertyPrefix(environment, dataSourcePropKey)) {
+            Map<?, ?> datasourceProperties = PropertyUtil.handle(environment, dataSourcePropKey, Map.class);
             props.putAll(datasourceProperties);
             Method method = dataSource.getClass().getMethod("setDataSourceProperties", Properties.class);
             method.invoke(dataSource, props);
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/registry/AbstractAlgorithmProvidedBeanRegistry.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/registry/AbstractAlgorithmProvidedBeanRegistry.java
index 16a3b5a..5ebb6c5 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/registry/AbstractAlgorithmProvidedBeanRegistry.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/registry/AbstractAlgorithmProvidedBeanRegistry.java
@@ -17,17 +17,14 @@
 
 package org.apache.shardingsphere.spring.boot.registry;
 
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
+import lombok.AccessLevel;
+import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmPostProcessor;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.infra.spi.type.TypedSPI;
 import org.apache.shardingsphere.infra.spi.type.TypedSPIRegistry;
 import org.apache.shardingsphere.infra.yaml.config.algorithm.YamlShardingSphereAlgorithmConfiguration;
 import org.apache.shardingsphere.spring.boot.util.PropertyUtil;
-import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.config.BeanPostProcessor;
 import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
@@ -35,26 +32,23 @@ import org.springframework.beans.factory.support.BeanDefinitionRegistry;
 import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor;
 import org.springframework.core.env.Environment;
 
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
 /**
  * Abstract algorithm provided bean registry.
  */
+@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
 public abstract class AbstractAlgorithmProvidedBeanRegistry implements BeanDefinitionRegistryPostProcessor, BeanPostProcessor {
     
     private final Environment environment;
     
-    /**
-     * Instantiates a new abstract algorithm provided bean registry.
-     *
-     * @param environment environment
-     */
-    public AbstractAlgorithmProvidedBeanRegistry(final Environment environment) {
-        this.environment = environment;
-    }
-    
     @SuppressWarnings("all")
     protected void registerBean(final String preFix, final Class clazz, final BeanDefinitionRegistry registry) {
         Map<String, Object> paramMap = PropertyUtil.handle(environment, preFix, Map.class);
-        Set<String> keySet = paramMap.keySet().stream().map(k -> k.substring(0, k.indexOf("."))).collect(Collectors.toSet());
+        Set<String> keySet = paramMap.keySet().stream().map(key -> key.substring(0, key.indexOf("."))).collect(Collectors.toSet());
         Map<String, YamlShardingSphereAlgorithmConfiguration> shardingAlgorithmMap = new LinkedHashMap<>();
         keySet.forEach(key -> {
             String type = environment.getProperty(preFix + key + ".type");
@@ -74,16 +68,16 @@ public abstract class AbstractAlgorithmProvidedBeanRegistry implements BeanDefin
     }
     
     @Override
-    public void postProcessBeanFactory(final ConfigurableListableBeanFactory configurableListableBeanFactory) throws BeansException {
+    public void postProcessBeanFactory(final ConfigurableListableBeanFactory configurableListableBeanFactory) {
     }
     
     @Override
-    public Object postProcessBeforeInitialization(final Object bean, final String beanName) throws BeansException {
+    public Object postProcessBeforeInitialization(final Object bean, final String beanName) {
         return bean;
     }
     
     @Override
-    public Object postProcessAfterInitialization(final Object bean, final String beanName) throws BeansException {
+    public Object postProcessAfterInitialization(final Object bean, final String beanName) {
         if (bean instanceof ShardingSphereAlgorithmPostProcessor) {
             ((ShardingSphereAlgorithmPostProcessor) bean).init();
         }
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/util/PropertyUtil.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/util/PropertyUtil.java
index c8e4c32..9164e6a 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/util/PropertyUtil.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/main/java/org/apache/shardingsphere/spring/boot/util/PropertyUtil.java
@@ -38,7 +38,7 @@ public final class PropertyUtil {
     static {
         try {
             Class.forName("org.springframework.boot.bind.RelaxedPropertyResolver");
-        } catch (ClassNotFoundException ignored) {
+        } catch (final ClassNotFoundException ignored) {
             springBootVersion = 2;
         }
     }
@@ -85,18 +85,18 @@ public final class PropertyUtil {
         String prefixParam = prefix.endsWith(".") ? prefix : prefix + ".";
         Method getPropertyMethod = resolverClass.getDeclaredMethod("getProperty", String.class);
         Map<String, Object> dataSourceProps = (Map<String, Object>) getSubPropertiesMethod.invoke(resolverObject, prefixParam);
-        Map<String, Object> propertiesWithPlaceholderResolved = new HashMap<>();
+        Map<String, Object> result = new HashMap<>(dataSourceProps.size(), 1);
         for (Entry<String, Object> entry : dataSourceProps.entrySet()) {
             String key = entry.getKey();
             Object value = entry.getValue();
             if (handlePlaceholder && value instanceof String && ((String) value).contains(PlaceholderConfigurerSupport.DEFAULT_PLACEHOLDER_PREFIX)) {
                 String resolvedValue = (String) getPropertyMethod.invoke(resolverObject, prefixParam + key);
-                propertiesWithPlaceholderResolved.put(key, resolvedValue);
+                result.put(key, resolvedValue);
             } else {
-                propertiesWithPlaceholderResolved.put(key, value);
+                result.put(key, value);
             }
         }
-        return propertiesWithPlaceholderResolved;
+        return result;
     }
     
     @SneakyThrows(ReflectiveOperationException.class)
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/test/java/org/apache/shardingsphere/spring/boot/util/DataSourceUtilTest.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/test/java/org/apache/shardingsphere/spring/boot/util/DataSourceUtilTest.java
index 5e4aafe..1b960e0 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/test/java/org/apache/shardingsphere/spring/boot/util/DataSourceUtilTest.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-boot-starter-infra/src/test/java/org/apache/shardingsphere/spring/boot/util/DataSourceUtilTest.java
@@ -36,7 +36,7 @@ public final class DataSourceUtilTest {
     public void assertDataSourceForDBCPAndCamel() throws ReflectiveOperationException {
         BasicDataSource actual = (BasicDataSource) DataSourceUtil
             .getDataSource(BasicDataSource.class.getName(), getDataSourcePoolProperties("driverClassName", "url", "username"));
-        assertThat(actual.getDriverClassName(), is(org.h2.Driver.class.getName()));
+        assertThat(actual.getDriverClassName(), is("org.h2.Driver"));
         assertThat(actual.getUrl(), is("jdbc:h2:mem:%s;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL"));
         assertThat(actual.getUsername(), is("sa"));
     }
@@ -44,7 +44,7 @@ public final class DataSourceUtilTest {
     @Test
     public void assertDataSourceForDBCPAndHyphen() throws ReflectiveOperationException {
         BasicDataSource actual = (BasicDataSource) DataSourceUtil.getDataSource(BasicDataSource.class.getName(), getDataSourcePoolProperties("driver-class-name", "url", "username"));
-        assertThat(actual.getDriverClassName(), is(org.h2.Driver.class.getName()));
+        assertThat(actual.getDriverClassName(), is("org.h2.Driver"));
         assertThat(actual.getUrl(), is("jdbc:h2:mem:%s;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL"));
         assertThat(actual.getUsername(), is("sa"));
     }
@@ -52,7 +52,7 @@ public final class DataSourceUtilTest {
     @Test
     public void assertDataSourceForHikariCPAndCamel() throws ReflectiveOperationException {
         HikariDataSource actual = (HikariDataSource) DataSourceUtil.getDataSource(HikariDataSource.class.getName(), getDataSourcePoolProperties("driverClassName", "jdbcUrl", "username"));
-        assertThat(actual.getDriverClassName(), is(org.h2.Driver.class.getName()));
+        assertThat(actual.getDriverClassName(), is("org.h2.Driver"));
         assertThat(actual.getJdbcUrl(), is("jdbc:h2:mem:%s;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL"));
         assertThat(actual.getUsername(), is("sa"));
     }
@@ -60,14 +60,14 @@ public final class DataSourceUtilTest {
     @Test
     public void assertDataSourceForHikariCPAndHyphen() throws ReflectiveOperationException {
         HikariDataSource actual = (HikariDataSource) DataSourceUtil.getDataSource(HikariDataSource.class.getName(), getDataSourcePoolProperties("driver-class-name", "jdbc-url", "username"));
-        assertThat(actual.getDriverClassName(), is(org.h2.Driver.class.getName()));
+        assertThat(actual.getDriverClassName(), is("org.h2.Driver"));
         assertThat(actual.getJdbcUrl(), is("jdbc:h2:mem:%s;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL"));
         assertThat(actual.getUsername(), is("sa"));
     }
     
     private Map<String, Object> getDataSourcePoolProperties(final String driverClassName, final String url, final String username) {
         Map<String, Object> result = new HashMap<>(3, 1);
-        result.put(driverClassName, org.h2.Driver.class.getName());
+        result.put(driverClassName, "org.h2.Driver");
         result.put(url, "jdbc:h2:mem:%s;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL");
         result.put(username, "sa");
         return result;
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-transaction-spring/src/main/java/org/apache/shardingsphere/spring/transaction/ShardingTransactionTypeInterceptor.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-transaction-spring/src/main/java/org/apache/shardingsphere/spring/transaction/ShardingTransactionTypeInterceptor.java
index 28690a9..3406b82 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-transaction-spring/src/main/java/org/apache/shardingsphere/spring/transaction/ShardingTransactionTypeInterceptor.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-transaction-spring/src/main/java/org/apache/shardingsphere/spring/transaction/ShardingTransactionTypeInterceptor.java
@@ -59,7 +59,7 @@ public final class ShardingTransactionTypeInterceptor implements MethodIntercept
     
     private ShardingTransactionType getMethodAnnotation(final MethodInvocation invocation, final Class<?> targetClass) {
         Method specificMethod = ClassUtils.getMostSpecificMethod(invocation.getMethod(), targetClass);
-        final Method userDeclaredMethod = BridgeMethodResolver.findBridgedMethod(specificMethod);
+        Method userDeclaredMethod = BridgeMethodResolver.findBridgedMethod(specificMethod);
         return userDeclaredMethod.getAnnotation(ShardingTransactionType.class);
     }
 }
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-transaction-spring/src/main/java/org/apache/shardingsphere/spring/transaction/ShardingTransactionTypeScanner.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-transaction-spring/src/main/java/org/apache/shardingsphere/spring/transaction/ShardingTransactionTypeScanner.java
index 6676cbc..9b2a74a 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-transaction-spring/src/main/java/org/apache/shardingsphere/spring/transaction/ShardingTransactionTypeScanner.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-transaction-spring/src/main/java/org/apache/shardingsphere/spring/transaction/ShardingTransactionTypeScanner.java
@@ -28,6 +28,6 @@ public final class ShardingTransactionTypeScanner extends AbstractAdvisingBeanPo
     
     public ShardingTransactionTypeScanner() {
         setBeforeExistingAdvisors(true);
-        this.advisor = new ShardingTransactionTypeAdvisor();
+        advisor = new ShardingTransactionTypeAdvisor();
     }
 }
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-transaction-spring/src/test/java/org/apache/shardingsphere/spring/transaction/fixture/FixtureSpringConfiguration.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-transaction-spring/src/test/java/org/apache/shardingsphere/spring/transaction/fixture/FixtureSpringConfiguration.java
index 524599f..a121276 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-transaction-spring/src/test/java/org/apache/shardingsphere/spring/transaction/fixture/FixtureSpringConfiguration.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-transaction-spring/src/test/java/org/apache/shardingsphere/spring/transaction/fixture/FixtureSpringConfiguration.java
@@ -23,7 +23,7 @@ import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 
 @Configuration
-@ComponentScan(basePackages = {"org.apache.shardingsphere.spring.transaction"})
+@ComponentScan(basePackages = "org.apache.shardingsphere.spring.transaction")
 public class FixtureSpringConfiguration {
     
     /**
diff --git a/shardingsphere-kernel/shardingsphere-kernel-context/src/main/java/org/apache/shardingsphere/kernel/context/schema/ShardingSphereSchema.java b/shardingsphere-kernel/shardingsphere-kernel-context/src/main/java/org/apache/shardingsphere/kernel/context/schema/ShardingSphereSchema.java
index 514fb2e..a3c3de8 100644
--- a/shardingsphere-kernel/shardingsphere-kernel-context/src/main/java/org/apache/shardingsphere/kernel/context/schema/ShardingSphereSchema.java
+++ b/shardingsphere-kernel/shardingsphere-kernel-context/src/main/java/org/apache/shardingsphere/kernel/context/schema/ShardingSphereSchema.java
@@ -51,7 +51,7 @@ public final class ShardingSphereSchema {
         this.databaseType = databaseType;
         this.configurations.addAll(configurations);
         this.rules.addAll(rules);
-        this.dataSources.putAll(dataSourceMap);
+        dataSources.putAll(dataSourceMap);
         metaData = shardingSphereMetaData;
     }
     
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java
index 9d0d237..aac5d16 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java
@@ -75,7 +75,7 @@ public final class JDBCDatabaseCommunicationEngine implements DatabaseCommunicat
     public JDBCDatabaseCommunicationEngine(final String sql, final BackendConnection backendConnection, final SQLExecuteEngine sqlExecuteEngine) {
         this.sql = sql;
         connection = backendConnection;
-        this.executeEngine = sqlExecuteEngine;
+        executeEngine = sqlExecuteEngine;
         schema = backendConnection.getSchema();
     }
     
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/BackendConnection.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/BackendConnection.java
index 086ecea..296688f 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/BackendConnection.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/BackendConnection.java
@@ -77,7 +77,7 @@ public final class BackendConnection implements JDBCExecutionConnection, AutoClo
     
     private final Collection<ResultSet> cachedResultSets = new CopyOnWriteArrayList<>();
     
-    private final Collection<MethodInvocation> methodInvocations = new ArrayList<>();
+    private final Collection<MethodInvocation> methodInvocations = new LinkedList<>();
     
     @Getter
     private final ResourceSynchronizer resourceSynchronizer = new ResourceSynchronizer();
@@ -118,7 +118,7 @@ public final class BackendConnection implements JDBCExecutionConnection, AutoClo
         if (isSwitchFailed()) {
             throw new ShardingSphereException("Failed to switch schema, please terminate current transaction.");
         }
-        this.schema = ProxySchemaContexts.getInstance().getSchema(schemaName);
+        schema = ProxySchemaContexts.getInstance().getSchema(schemaName);
     }
     
     @SneakyThrows(InterruptedException.class)
@@ -326,7 +326,7 @@ public final class BackendConnection implements JDBCExecutionConnection, AutoClo
         if (exceptions.isEmpty()) {
             return;
         }
-        SQLException ex = new SQLException();
+        SQLException ex = new SQLException("");
         for (SQLException each : exceptions) {
             ex.setNextException(each);
         }
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/recognizer/impl/P6SpyDriverRecognizer.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/recognizer/impl/P6SpyDriverRecognizer.java
index 4ccb3ef..d779900 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/recognizer/impl/P6SpyDriverRecognizer.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/recognizer/impl/P6SpyDriverRecognizer.java
@@ -30,13 +30,14 @@ import java.util.Collections;
  */
 public final class P6SpyDriverRecognizer implements JDBCDriverComposeURLRecognizer {
     
-    protected static final String DRIVER_CLASS_NAME = "com.p6spy.engine.spy.P6SpyDriver";
+    public static final String DRIVER_CLASS_NAME = "com.p6spy.engine.spy.P6SpyDriver";
     
     @Override
     public JDBCDriverURLRecognizer getDriverURLRecognizer(final String url) {
         String realUrl = extractRealUrl(url);
         JDBCDriverURLRecognizer driverURLRecognizer = JDBCDriverURLRecognizerEngine.getJDBCDriverURLRecognizer(realUrl);
         return new JDBCDriverURLRecognizer() {
+            
             @Override
             public Collection<String> getURLPrefixes() {
                 return driverURLRecognizer.getURLPrefixes();
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/metrics/MetricsUtils.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/metrics/MetricsUtils.java
index d3f4a52..fe91c36 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/metrics/MetricsUtils.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/metrics/MetricsUtils.java
@@ -17,19 +17,22 @@
 
 package org.apache.shardingsphere.proxy.backend.metrics;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.control.panel.spi.engine.SingletonFacadeEngine;
-import org.apache.shardingsphere.metrics.enums.MetricsLabelEnum;
-import org.apache.shardingsphere.shadow.rule.ShadowRule;
-import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 import org.apache.shardingsphere.infra.route.context.RouteContext;
 import org.apache.shardingsphere.infra.route.context.RouteMapper;
 import org.apache.shardingsphere.infra.route.context.RouteUnit;
+import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
+import org.apache.shardingsphere.metrics.enums.MetricsLabelEnum;
+import org.apache.shardingsphere.shadow.rule.ShadowRule;
 
 import java.util.Collection;
 
 /**
- * Metrics utils.
+ * Metrics utility.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class MetricsUtils {
     
     /**
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/ShardingCTLBackendHandlerFactory.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/ShardingCTLBackendHandlerFactory.java
index ba20875..7fa92c4 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/ShardingCTLBackendHandlerFactory.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/ShardingCTLBackendHandlerFactory.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.proxy.backend.text.sctl;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
 import org.apache.shardingsphere.proxy.backend.text.TextProtocolBackendHandler;
 import org.apache.shardingsphere.proxy.backend.text.sctl.explain.ShardingCTLExplainBackendHandler;
@@ -27,6 +29,7 @@ import org.apache.shardingsphere.proxy.backend.text.sctl.show.ShardingCTLShowBac
 /**
  * Sharding CTL backend handler factory.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class ShardingCTLBackendHandlerFactory {
     
     public static final String SCTL = "SCTL:";
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/ShardingCTLErrorCode.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/ShardingCTLErrorCode.java
index 4289cb6..c16e942 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/ShardingCTLErrorCode.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/ShardingCTLErrorCode.java
@@ -49,10 +49,10 @@ public enum ShardingCTLErrorCode implements SQLErrorCode {
      */
     public static ShardingCTLErrorCode valueOf(final ShardingCTLException exception) {
         if (exception instanceof InvalidShardingCTLFormatException) {
-            return ShardingCTLErrorCode.INVALID_FORMAT;
+            return INVALID_FORMAT;
         }
         if (exception instanceof UnsupportedShardingCTLTypeException) {
-            return ShardingCTLErrorCode.UNSUPPORTED_TYPE;
+            return UNSUPPORTED_TYPE;
         }
         throw new UnsupportedOperationException("Cannot find sharding CTL error code from exception: %s", exception);
     }
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/ConnectionStateHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/ConnectionStateHandlerTest.java
index ece561c..d57be6a 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/ConnectionStateHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/ConnectionStateHandlerTest.java
@@ -31,7 +31,7 @@ public final class ConnectionStateHandlerTest {
     
     @Test
     public void assertWaitUntilConnectionReleaseForNoneTransaction() throws InterruptedException {
-        final AtomicBoolean flag = new AtomicBoolean(true);
+        AtomicBoolean flag = new AtomicBoolean(true);
         Thread waitThread = new Thread(() -> {
             connectionStateHandler.setStatus(ConnectionStatus.RUNNING);
             try {
@@ -60,7 +60,7 @@ public final class ConnectionStateHandlerTest {
     
     @Test
     public void assertWaitUntilConnectionReleaseForTransaction() throws InterruptedException {
-        final AtomicBoolean flag = new AtomicBoolean(true);
+        AtomicBoolean flag = new AtomicBoolean(true);
         Thread waitThread = new Thread(() -> {
             connectionStateHandler.setStatus(ConnectionStatus.TERMINATED);
             try {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/MockConnectionUtil.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/MockConnectionUtil.java
index f29b588..c077d10 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/MockConnectionUtil.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/MockConnectionUtil.java
@@ -19,6 +19,8 @@ package org.apache.shardingsphere.proxy.backend.communication.jdbc.connection;
 
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Multimap;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import lombok.SneakyThrows;
 
 import java.lang.reflect.Field;
@@ -29,8 +31,9 @@ import java.util.List;
 import static org.mockito.Mockito.mock;
 
 /**
- * Mock backend connection Util.
+ * Mock backend connection utility.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 final class MockConnectionUtil {
     
     /**
diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/yaml/YamlDataSourceParameterMerger.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/yaml/YamlDataSourceParameterMerger.java
index 7183ac4..bca442c 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/yaml/YamlDataSourceParameterMerger.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/config/yaml/YamlDataSourceParameterMerger.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.proxy.config.yaml;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import lombok.SneakyThrows;
 
 import java.lang.reflect.Field;
@@ -26,6 +28,7 @@ import java.util.Map;
 /**
  * YAML datasource parameter merged.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class YamlDataSourceParameterMerger {
     
     /**
@@ -42,7 +45,7 @@ public final class YamlDataSourceParameterMerger {
         Field[] fields = clazz.getDeclaredFields();
         for (Field field : fields) {
             field.setAccessible(true);
-            if (field.getName().equals("serialVersionUID")) {
+            if ("serialVersionUID".equals(field.getName())) {
                 continue;
             }
             //filter JacocoData field
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/auth/MySQLAuthenticationHandler.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/auth/MySQLAuthenticationHandler.java
index 64ad0b6..a585e3c 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/auth/MySQLAuthenticationHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/auth/MySQLAuthenticationHandler.java
@@ -88,7 +88,7 @@ public final class MySQLAuthenticationHandler {
     }
     
     private byte[] xor(final byte[] input, final byte[] secret) {
-        final byte[] result = new byte[input.length];
+        byte[] result = new byte[input.length];
         for (int i = 0; i < input.length; ++i) {
             result[i] = (byte) (input[i] ^ secret[i]);
         }
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareChecker.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareChecker.java
index 2326ce4..9a92f7f 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareChecker.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareChecker.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.proxy.frontend.mysql.command.query.binary.prepare;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.sql.parser.sql.statement.SQLStatement;
 import org.apache.shardingsphere.sql.parser.sql.statement.dal.SetStatement;
 import org.apache.shardingsphere.sql.parser.sql.statement.dal.dialect.mysql.AnalyzeTableStatement;
@@ -77,6 +79,7 @@ import java.util.Set;
  *
  * @see <a href="https://dev.mysql.com/doc/refman/5.7/en/sql-prepared-statements.html">SQL Syntax Allowed in Prepared Statements</a>
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class MySQLComStmtPrepareChecker {
     
     private static final Set<Class> SQL_STATEMENTS_ALLOWED = new HashSet<>();
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLProtocolFrontendEngineTest.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLProtocolFrontendEngineTest.java
index 92c3d78..065bef9 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLProtocolFrontendEngineTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLProtocolFrontendEngineTest.java
@@ -42,7 +42,6 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentMatcher;
 import org.mockito.Mock;
-import org.mockito.Mockito;
 import org.mockito.junit.MockitoJUnitRunner;
 
 import java.lang.reflect.Field;
@@ -54,6 +53,7 @@ import java.util.Map;
 import java.util.Properties;
 
 import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.argThat;
 import static org.mockito.ArgumentMatchers.isA;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -128,8 +128,8 @@ public final class MySQLProtocolFrontendEngineTest {
         when(context.channel()).thenReturn(channel);
         when(channel.remoteAddress()).thenReturn(new InetSocketAddress(InetAddress.getByAddress(new byte[] {(byte) 192, (byte) 168, (byte) 0, (byte) 102}), 3307));
         assertTrue(mysqlProtocolFrontendEngine.getAuthEngine().auth(context, payload, mock(BackendConnection.class)));
-        verify(context).writeAndFlush(Mockito.argThat(
-                (ArgumentMatcher<MySQLErrPacket>) argument -> argument.getErrorMessage().equals("Access denied for user 'root'@'192.168.0.102' (using password: YES)")));
+        verify(context).writeAndFlush(argThat(
+                (ArgumentMatcher<MySQLErrPacket>) argument -> "Access denied for user 'root'@'192.168.0.102' (using password: YES)".equals(argument.getErrorMessage())));
     }
     
     @SneakyThrows
@@ -158,7 +158,7 @@ public final class MySQLProtocolFrontendEngineTest {
     }
     
     private Map<String, SchemaContext> getSchemaContextMap() {
-        Map<String, SchemaContext> result = new HashMap<>();
+        Map<String, SchemaContext> result = new HashMap<>(10, 1);
         for (int i = 0; i < 10; i++) {
             String name = SCHEMA + i;
             ShardingSphereSchema schema = mock(ShardingSphereSchema.class);
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/bind/PostgreSQLComBindExecutor.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/bind/PostgreSQLComBindExecutor.java
index 543720b..f2f5a36 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/bind/PostgreSQLComBindExecutor.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/bind/PostgreSQLComBindExecutor.java
@@ -126,7 +126,7 @@ public final class PostgreSQLComBindExecutor implements QueryCommandExecutor {
     private List<PostgreSQLColumnDescription> getPostgreSQLColumnDescriptions(final QueryResponse queryResponse) {
         List<PostgreSQLColumnDescription> result = new LinkedList<>();
         List<QueryResult> queryResults = queryResponse.getQueryResults();
-        ResultSetMetaData resultSetMetaData = queryResults.size() > 0 ? queryResults.get(0).getResultSetMetaData() : null;
+        ResultSetMetaData resultSetMetaData = !queryResults.isEmpty() ? queryResults.get(0).getResultSetMetaData() : null;
         int columnIndex = 0;
         for (QueryHeader each : queryResponse.getQueryHeaders()) {
             result.add(new PostgreSQLColumnDescription(each.getColumnName(), ++columnIndex, each.getColumnType(), each.getColumnLength(), resultSetMetaData));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/text/PostgreSQLComQueryExecutor.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/text/PostgreSQLComQueryExecutor.java
index f334cce..64e79e7 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/text/PostgreSQLComQueryExecutor.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/text/PostgreSQLComQueryExecutor.java
@@ -105,7 +105,7 @@ public final class PostgreSQLComQueryExecutor implements QueryCommandExecutor {
     private List<PostgreSQLColumnDescription> getPostgreSQLColumnDescriptions(final QueryResponse queryResponse) {
         List<PostgreSQLColumnDescription> result = new LinkedList<>();
         List<QueryResult> queryResults = queryResponse.getQueryResults();
-        ResultSetMetaData resultSetMetaData = queryResults.size() > 0 ? queryResults.get(0).getResultSetMetaData() : null;
+        ResultSetMetaData resultSetMetaData = !queryResults.isEmpty() ? queryResults.get(0).getResultSetMetaData() : null;
         int columnIndex = 0;
         for (QueryHeader each : queryResponse.getQueryHeaders()) {
             result.add(new PostgreSQLColumnDescription(each.getColumnName(), ++columnIndex, each.getColumnType(), each.getColumnLength(), resultSetMetaData));
diff --git a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/Bootstrap.java b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/Bootstrap.java
index 291eeb8..16abfc3 100755
--- a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/Bootstrap.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/Bootstrap.java
@@ -27,6 +27,8 @@ import io.netty.channel.nio.NioEventLoopGroup;
 import io.netty.channel.socket.nio.NioServerSocketChannel;
 import io.netty.handler.logging.LogLevel;
 import io.netty.handler.logging.LoggingHandler;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
 import org.apache.shardingsphere.scaling.core.config.ScalingContext;
@@ -39,6 +41,7 @@ import java.io.IOException;
 /**
  * Bootstrap of ShardingScaling.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 @Slf4j
 public final class Bootstrap {
     
diff --git a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/web/HttpServerHandler.java b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/web/HttpServerHandler.java
index 2cfc8b9..f553c5c 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/web/HttpServerHandler.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/web/HttpServerHandler.java
@@ -57,78 +57,77 @@ public final class HttpServerHandler extends SimpleChannelInboundHandler<FullHtt
     private static final ScalingJobController SCALING_JOB_CONTROLLER = new ScalingJobController();
     
     @Override
-    protected void channelRead0(final ChannelHandlerContext channelHandlerContext, final FullHttpRequest request) {
+    protected void channelRead0(final ChannelHandlerContext context, final FullHttpRequest request) {
         String requestPath = request.uri();
         String requestBody = request.content().toString(CharsetUtil.UTF_8);
         HttpMethod method = request.method();
         if (!URL_PATTERN.matcher(requestPath).matches()) {
-            response(GSON.toJson(ResponseContentUtil.handleBadRequest("Not support request!")),
-                    channelHandlerContext, HttpResponseStatus.BAD_REQUEST);
+            response(GSON.toJson(ResponseContentUtil.handleBadRequest("Not support request!")), context, HttpResponseStatus.BAD_REQUEST);
             return;
         }
         if ("/scaling/job/start".equalsIgnoreCase(requestPath) && method.equals(HttpMethod.POST)) {
-            startJob(channelHandlerContext, requestBody);
+            startJob(context, requestBody);
             return;
         }
         if (requestPath.contains("/scaling/job/progress/") && method.equals(HttpMethod.GET)) {
-            getJobProgress(channelHandlerContext, requestPath);
+            getJobProgress(context, requestPath);
             return;
         }
         if ("/scaling/job/list".equalsIgnoreCase(requestPath) && method.equals(HttpMethod.GET)) {
-            listAllJobs(channelHandlerContext);
+            listAllJobs(context);
             return;
         }
         if ("/scaling/job/stop".equalsIgnoreCase(requestPath) && method.equals(HttpMethod.POST)) {
-            stopJob(channelHandlerContext, requestBody);
+            stopJob(context, requestBody);
             return;
         }
         response(GSON.toJson(ResponseContentUtil.handleBadRequest("Not support request!")),
-                channelHandlerContext, HttpResponseStatus.BAD_REQUEST);
+                context, HttpResponseStatus.BAD_REQUEST);
     }
     
-    private void startJob(final ChannelHandlerContext channelHandlerContext, final String requestBody) {
+    private void startJob(final ChannelHandlerContext context, final String requestBody) {
         ScalingConfiguration scalingConfiguration = GSON.fromJson(requestBody, ScalingConfiguration.class);
         ShardingScalingJob shardingScalingJob = new ShardingScalingJob(scalingConfiguration.getJobConfiguration().getJobName(), scalingConfiguration.getJobConfiguration().getShardingItem());
         shardingScalingJob.getSyncConfigurations().addAll(SyncConfigurationUtil.toSyncConfigurations(scalingConfiguration));
         log.info("start job : {}", requestBody);
         SCALING_JOB_CONTROLLER.start(shardingScalingJob);
-        response(GSON.toJson(ResponseContentUtil.success()), channelHandlerContext, HttpResponseStatus.OK);
+        response(GSON.toJson(ResponseContentUtil.success()), context, HttpResponseStatus.OK);
     }
     
-    private void getJobProgress(final ChannelHandlerContext channelHandlerContext, final String requestPath) {
+    private void getJobProgress(final ChannelHandlerContext context, final String requestPath) {
         int jobId = Integer.parseInt(requestPath.split("/")[4]);
         try {
             SyncProgress progresses = SCALING_JOB_CONTROLLER.getProgresses(jobId);
-            response(GSON.toJson(ResponseContentUtil.build(progresses)), channelHandlerContext, HttpResponseStatus.OK);
-        } catch (ScalingJobNotFoundException ex) {
-            response(GSON.toJson(ResponseContentUtil.handleBadRequest(ex.getMessage())), channelHandlerContext, HttpResponseStatus.BAD_REQUEST);
+            response(GSON.toJson(ResponseContentUtil.build(progresses)), context, HttpResponseStatus.OK);
+        } catch (final ScalingJobNotFoundException ex) {
+            response(GSON.toJson(ResponseContentUtil.handleBadRequest(ex.getMessage())), context, HttpResponseStatus.BAD_REQUEST);
         }
     }
     
-    private void listAllJobs(final ChannelHandlerContext channelHandlerContext) {
+    private void listAllJobs(final ChannelHandlerContext context) {
         List<ShardingScalingJob> shardingScalingJobs = SCALING_JOB_CONTROLLER.listShardingScalingJobs();
-        response(GSON.toJson(ResponseContentUtil.build(shardingScalingJobs)), channelHandlerContext, HttpResponseStatus.OK);
+        response(GSON.toJson(ResponseContentUtil.build(shardingScalingJobs)), context, HttpResponseStatus.OK);
     }
     
-    private void stopJob(final ChannelHandlerContext channelHandlerContext, final String requestBody) {
+    private void stopJob(final ChannelHandlerContext context, final String requestBody) {
         ShardingScalingJob shardingScalingJob = GSON.fromJson(requestBody, ShardingScalingJob.class);
         //TODO, Exception handling
         SCALING_JOB_CONTROLLER.stop(shardingScalingJob.getJobId());
-        response(GSON.toJson(ResponseContentUtil.success()), channelHandlerContext, HttpResponseStatus.OK);
+        response(GSON.toJson(ResponseContentUtil.success()), context, HttpResponseStatus.OK);
     }
     
-    private void response(final String content, final ChannelHandlerContext ctx, final HttpResponseStatus status) {
+    private void response(final String content, final ChannelHandlerContext context, final HttpResponseStatus status) {
         FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, status, Unpooled.copiedBuffer(content, CharsetUtil.UTF_8));
         response.headers().set(HttpHeaderNames.CONTENT_TYPE, "text/plain;charset=UTF-8");
         HttpUtil.setContentLength(response, response.content().readableBytes());
         response.headers().set(HttpHeaderNames.CONNECTION, HttpHeaderValues.KEEP_ALIVE);
-        ctx.writeAndFlush(response);
+        context.writeAndFlush(response);
     }
     
     @Override
-    public void exceptionCaught(final ChannelHandlerContext ctx, final Throwable cause) {
+    public void exceptionCaught(final ChannelHandlerContext context, final Throwable cause) {
         log.warn("Http request handle occur error:", cause);
-        response(GSON.toJson(ResponseContentUtil.handleException(cause.toString())), ctx, HttpResponseStatus.INTERNAL_SERVER_ERROR);
-        ctx.close();
+        response(GSON.toJson(ResponseContentUtil.handleException(cause.toString())), context, HttpResponseStatus.INTERNAL_SERVER_ERROR);
+        context.close();
     }
 }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/web/entity/ResponseCode.java b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/web/entity/ResponseCode.java
index c6ec36c..3db5e46 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/web/entity/ResponseCode.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-bootstrap/src/main/java/org/apache/shardingsphere/scaling/web/entity/ResponseCode.java
@@ -17,9 +17,13 @@
 
 package org.apache.shardingsphere.scaling.web.entity;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
 /**
  * Http response code.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class ResponseCode {
     
     public static final int BAD_REQUEST = 400;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/JDBCDataSourceConfiguration.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/JDBCDataSourceConfiguration.java
index d5e437f..910737c 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/JDBCDataSourceConfiguration.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/JDBCDataSourceConfiguration.java
@@ -30,7 +30,7 @@ import lombok.Setter;
  */
 @Getter
 @Setter
-@EqualsAndHashCode(exclude = {"databaseType"})
+@EqualsAndHashCode(exclude = "databaseType")
 public final class JDBCDataSourceConfiguration implements DataSourceConfiguration {
     
     private String jdbcUrl;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ScalingContext.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ScalingContext.java
index 82c6b6b..eff5081 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ScalingContext.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/ScalingContext.java
@@ -54,7 +54,7 @@ public final class ScalingContext {
      */
     public void init(final ServerConfiguration serverConfiguration) {
         this.serverConfiguration = serverConfiguration;
-        this.taskExecuteEngine = new ShardingScalingExecuteEngine(serverConfiguration.getWorkerThread());
-        this.importerExecuteEngine = new ShardingScalingExecuteEngine(serverConfiguration.getWorkerThread());
+        taskExecuteEngine = new ShardingScalingExecuteEngine(serverConfiguration.getWorkerThread());
+        importerExecuteEngine = new ShardingScalingExecuteEngine(serverConfiguration.getWorkerThread());
     }
 }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/utils/SyncConfigurationUtil.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/utils/SyncConfigurationUtil.java
index 1a07240..4753722 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/utils/SyncConfigurationUtil.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/config/utils/SyncConfigurationUtil.java
@@ -180,7 +180,6 @@ public final class SyncConfigurationUtil {
         return result;
     }
     
-    @SuppressWarnings("unchecked")
     private static Set<String> extractShardingColumns(final ShardingStrategyConfiguration shardingStrategy) {
         if (shardingStrategy instanceof StandardShardingStrategyConfiguration) {
             return Sets.newHashSet(((StandardShardingStrategyConfiguration) shardingStrategy).getShardingColumn());
@@ -188,6 +187,6 @@ public final class SyncConfigurationUtil {
         if (shardingStrategy instanceof ComplexShardingStrategyConfiguration) {
             return Sets.newHashSet(((ComplexShardingStrategyConfiguration) shardingStrategy).getShardingColumns().split(","));
         }
-        return Collections.EMPTY_SET;
+        return Collections.emptySet();
     }
 }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/datasource/DataSourceManager.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/datasource/DataSourceManager.java
index f52d60c..7673232 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/datasource/DataSourceManager.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/datasource/DataSourceManager.java
@@ -25,6 +25,7 @@ import org.apache.shardingsphere.scaling.core.config.SyncConfiguration;
 
 import javax.sql.DataSource;
 import java.util.List;
+import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
 /**
@@ -36,49 +37,49 @@ public final class DataSourceManager implements AutoCloseable {
     private final DataSourceFactory dataSourceFactory = new DataSourceFactory();
 
     @Getter
-    private final ConcurrentHashMap<DataSourceConfiguration, HikariDataSource> cachedDataSources = new ConcurrentHashMap<>();
+    private final Map<DataSourceConfiguration, HikariDataSource> cachedDataSources = new ConcurrentHashMap<>();
 
     @Getter
-    private final ConcurrentHashMap<DataSourceConfiguration, HikariDataSource> sourceDatasources = new ConcurrentHashMap<>();
+    private final Map<DataSourceConfiguration, HikariDataSource> sourceDatasources = new ConcurrentHashMap<>();
 
-    public DataSourceManager(final List<SyncConfiguration> syncConfigurations) {
-        createDatasources(syncConfigurations);
+    public DataSourceManager(final List<SyncConfiguration> syncConfigs) {
+        createDatasources(syncConfigs);
     }
     
-    private void createDatasources(final List<SyncConfiguration> syncConfigurations) {
-        createSourceDatasources(syncConfigurations);
-        createTargetDatasources(syncConfigurations.iterator().next().getImporterConfiguration().getDataSourceConfiguration());
+    private void createDatasources(final List<SyncConfiguration> syncConfigs) {
+        createSourceDatasources(syncConfigs);
+        createTargetDatasources(syncConfigs.iterator().next().getImporterConfiguration().getDataSourceConfiguration());
     }
     
-    private void createSourceDatasources(final List<SyncConfiguration> syncConfigurations) {
-        for (SyncConfiguration syncConfiguration : syncConfigurations) {
-            DataSourceConfiguration dataSourceConfiguration = syncConfiguration.getDumperConfiguration().getDataSourceConfiguration();
-            HikariDataSource hikariDataSource = (HikariDataSource) dataSourceFactory.newInstance(dataSourceConfiguration);
-            cachedDataSources.put(dataSourceConfiguration, hikariDataSource);
-            sourceDatasources.put(dataSourceConfiguration, hikariDataSource);
+    private void createSourceDatasources(final List<SyncConfiguration> syncConfigs) {
+        for (SyncConfiguration syncConfiguration : syncConfigs) {
+            DataSourceConfiguration dataSourceConfig = syncConfiguration.getDumperConfiguration().getDataSourceConfiguration();
+            HikariDataSource hikariDataSource = (HikariDataSource) dataSourceFactory.newInstance(dataSourceConfig);
+            cachedDataSources.put(dataSourceConfig, hikariDataSource);
+            sourceDatasources.put(dataSourceConfig, hikariDataSource);
         }
     }
     
-    private void createTargetDatasources(final DataSourceConfiguration dataSourceConfiguration) {
-        cachedDataSources.put(dataSourceConfiguration, (HikariDataSource) dataSourceFactory.newInstance(dataSourceConfiguration));
+    private void createTargetDatasources(final DataSourceConfiguration dataSourceConfig) {
+        cachedDataSources.put(dataSourceConfig, (HikariDataSource) dataSourceFactory.newInstance(dataSourceConfig));
     }
     
     /**
      * Get data source by {@code DataSourceConfiguration}.
      *
-     * @param dataSourceConfiguration data source configuration
+     * @param dataSourceConfig data source configuration
      * @return data source
      */
-    public DataSource getDataSource(final DataSourceConfiguration dataSourceConfiguration) {
-        if (cachedDataSources.containsKey(dataSourceConfiguration)) {
-            return cachedDataSources.get(dataSourceConfiguration);
+    public DataSource getDataSource(final DataSourceConfiguration dataSourceConfig) {
+        if (cachedDataSources.containsKey(dataSourceConfig)) {
+            return cachedDataSources.get(dataSourceConfig);
         }
         synchronized (cachedDataSources) {
-            if (cachedDataSources.containsKey(dataSourceConfiguration)) {
-                return cachedDataSources.get(dataSourceConfiguration);
+            if (cachedDataSources.containsKey(dataSourceConfig)) {
+                return cachedDataSources.get(dataSourceConfig);
             }
-            HikariDataSource result = (HikariDataSource) dataSourceFactory.newInstance(dataSourceConfiguration);
-            cachedDataSources.put(dataSourceConfiguration, result);
+            HikariDataSource result = (HikariDataSource) dataSourceFactory.newInstance(dataSourceConfig);
+            cachedDataSources.put(dataSourceConfig, result);
             return result;
         }
     }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/engine/ShardingScalingExecuteEngine.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/engine/ShardingScalingExecuteEngine.java
index 56817fd..83fef03 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/engine/ShardingScalingExecuteEngine.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/engine/ShardingScalingExecuteEngine.java
@@ -39,8 +39,7 @@ public class ShardingScalingExecuteEngine {
     private final ListeningExecutorService executorService;
     
     public ShardingScalingExecuteEngine(final int maxWorkerNumber) {
-        this.executorService = MoreExecutors.listeningDecorator(
-                Executors.newFixedThreadPool(maxWorkerNumber, ShardingSphereThreadFactoryBuilder.build("ShardingScaling-execute-%d")));
+        executorService = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(maxWorkerNumber, ShardingSphereThreadFactoryBuilder.build("ShardingScaling-execute-%d")));
     }
     
     /**
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/SyncExecutorGroup.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/SyncExecutorGroup.java
index bb0739a..f16cc7a 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/SyncExecutorGroup.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/SyncExecutorGroup.java
@@ -56,7 +56,7 @@ public final class SyncExecutorGroup {
      * @param syncExecutors collection of sync executors
      */
     public void addAllSyncExecutor(final Collection<? extends ShardingScalingExecutor> syncExecutors) {
-        this.shardingScalingExecutors.addAll(syncExecutors);
+        shardingScalingExecutors.addAll(syncExecutors);
     }
     
     /**
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/channel/DistributionChannel.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/channel/DistributionChannel.java
index b0dbc6d..29ae2f5 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/channel/DistributionChannel.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/channel/DistributionChannel.java
@@ -70,27 +70,25 @@ public final class DistributionChannel implements Channel {
     }
     
     private void scheduleAckRecords() {
-        this.scheduleAckRecordsExecutor = Executors.newSingleThreadScheduledExecutor();
+        scheduleAckRecordsExecutor = Executors.newSingleThreadScheduledExecutor();
         scheduleAckRecordsExecutor.scheduleAtFixedRate(this::ackRecords0, 5, 1, TimeUnit.SECONDS);
     }
     
-    private void ackRecords0() {
-        synchronized (DistributionChannel.this) {
-            List<Record> result = new LinkedList<>();
-            while (!toBeAcknowledgeRecords.isEmpty()) {
-                Record record = toBeAcknowledgeRecords.peek();
-                if (pendingAcknowledgeRecords.containsKey(record.getPosition())) {
-                    result.add(record);
-                    toBeAcknowledgeRecords.poll();
-                    pendingAcknowledgeRecords.remove(record.getPosition());
-                } else {
-                    break;
-                }
-            }
-            if (result.size() > 0) {
-                ackCallback.onAck(result);
+    private synchronized void ackRecords0() {
+        List<Record> result = new LinkedList<>();
+        while (!toBeAcknowledgeRecords.isEmpty()) {
+            Record record = toBeAcknowledgeRecords.peek();
+            if (pendingAcknowledgeRecords.containsKey(record.getPosition())) {
+                result.add(record);
+                toBeAcknowledgeRecords.poll();
+                pendingAcknowledgeRecords.remove(record.getPosition());
+            } else {
+                break;
             }
         }
+        if (!result.isEmpty()) {
+            ackCallback.onAck(result);
+        }
     }
     
     @Override
@@ -157,7 +155,7 @@ public final class DistributionChannel implements Channel {
         }
     }
     
-    private class SingleChannelAckCallback implements AckCallback {
+    private final class SingleChannelAckCallback implements AckCallback {
         
         @Override
         public void onAck(final List<Record> records) {
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/channel/MemoryChannel.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/channel/MemoryChannel.java
index 0a2fe02..cd6f627 100755
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/channel/MemoryChannel.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/channel/MemoryChannel.java
@@ -53,12 +53,12 @@ public final class MemoryChannel implements Channel {
         List<Record> records = new ArrayList<>(batchSize);
         long start = System.currentTimeMillis();
         while (batchSize > queue.size()) {
-            if (timeout * 1000 <= System.currentTimeMillis() - start) {
+            if (timeout * 1000L <= System.currentTimeMillis() - start) {
                 break;
             }
             try {
-                Thread.sleep(100);
-            } catch (InterruptedException ignored) {
+                Thread.sleep(100L);
+            } catch (final InterruptedException ignored) {
                 break;
             }
         }
@@ -69,7 +69,7 @@ public final class MemoryChannel implements Channel {
     
     @Override
     public void ack() {
-        if (toBeAcknowledgeRecords.size() > 0) {
+        if (!toBeAcknowledgeRecords.isEmpty()) {
             ackCallback.onAck(toBeAcknowledgeRecords);
             toBeAcknowledgeRecords.clear();
         }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/importer/AbstractSqlBuilder.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/importer/AbstractSqlBuilder.java
index 391ab09..7439a57 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/importer/AbstractSqlBuilder.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/importer/AbstractSqlBuilder.java
@@ -76,7 +76,7 @@ public abstract class AbstractSqlBuilder {
         }
         columnsLiteral.setLength(columnsLiteral.length() - 1);
         holder.setLength(holder.length() - 1);
-        return String.format("INSERT INTO %s%s%s(%s) VALUES(%s)", getLeftIdentifierQuoteString(), tableName, getRightIdentifierQuoteString(), columnsLiteral.toString(), holder.toString());
+        return String.format("INSERT INTO %s%s%s(%s) VALUES(%s)", getLeftIdentifierQuoteString(), tableName, getRightIdentifierQuoteString(), columnsLiteral, holder);
     }
     
     /**
@@ -96,7 +96,7 @@ public abstract class AbstractSqlBuilder {
             updatedColumnString.append(String.format("%s%s%s = ?,", getLeftIdentifierQuoteString(), each.getName(), getRightIdentifierQuoteString()));
         }
         updatedColumnString.setLength(updatedColumnString.length() - 1);
-        return String.format(sqlCacheMap.get(sqlCacheKey), updatedColumnString.toString());
+        return String.format(sqlCacheMap.get(sqlCacheKey), updatedColumnString);
     }
     
     private String buildUpdateSQLInternal(final String tableName, final Collection<Column> conditionColumns) {
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/importer/ImporterFactory.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/importer/ImporterFactory.java
index ed92aca..f124b08 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/importer/ImporterFactory.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/importer/ImporterFactory.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.scaling.core.execute.executor.importer;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import lombok.SneakyThrows;
 import org.apache.shardingsphere.scaling.core.config.RdbmsConfiguration;
 import org.apache.shardingsphere.scaling.core.datasource.DataSourceManager;
@@ -26,6 +28,7 @@ import org.apache.shardingsphere.scaling.core.spi.ScalingEntryLoader;
 /**
  * Importer factory.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class ImporterFactory {
     
     /**
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/record/RecordUtil.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/record/RecordUtil.java
index 9c39c7b..54c22fb 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/record/RecordUtil.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/execute/executor/record/RecordUtil.java
@@ -17,13 +17,17 @@
 
 package org.apache.shardingsphere.scaling.core.execute.executor.record;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
 /**
- * Record util.
+ * Record utility.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class RecordUtil {
     
     /**
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/Position.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/Position.java
index 8cce6a5..c6f3eb2 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/Position.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/Position.java
@@ -24,6 +24,7 @@ import java.io.Serializable;
 /**
  * Position interface.
  */
+// TODO check Serializable is needed
 public interface Position<T> extends Comparable<T>, Serializable {
     
     /**
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/PrimaryKeyPosition.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/PrimaryKeyPosition.java
index 780b948..717378a 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/PrimaryKeyPosition.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/PrimaryKeyPosition.java
@@ -48,7 +48,7 @@ public class PrimaryKeyPosition implements Position {
         if (null == position) {
             return 1;
         }
-        return Long.compare(beginValue, ((PrimaryKeyPosition) position).getBeginValue());
+        return Long.compare(beginValue, ((PrimaryKeyPosition) position).beginValue);
     }
     
     /**
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/resume/AbstractResumeBreakPointManager.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/resume/AbstractResumeBreakPointManager.java
index 2df619b..60b515b 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/resume/AbstractResumeBreakPointManager.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/resume/AbstractResumeBreakPointManager.java
@@ -77,10 +77,10 @@ public abstract class AbstractResumeBreakPointManager implements ResumeBreakPoin
         InventoryPosition inventoryPosition = InventoryPosition.fromJson(data);
         Map<String, PrimaryKeyPosition> unfinished = inventoryPosition.getUnfinished();
         for (Entry<String, PrimaryKeyPosition> entry : unfinished.entrySet()) {
-            getInventoryPositionManagerMap().put(entry.getKey(), new PrimaryKeyPositionManager(entry.getValue()));
+            inventoryPositionManagerMap.put(entry.getKey(), new PrimaryKeyPositionManager(entry.getValue()));
         }
         for (String each : inventoryPosition.getFinished()) {
-            getInventoryPositionManagerMap().put(each, new PrimaryKeyPositionManager(new PrimaryKeyPosition.FinishedPosition()));
+            inventoryPositionManagerMap.put(each, new PrimaryKeyPositionManager(new PrimaryKeyPosition.FinishedPosition()));
         }
     }
     
@@ -100,7 +100,7 @@ public abstract class AbstractResumeBreakPointManager implements ResumeBreakPoin
         JsonObject result = new JsonObject();
         JsonObject unfinished = new JsonObject();
         Set<String> finished = Sets.newHashSet();
-        for (Entry<String, PositionManager<PrimaryKeyPosition>> entry : getInventoryPositionManagerMap().entrySet()) {
+        for (Entry<String, PositionManager<PrimaryKeyPosition>> entry : inventoryPositionManagerMap.entrySet()) {
             if (entry.getValue().getCurrentPosition() instanceof PrimaryKeyPosition.FinishedPosition) {
                 finished.add(entry.getKey());
                 continue;
@@ -114,7 +114,7 @@ public abstract class AbstractResumeBreakPointManager implements ResumeBreakPoin
     
     protected String getIncrementalPositionData() {
         JsonObject result = new JsonObject();
-        for (Entry<String, PositionManager> entry : getIncrementalPositionManagerMap().entrySet()) {
+        for (Entry<String, PositionManager> entry : incrementalPositionManagerMap.entrySet()) {
             result.add(entry.getKey(), entry.getValue().getCurrentPosition().toJson());
         }
         return result.toString();
@@ -122,7 +122,6 @@ public abstract class AbstractResumeBreakPointManager implements ResumeBreakPoin
     
     @Override
     public void close() {
-    
     }
     
     @Getter
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/resume/FakeResumeBreakPointManager.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/resume/FakeResumeBreakPointManager.java
index 783b03b..b160878 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/resume/FakeResumeBreakPointManager.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/resume/FakeResumeBreakPointManager.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.scaling.core.job.position.resume;
 /**
  * Fake resume from break-point manager as default.
  */
-public final class FakeResumeBreakPointManager extends AbstractResumeBreakPointManager implements ResumeBreakPointManager {
+public final class FakeResumeBreakPointManager extends AbstractResumeBreakPointManager {
     
     public FakeResumeBreakPointManager(final String databaseType, final String taskPath) {
         setDatabaseType(databaseType);
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/resume/ZookeeperResumeBreakPointManager.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/resume/ZookeeperResumeBreakPointManager.java
index d60d7ed..c6054d5 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/resume/ZookeeperResumeBreakPointManager.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/position/resume/ZookeeperResumeBreakPointManager.java
@@ -32,7 +32,7 @@ import java.util.concurrent.TimeUnit;
  * Depends on zookeeper resume from break-point manager.
  */
 @Slf4j
-public final class ZookeeperResumeBreakPointManager extends AbstractResumeBreakPointManager implements ResumeBreakPointManager {
+public final class ZookeeperResumeBreakPointManager extends AbstractResumeBreakPointManager {
     
     private static final String INVENTORY = "/inventory";
     
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/ShardingScalingJobPreparer.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/ShardingScalingJobPreparer.java
index 2d35f4a..1822f92 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/ShardingScalingJobPreparer.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/ShardingScalingJobPreparer.java
@@ -71,7 +71,7 @@ public final class ShardingScalingJobPreparer {
             initIncrementalDataTasks(databaseType, shardingScalingJob, dataSourceManager);
             initInventoryDataTasks(shardingScalingJob, dataSourceManager);
             syncPositionResumer.persistPosition(shardingScalingJob, resumeBreakPointManager);
-        } catch (PrepareFailedException ex) {
+        } catch (final PrepareFailedException ex) {
             log.warn("Preparing sharding scaling job {} : {} failed", shardingScalingJob.getJobId(), shardingScalingJob.getJobName(), ex);
             shardingScalingJob.setStatus(SyncTaskControlStatus.PREPARING_FAILURE.name());
         }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/checker/AbstractDataSourceChecker.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/checker/AbstractDataSourceChecker.java
index d8e8cd2..198315d 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/checker/AbstractDataSourceChecker.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/checker/AbstractDataSourceChecker.java
@@ -34,7 +34,7 @@ public abstract class AbstractDataSourceChecker implements DataSourceChecker {
             for (DataSource each : dataSources) {
                 each.getConnection().close();
             }
-        } catch (SQLException ex) {
+        } catch (final SQLException ex) {
             throw new PrepareFailedException("Datasources can't connected!", ex);
         }
     }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/splitter/InventoryDataTaskSplitter.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/splitter/InventoryDataTaskSplitter.java
index ea90250..8930d60 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/splitter/InventoryDataTaskSplitter.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/splitter/InventoryDataTaskSplitter.java
@@ -96,7 +96,7 @@ public final class InventoryDataTaskSplitter {
             return false;
         }
         List<String> primaryKeys = tableMetaData.getPrimaryKeyColumns();
-        if (null == primaryKeys || 0 == primaryKeys.size()) {
+        if (null == primaryKeys || primaryKeys.isEmpty()) {
             log.warn("Can't split range for table {}, reason: no primary key", rdbmsConfiguration.getTableName());
             return false;
         }
@@ -133,7 +133,7 @@ public final class InventoryDataTaskSplitter {
                 RdbmsConfiguration splitDumperConfig = RdbmsConfiguration.clone(dumperConfiguration);
                 if (i < concurrency - 1) {
                     splitDumperConfig.setPositionManager(new PrimaryKeyPositionManager(new PrimaryKeyPosition(min, min + step)));
-                    min = min + step + 1;
+                    min += step + 1;
                 } else {
                     splitDumperConfig.setPositionManager(new PrimaryKeyPositionManager(new PrimaryKeyPosition(min, max)));
                 }
@@ -141,7 +141,7 @@ public final class InventoryDataTaskSplitter {
                 result.add(new SyncConfiguration(concurrency, syncConfiguration.getTableNameMap(),
                     splitDumperConfig, RdbmsConfiguration.clone(syncConfiguration.getImporterConfiguration())));
             }
-        } catch (SQLException ex) {
+        } catch (final SQLException ex) {
             throw new PrepareFailedException(String.format("Split task for table %s by primary key %s error", dumperConfiguration.getTableName(), primaryKey), ex);
         }
         return result;
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/incremental/IncrementalDataScalingTask.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/incremental/IncrementalDataScalingTask.java
index 2ab66c2..094532d 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/incremental/IncrementalDataScalingTask.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/incremental/IncrementalDataScalingTask.java
@@ -55,7 +55,7 @@ public final class IncrementalDataScalingTask extends AbstractShardingScalingExe
     
     public IncrementalDataScalingTask(final SyncConfiguration syncConfiguration) {
         this.syncConfiguration = syncConfiguration;
-        this.dataSourceManager = new DataSourceManager();
+        dataSourceManager = new DataSourceManager();
         setTaskId(syncConfiguration.getDumperConfiguration().getDataSourceName());
         setPositionManager(syncConfiguration.getDumperConfiguration().getPositionManager());
     }
@@ -106,8 +106,8 @@ public final class IncrementalDataScalingTask extends AbstractShardingScalingExe
     private void waitForResult(final Future<?> future) {
         try {
             future.get();
-        } catch (InterruptedException ignored) {
-        } catch (ExecutionException ex) {
+        } catch (final InterruptedException ignored) {
+        } catch (final ExecutionException ex) {
             throw new SyncTaskExecuteException(String.format("Task %s execute failed ", getTaskId()), ex.getCause());
         }
     }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/inventory/InventoryDataScalingTask.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/inventory/InventoryDataScalingTask.java
index c75d5a1..5745545 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/inventory/InventoryDataScalingTask.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/inventory/InventoryDataScalingTask.java
@@ -110,7 +110,7 @@ public final class InventoryDataScalingTask extends AbstractShardingScalingExecu
                     .executeQuery();
             resultSet.next();
             estimatedRows = resultSet.getInt(1);
-        } catch (SQLException ex) {
+        } catch (final SQLException ex) {
             throw new SyncTaskExecuteException("get estimated rows error.", ex);
         }
     }
@@ -141,8 +141,8 @@ public final class InventoryDataScalingTask extends AbstractShardingScalingExecu
     private void waitForResult(final Future<?> future) {
         try {
             future.get();
-        } catch (InterruptedException ignored) {
-        } catch (ExecutionException ex) {
+        } catch (final InterruptedException ignored) {
+        } catch (final ExecutionException ex) {
             throw new SyncTaskExecuteException(String.format("Task %s execute failed ", getTaskId()), ex.getCause());
         }
     }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/metadata/JdbcUri.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/metadata/JdbcUri.java
index a46ed0d..14ab58b 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/metadata/JdbcUri.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/metadata/JdbcUri.java
@@ -31,7 +31,7 @@ public final class JdbcUri {
     private final URI jdbcUri;
     
     public JdbcUri(final String jdbcUrl) {
-        this.jdbcUri = URI.create(jdbcUrl.substring(5));
+        jdbcUri = URI.create(jdbcUrl.substring(5));
     }
     
     /**
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/metadata/MetaDataManager.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/metadata/MetaDataManager.java
index 663a8b0..750b9b1 100755
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/metadata/MetaDataManager.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/metadata/MetaDataManager.java
@@ -17,17 +17,15 @@
 
 package org.apache.shardingsphere.scaling.core.metadata;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData;
 import org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaDataLoader;
 
 import javax.sql.DataSource;
-
 import java.sql.SQLException;
 import java.util.HashMap;
 import java.util.Map;
 
-import lombok.RequiredArgsConstructor;
-
 /**
  * Meta data manager.
  */
@@ -48,7 +46,7 @@ public final class MetaDataManager {
         if (!tableMetaDataMap.containsKey(tableName)) {
             try {
                 TableMetaDataLoader.load(dataSource, tableName, "").ifPresent(tableMetaData -> tableMetaDataMap.put(tableName, tableMetaData));
-            } catch (SQLException ex) {
+            } catch (final SQLException ex) {
                 throw new RuntimeException(String.format("Load metaData for table %s failed", tableName), ex);
             }
         }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/schedule/ScalingTaskScheduler.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/schedule/ScalingTaskScheduler.java
index 1aadf20..a4a89b7 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/schedule/ScalingTaskScheduler.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/schedule/ScalingTaskScheduler.java
@@ -62,7 +62,7 @@ public final class ScalingTaskScheduler implements Runnable {
     public void run() {
         shardingScalingJob.setStatus(SyncTaskControlStatus.MIGRATE_INVENTORY_DATA.name());
         ExecuteCallback inventoryDataTaskCallback = createInventoryDataTaskCallback();
-        if (shardingScalingJob.getInventoryDataTasks().size() == 0) {
+        if (shardingScalingJob.getInventoryDataTasks().isEmpty()) {
             executeIncrementalDataSyncTask();
             return;
         }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/spi/ScalingEntryLoader.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/spi/ScalingEntryLoader.java
index 3659d3d..4622af2 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/spi/ScalingEntryLoader.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/spi/ScalingEntryLoader.java
@@ -18,6 +18,7 @@
 package org.apache.shardingsphere.scaling.core.spi;
 
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
+
 import java.util.Map;
 import java.util.TreeMap;
 
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/execute/engine/ShardingScalingExecuteEngineTest.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/execute/engine/ShardingScalingExecuteEngineTest.java
index a89299e..0484966 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/execute/engine/ShardingScalingExecuteEngineTest.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/execute/engine/ShardingScalingExecuteEngineTest.java
@@ -32,7 +32,7 @@ public final class ShardingScalingExecuteEngineTest {
             for (int i = 0; i < 5; i++) {
                 executeEngine.submit(mockShardingScalingExecutor());
             }
-        } catch (RejectedExecutionException ex) {
+        } catch (final RejectedExecutionException ex) {
             Assert.fail();
         }
     }
@@ -42,20 +42,17 @@ public final class ShardingScalingExecuteEngineTest {
             @Override
             public void run() {
                 try {
-                    Thread.sleep(100);
-                } catch (InterruptedException ignored) {
-                
+                    Thread.sleep(100L);
+                } catch (final InterruptedException ignored) {
                 }
             }
             
             @Override
             public void start() {
-            
             }
             
             @Override
             public void stop() {
-            
             }
         };
     }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/MySQLBinlogDumper.java b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/MySQLBinlogDumper.java
index cfcdbcb..9e002a4 100755
--- a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/MySQLBinlogDumper.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/MySQLBinlogDumper.java
@@ -17,35 +17,36 @@
 
 package org.apache.shardingsphere.scaling.mysql;
 
+import lombok.Setter;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.scaling.core.config.JDBCDataSourceConfiguration;
 import org.apache.shardingsphere.scaling.core.config.RdbmsConfiguration;
 import org.apache.shardingsphere.scaling.core.datasource.DataSourceFactory;
 import org.apache.shardingsphere.scaling.core.execute.executor.AbstractShardingScalingExecutor;
 import org.apache.shardingsphere.scaling.core.execute.executor.channel.Channel;
-import org.apache.shardingsphere.scaling.core.job.position.Position;
 import org.apache.shardingsphere.scaling.core.execute.executor.dumper.LogDumper;
-import org.apache.shardingsphere.scaling.core.job.position.NopPosition;
 import org.apache.shardingsphere.scaling.core.execute.executor.record.Column;
 import org.apache.shardingsphere.scaling.core.execute.executor.record.DataRecord;
 import org.apache.shardingsphere.scaling.core.execute.executor.record.FinishedRecord;
 import org.apache.shardingsphere.scaling.core.execute.executor.record.PlaceholderRecord;
 import org.apache.shardingsphere.scaling.core.execute.executor.record.Record;
+import org.apache.shardingsphere.scaling.core.job.position.NopPosition;
+import org.apache.shardingsphere.scaling.core.job.position.Position;
 import org.apache.shardingsphere.scaling.core.metadata.JdbcUri;
 import org.apache.shardingsphere.scaling.core.metadata.MetaDataManager;
 import org.apache.shardingsphere.scaling.mysql.binlog.BinlogPosition;
-import org.apache.shardingsphere.scaling.mysql.client.ConnectInfo;
-import org.apache.shardingsphere.scaling.mysql.client.MySQLClient;
 import org.apache.shardingsphere.scaling.mysql.binlog.event.AbstractBinlogEvent;
 import org.apache.shardingsphere.scaling.mysql.binlog.event.AbstractRowsEvent;
 import org.apache.shardingsphere.scaling.mysql.binlog.event.DeleteRowsEvent;
 import org.apache.shardingsphere.scaling.mysql.binlog.event.PlaceholderEvent;
 import org.apache.shardingsphere.scaling.mysql.binlog.event.UpdateRowsEvent;
 import org.apache.shardingsphere.scaling.mysql.binlog.event.WriteRowsEvent;
+import org.apache.shardingsphere.scaling.mysql.client.ConnectInfo;
+import org.apache.shardingsphere.scaling.mysql.client.MySQLClient;
 import org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData;
 
-import lombok.Setter;
-import lombok.extern.slf4j.Slf4j;
 import java.io.Serializable;
+import java.security.SecureRandom;
 import java.util.Objects;
 import java.util.Random;
 
@@ -61,7 +62,7 @@ public final class MySQLBinlogDumper extends AbstractShardingScalingExecutor imp
     
     private final MetaDataManager metaDataManager;
     
-    private final Random random = new Random();
+    private final Random random = new SecureRandom();
     
     @Setter
     private Channel channel;
@@ -72,7 +73,7 @@ public final class MySQLBinlogDumper extends AbstractShardingScalingExecutor imp
             throw new UnsupportedOperationException("MySQLBinlogDumper only support JDBCDataSourceConfiguration");
         }
         this.rdbmsConfiguration = rdbmsConfiguration;
-        this.metaDataManager = new MetaDataManager(new DataSourceFactory().newInstance(rdbmsConfiguration.getDataSourceConfiguration()));
+        metaDataManager = new MetaDataManager(new DataSourceFactory().newInstance(rdbmsConfiguration.getDataSourceConfiguration()));
     }
     
     @Override
@@ -83,9 +84,9 @@ public final class MySQLBinlogDumper extends AbstractShardingScalingExecutor imp
     
     @Override
     public void dump(final Channel channel) {
-        JDBCDataSourceConfiguration jdbcDataSourceConfiguration = (JDBCDataSourceConfiguration) rdbmsConfiguration.getDataSourceConfiguration();
-        final JdbcUri uri = new JdbcUri(jdbcDataSourceConfiguration.getJdbcUrl());
-        MySQLClient client = new MySQLClient(new ConnectInfo(random.nextInt(), uri.getHostname(), uri.getPort(), jdbcDataSourceConfiguration.getUsername(), jdbcDataSourceConfiguration.getPassword()));
+        JDBCDataSourceConfiguration jdbcDataSourceConfig = (JDBCDataSourceConfiguration) rdbmsConfiguration.getDataSourceConfiguration();
+        JdbcUri uri = new JdbcUri(jdbcDataSourceConfig.getJdbcUrl());
+        MySQLClient client = new MySQLClient(new ConnectInfo(random.nextInt(), uri.getHostname(), uri.getPort(), jdbcDataSourceConfig.getUsername(), jdbcDataSourceConfig.getPassword()));
         client.connect();
         client.subscribe(binlogPosition.getFilename(), binlogPosition.getPosition());
         while (isRunning()) {
@@ -177,7 +178,7 @@ public final class MySQLBinlogDumper extends AbstractShardingScalingExecutor imp
     private void pushRecord(final Channel channel, final Record record) {
         try {
             channel.pushRecord(record);
-        } catch (InterruptedException ignored) {
+        } catch (final InterruptedException ignored) {
         }
     }
     
diff --git a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/MySQLPositionManager.java b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/MySQLPositionManager.java
index a8cfc89..574b7e6 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/MySQLPositionManager.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/MySQLPositionManager.java
@@ -71,6 +71,6 @@ public final class MySQLPositionManager implements PositionManager<BinlogPositio
     
     @Override
     public void updateCurrentPosition(final BinlogPosition newPosition) {
-        this.currentPosition = newPosition;
+        currentPosition = newPosition;
     }
 }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/MySQLClient.java b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/MySQLClient.java
index 4382ecb..b8161f6 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/MySQLClient.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/MySQLClient.java
@@ -149,9 +149,9 @@ public final class MySQLClient {
     private void registerSlave() {
         responseCallback = new DefaultPromise<>(eventLoopGroup.next());
         InetSocketAddress localAddress = (InetSocketAddress) channel.localAddress();
-        MySQLComRegisterSlaveCommandPacket registerSlaveCommandPacket = new MySQLComRegisterSlaveCommandPacket(
+        MySQLComRegisterSlaveCommandPacket packet = new MySQLComRegisterSlaveCommandPacket(
                 connectInfo.getServerId(), localAddress.getHostName(), connectInfo.getUsername(), connectInfo.getPassword(), localAddress.getPort());
-        channel.writeAndFlush(registerSlaveCommandPacket);
+        channel.writeAndFlush(packet);
         waitExpectedResponse(MySQLOKPacket.class);
     }
     
@@ -167,7 +167,7 @@ public final class MySQLClient {
             case "CRC32":
                 return 4;
             default:
-                throw new UnsupportedOperationException();
+                throw new UnsupportedOperationException(checksumType);
         }
     }
     
@@ -188,7 +188,7 @@ public final class MySQLClient {
     public synchronized AbstractBinlogEvent poll() {
         try {
             return blockingEventQueue.poll(100, TimeUnit.MILLISECONDS);
-        } catch (InterruptedException ignored) {
+        } catch (final InterruptedException ignored) {
             return null;
         }
     }
@@ -207,12 +207,12 @@ public final class MySQLClient {
                 throw new RuntimeException(((MySQLErrPacket) response).getErrorMessage());
             }
             throw new RuntimeException("unexpected response type");
-        } catch (InterruptedException | ExecutionException ex) {
+        } catch (final InterruptedException | ExecutionException ex) {
             throw new RuntimeException(ex);
         }
     }
     
-    private class MySQLCommandResponseHandler extends ChannelInboundHandlerAdapter {
+    private final class MySQLCommandResponseHandler extends ChannelInboundHandlerAdapter {
         
         @Override
         public void channelRead(final ChannelHandlerContext ctx, final Object msg) {
@@ -230,7 +230,7 @@ public final class MySQLClient {
         }
     }
     
-    private class MySQLBinlogEventHandler extends ChannelInboundHandlerAdapter {
+    private final class MySQLBinlogEventHandler extends ChannelInboundHandlerAdapter {
         
         private AbstractBinlogEvent lastBinlogEvent;
         
@@ -264,7 +264,7 @@ public final class MySQLClient {
         private void closeOldChannel() {
             try {
                 channel.closeFuture().sync();
-            } catch (InterruptedException ignored) {
+            } catch (final InterruptedException ignored) {
             }
         }
     }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/MySQLPasswordEncryptor.java b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/MySQLPasswordEncryptor.java
index 46d9515..8dbbbdd 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/MySQLPasswordEncryptor.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/MySQLPasswordEncryptor.java
@@ -17,12 +17,16 @@
 
 package org.apache.shardingsphere.scaling.mysql.client;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 
 /**
  * MySQL Password Encryptor.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class MySQLPasswordEncryptor {
     
     /**
diff --git a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/netty/MySQLBinlogEventPacketDecoder.java b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/netty/MySQLBinlogEventPacketDecoder.java
index 5d2b39b..7c49991 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/netty/MySQLBinlogEventPacketDecoder.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/netty/MySQLBinlogEventPacketDecoder.java
@@ -84,7 +84,7 @@ public final class MySQLBinlogEventPacketDecoder extends ByteToMessageDecoder {
                 payload.skipReserved(payload.getByteBuf().readableBytes());
         }
         if (in.isReadable()) {
-            throw new UnsupportedOperationException(String.format("Do not parse binlog event fully, eventHeader: %s, remaining packet %s", binlogEventHeader.toString(), readRemainPacket(payload)));
+            throw new UnsupportedOperationException(String.format("Do not parse binlog event fully, eventHeader: %s, remaining packet %s", binlogEventHeader, readRemainPacket(payload)));
         }
     }
     
diff --git a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/netty/MySQLNegotiateHandler.java b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/netty/MySQLNegotiateHandler.java
index cdbebf1..aab6f7b 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/netty/MySQLNegotiateHandler.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/main/java/org/apache/shardingsphere/scaling/mysql/client/netty/MySQLNegotiateHandler.java
@@ -85,6 +85,6 @@ public final class MySQLNegotiateHandler extends ChannelInboundHandlerAdapter {
     
     @SneakyThrows(NoSuchAlgorithmException.class)
     private byte[] generateAuthResponse(final byte[] authPluginData) {
-        return (null == password || 0 == password.length()) ? new byte[0] : MySQLPasswordEncryptor.encryptWithMySQL41(password.getBytes(), authPluginData);
+        return (null == password || password.isEmpty()) ? new byte[0] : MySQLPasswordEncryptor.encryptWithMySQL41(password.getBytes(), authPluginData);
     }
 }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/test/java/org/apache/shardingsphere/scaling/mysql/MySQLDataSourceCheckerTest.java b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/test/java/org/apache/shardingsphere/scaling/mysql/MySQLDataSourceCheckerTest.java
index f4f58f7..ddd4d01 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/test/java/org/apache/shardingsphere/scaling/mysql/MySQLDataSourceCheckerTest.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/test/java/org/apache/shardingsphere/scaling/mysql/MySQLDataSourceCheckerTest.java
@@ -30,8 +30,8 @@ import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
-import java.util.ArrayList;
 import java.util.Collection;
+import java.util.LinkedList;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
@@ -41,7 +41,7 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 @RunWith(MockitoJUnitRunner.class)
-public class MySQLDataSourceCheckerTest {
+public final class MySQLDataSourceCheckerTest {
 
     @Mock
     private Connection connection;
@@ -60,7 +60,7 @@ public class MySQLDataSourceCheckerTest {
     public void setUp() throws SQLException {
         DataSource dataSource = mock(DataSource.class);
         when(dataSource.getConnection()).thenReturn(connection);
-        dataSources = new ArrayList<>();
+        dataSources = new LinkedList<>();
         dataSources.add(dataSource);
         dataSourceChecker = new MySQLDataSourceChecker();
         when(connection.prepareStatement(anyString())).thenReturn(preparedStatement);
@@ -88,8 +88,8 @@ public class MySQLDataSourceCheckerTest {
         when(resultSet.next()).thenReturn(false);
         try {
             dataSourceChecker.checkPrivilege(dataSources);
-        } catch (PrepareFailedException checkFailedEx) {
-            assertThat(checkFailedEx.getMessage(), is("Source datasource is lack of REPLICATION SLAVE, REPLICATION CLIENT ON *.* privileges."));
+        } catch (final PrepareFailedException ex) {
+            assertThat(ex.getMessage(), is("Source datasource is lack of REPLICATION SLAVE, REPLICATION CLIENT ON *.* privileges."));
         }
     }
     
@@ -107,7 +107,7 @@ public class MySQLDataSourceCheckerTest {
         when(resultSet.getString(2)).thenReturn("OFF", "ROW");
         try {
             dataSourceChecker.checkVariable(dataSources);
-        } catch (PrepareFailedException checkFailedEx) {
+        } catch (final PrepareFailedException checkFailedEx) {
             assertThat(checkFailedEx.getMessage(), is("Source datasource required LOG_BIN = ON, now is OFF"));
         }
     }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/test/java/org/apache/shardingsphere/scaling/mysql/client/MySQLClientTest.java b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/test/java/org/apache/shardingsphere/scaling/mysql/client/MySQLClientTest.java
index 1da287d..cf6492b 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-mysql/src/test/java/org/apache/shardingsphere/scaling/mysql/client/MySQLClientTest.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-mysql/src/test/java/org/apache/shardingsphere/scaling/mysql/client/MySQLClientTest.java
@@ -62,7 +62,7 @@ public final class MySQLClientTest {
     
     @Test
     public void assertConnect() throws NoSuchFieldException, IllegalAccessException {
-        final ServerInfo expected = new ServerInfo();
+        ServerInfo expected = new ServerInfo();
         mockChannelResponse(expected);
         mysqlClient.connect();
         ServerInfo actual = ReflectionUtil.getFieldValueFromClass(mysqlClient, "serverInfo", ServerInfo.class);
@@ -121,7 +121,7 @@ public final class MySQLClientTest {
                     responseCallback = ReflectionUtil.getFieldValueFromClass(mysqlClient, "responseCallback", Promise.class);
                 } catch (final NoSuchFieldException ex) {
                     throw new RuntimeException(ex);
-                } catch (IllegalAccessException ex) {
+                } catch (final IllegalAccessException ex) {
                     Thread.currentThread().interrupt();
                 }
                 if (null != responseCallback) {
diff --git a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLDataSourceChecker.java b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLDataSourceChecker.java
index cd02fc6..4b62772 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLDataSourceChecker.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLDataSourceChecker.java
@@ -46,7 +46,7 @@ public final class PostgreSQLDataSourceChecker extends AbstractDataSourceChecker
                     connection.prepareStatement(String.format("SELECT * FROM %s LIMIT 1", tableName)).executeQuery();
                 }
             }
-        } catch (SQLException ex) {
+        } catch (final SQLException ex) {
             throw new PrepareFailedException("Datasources check failed!", ex);
         }
     }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLPositionManager.java b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLPositionManager.java
index 209c511..08f828c 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLPositionManager.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLPositionManager.java
@@ -48,7 +48,7 @@ public final class PostgreSQLPositionManager implements PositionManager<WalPosit
     }
     
     public PostgreSQLPositionManager(final String position) {
-        this.currentPosition = new WalPosition(LogSequenceNumber.valueOf(position));
+        currentPosition = new WalPosition(LogSequenceNumber.valueOf(position));
     }
     
     @Override
@@ -64,7 +64,7 @@ public final class PostgreSQLPositionManager implements PositionManager<WalPosit
             // Need to create slot first, hold oldest wal event.
             createIfNotExists(connection);
             currentPosition = getCurrentLsn(connection);
-        } catch (SQLException ex) {
+        } catch (final SQLException ex) {
             throw new RuntimeException("markPosition error", ex);
         }
     }
@@ -73,7 +73,7 @@ public final class PostgreSQLPositionManager implements PositionManager<WalPosit
         try {
             PreparedStatement ps = connection.prepareStatement(String.format("SELECT * FROM pg_create_logical_replication_slot('%s', '%s')", SLOT_NAME, DECODE_PLUGIN));
             ps.execute();
-        } catch (PSQLException ex) {
+        } catch (final PSQLException ex) {
             if (!DUPLICATE_OBJECT_ERROR_CODE.equals(ex.getSQLState())) {
                 throw ex;
             }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLWalDumper.java b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLWalDumper.java
index d331cb8..70f6243 100755
--- a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLWalDumper.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLWalDumper.java
@@ -87,14 +87,14 @@ public final class PostgreSQLWalDumper extends AbstractShardingScalingExecutor i
                     try {
                         Thread.sleep(10L);
                         continue;
-                    } catch (InterruptedException ignored) {
+                    } catch (final InterruptedException ignored) {
                     
                     }
                 }
                 AbstractWalEvent event = decodingPlugin.decode(msg, stream.getLastReceiveLSN());
                 pushRecord(channel, walEventConverter.convert(event));
             }
-        } catch (SQLException ex) {
+        } catch (final SQLException ex) {
             throw new SyncTaskExecuteException(ex);
         }
     }
@@ -102,8 +102,7 @@ public final class PostgreSQLWalDumper extends AbstractShardingScalingExecutor i
     private void pushRecord(final Channel channel, final Record record) {
         try {
             channel.pushRecord(record);
-        } catch (InterruptedException ignored) {
-        
+        } catch (final InterruptedException ignored) {
         }
     }
 }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/LogicalReplication.java b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/LogicalReplication.java
index c594051..384f9c7 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/LogicalReplication.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/LogicalReplication.java
@@ -35,12 +35,12 @@ public final class LogicalReplication {
     /**
      *  Create PostgreSQL connection.
      *
-     * @param jdbcDataSourceConfiguration JDBC configuration
+     * @param jdbcDataSourceConfig JDBC data source configuration
      * @return PostgreSQL connection
      * @throws SQLException sql exception
      */
-    public PGConnection createPgConnection(final JDBCDataSourceConfiguration jdbcDataSourceConfiguration) throws SQLException {
-        return createConnection(jdbcDataSourceConfiguration);
+    public PGConnection createPgConnection(final JDBCDataSourceConfiguration jdbcDataSourceConfig) throws SQLException {
+        return createConnection(jdbcDataSourceConfig);
     }
     
     /**
@@ -63,13 +63,13 @@ public final class LogicalReplication {
                 .start();
     }
     
-    private PGConnection createConnection(final JDBCDataSourceConfiguration jdbcDataSourceConfiguration) throws SQLException {
+    private PGConnection createConnection(final JDBCDataSourceConfiguration jdbcDataSourceConfig) throws SQLException {
         Properties props = new Properties();
-        PGProperty.USER.set(props, jdbcDataSourceConfiguration.getUsername());
-        PGProperty.PASSWORD.set(props, jdbcDataSourceConfiguration.getPassword());
+        PGProperty.USER.set(props, jdbcDataSourceConfig.getUsername());
+        PGProperty.PASSWORD.set(props, jdbcDataSourceConfig.getPassword());
         PGProperty.ASSUME_MIN_SERVER_VERSION.set(props, "9.6");
         PGProperty.REPLICATION.set(props, "database");
         PGProperty.PREFER_QUERY_MODE.set(props, "simple");
-        return DriverManager.getConnection(jdbcDataSourceConfiguration.getJdbcUrl(), props).unwrap(PGConnection.class);
+        return DriverManager.getConnection(jdbcDataSourceConfig.getJdbcUrl(), props).unwrap(PGConnection.class);
     }
 }
diff --git a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/WalEventConverter.java b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/WalEventConverter.java
index ca47412..a913aa3 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/WalEventConverter.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/WalEventConverter.java
@@ -47,7 +47,7 @@ public final class WalEventConverter {
     
     public WalEventConverter(final RdbmsConfiguration rdbmsConfiguration) {
         this.rdbmsConfiguration = rdbmsConfiguration;
-        this.metaDataManager = new MetaDataManager(new DataSourceFactory().newInstance(rdbmsConfiguration.getDataSourceConfiguration()));
+        metaDataManager = new MetaDataManager(new DataSourceFactory().newInstance(rdbmsConfiguration.getDataSourceConfiguration()));
     }
     
     /**
@@ -57,7 +57,7 @@ public final class WalEventConverter {
      * @return record
      */
     public Record convert(final AbstractWalEvent event) {
-        final JdbcUri uri = new JdbcUri(((JDBCDataSourceConfiguration) rdbmsConfiguration.getDataSourceConfiguration()).getJdbcUrl());
+        JdbcUri uri = new JdbcUri(((JDBCDataSourceConfiguration) rdbmsConfiguration.getDataSourceConfiguration()).getJdbcUrl());
         if (filter(uri.getDatabase(), event)) {
             return createPlaceholderRecord(event);
         } else if (event instanceof WriteRowEvent) {
diff --git a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/WalPosition.java b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/WalPosition.java
index 1e051b7..8c8e98d 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/WalPosition.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/WalPosition.java
@@ -29,7 +29,7 @@ import org.postgresql.replication.LogSequenceNumber;
  */
 @RequiredArgsConstructor
 @Getter
-public class WalPosition implements Position<WalPosition> {
+public final class WalPosition implements Position<WalPosition> {
     
     private static final long serialVersionUID = -3498484556749679001L;
     
@@ -38,12 +38,12 @@ public class WalPosition implements Position<WalPosition> {
     private final LogSequenceNumber logSequenceNumber;
     
     @Override
-    public final int compareTo(final WalPosition walPosition) {
+    public int compareTo(final WalPosition walPosition) {
         if (null == walPosition) {
             return 1;
         }
         long o1 = logSequenceNumber.asLong();
-        long o2 = walPosition.getLogSequenceNumber().asLong();
+        long o2 = walPosition.logSequenceNumber.asLong();
         return Long.compare(o1, o2);
     }
     
diff --git a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/decode/TestDecodingPlugin.java b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/decode/TestDecodingPlugin.java
index ce9b47d..271cab1 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/decode/TestDecodingPlugin.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/wal/decode/TestDecodingPlugin.java
@@ -179,7 +179,7 @@ public final class TestDecodingPlugin implements DecodingPlugin {
             case "time without time zone":
                 try {
                     return timestampUtils.toTime(null, readNextString(data));
-                } catch (SQLException ex) {
+                } catch (final SQLException ex) {
                     throw new DecodingException(ex);
                 }
             case "date":
@@ -187,7 +187,7 @@ public final class TestDecodingPlugin implements DecodingPlugin {
             case "timestamp without time zone":
                 try {
                     return timestampUtils.toTimestamp(null, readNextString(data));
-                } catch (SQLException ex) {
+                } catch (final SQLException ex) {
                     throw new DecodingException(ex);
                 }
             case "bytea":
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/MetaDataConnection.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/MetaDataConnection.java
index 10aacfe..71a0af8 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/MetaDataConnection.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/MetaDataConnection.java
@@ -50,7 +50,7 @@ public final class MetaDataConnection implements Connection {
     public String getCatalog() {
         try {
             return connection.getCatalog();
-        } catch (SQLException ex) {
+        } catch (final SQLException ex) {
             return null;
         }
     }
@@ -64,7 +64,7 @@ public final class MetaDataConnection implements Connection {
     public String getSchema() {
         try {
             return connection.getSchema();
-        } catch (SQLException ex) {
+        } catch (final SQLException ex) {
             return null;
         }
     }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/schema/SchemaMetaDataLoader.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/schema/SchemaMetaDataLoader.java
index bfc834c..44634c4 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/schema/SchemaMetaDataLoader.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/schema/SchemaMetaDataLoader.java
@@ -25,6 +25,7 @@ import org.apache.shardingsphere.sql.parser.binder.metadata.MetaDataConnection;
 import org.apache.shardingsphere.sql.parser.binder.metadata.column.ColumnMetaDataLoader;
 import org.apache.shardingsphere.sql.parser.binder.metadata.index.IndexMetaDataLoader;
 import org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData;
+import org.apache.shardingsphere.sql.parser.binder.metadata.util.JdbcUtil;
 
 import javax.sql.DataSource;
 import java.sql.Connection;
@@ -41,7 +42,6 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
-import org.apache.shardingsphere.sql.parser.binder.metadata.util.JdbcUtil;
 
 /**
  * Schema meta data loader.
@@ -84,7 +84,7 @@ public final class SchemaMetaDataLoader {
             tableNames.removeAll(excludedTableNames);
         }
         log.info("Loading {} tables' meta data.", tableNames.size());
-        if (0 == tableNames.size()) {
+        if (tableNames.isEmpty()) {
             return new SchemaMetaData(Collections.emptyMap());
         }
         List<List<String>> tableGroups = Lists.partition(tableNames, Math.max(tableNames.size() / maxConnectionCount, 1));
@@ -95,7 +95,7 @@ public final class SchemaMetaDataLoader {
     
     private static Map<String, TableMetaData> load(final Connection con, final Collection<String> tables, final String databaseType) throws SQLException {
         try (MetaDataConnection connection = new MetaDataConnection(con)) {
-            Map<String, TableMetaData> result = new LinkedHashMap<>();
+            Map<String, TableMetaData> result = new LinkedHashMap<>(tables.size(), 1);
             for (String each : tables) {
                 result.put(each, new TableMetaData(ColumnMetaDataLoader.load(connection, each, databaseType), IndexMetaDataLoader.load(connection, each, databaseType)));
             }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/util/JdbcUtil.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/util/JdbcUtil.java
index 3360465..26ad6a4 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/util/JdbcUtil.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/util/JdbcUtil.java
@@ -17,15 +17,19 @@
 
 package org.apache.shardingsphere.sql.parser.binder.metadata.util;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
 import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.SQLException;
 import java.util.Optional;
 
 /**
- * JDBC util.
+ * JDBC utility.
  */
-public class JdbcUtil {
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class JdbcUtil {
     
     /**
      * Get schema.
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/orderby/OrderByItem.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/orderby/OrderByItem.java
index e46874c..49633b6 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/orderby/OrderByItem.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/orderby/OrderByItem.java
@@ -42,6 +42,6 @@ public final class OrderByItem {
             return false;
         }
         OrderByItem orderByItem = (OrderByItem) obj;
-        return segment.getOrderDirection() == orderByItem.getSegment().getOrderDirection() && index == orderByItem.getIndex();
+        return segment.getOrderDirection() == orderByItem.segment.getOrderDirection() && index == orderByItem.index;
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/projection/DerivedColumn.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/projection/DerivedColumn.java
index 8d91176..ee2b904 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/projection/DerivedColumn.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/projection/DerivedColumn.java
@@ -47,7 +47,7 @@ public enum DerivedColumn {
      * @return alias of derived column
      */
     public String getDerivedColumnAlias(final int derivedColumnCount) {
-        return String.format(pattern + "%s", derivedColumnCount);
+        return pattern + derivedColumnCount;
     }
     
     /**
@@ -57,7 +57,7 @@ public enum DerivedColumn {
      * @return is derived column name or not
      */
     public static boolean isDerivedColumnName(final String columnName) {
-        for (DerivedColumn each : DerivedColumn.values()) {
+        for (DerivedColumn each : values()) {
             if (columnName.startsWith(each.pattern)) {
                 return true;
             }
@@ -81,8 +81,8 @@ public enum DerivedColumn {
     }
     
     private static Collection<DerivedColumn> getValues() {
-        Collection<DerivedColumn> result = new ArrayList<>(Arrays.asList(DerivedColumn.values()));
-        result.remove(DerivedColumn.AGGREGATION_DISTINCT_DERIVED);
+        Collection<DerivedColumn> result = new ArrayList<>(Arrays.asList(values()));
+        result.remove(AGGREGATION_DISTINCT_DERIVED);
         return result;
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/projection/impl/DerivedProjection.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/projection/impl/DerivedProjection.java
index 78c6e3f..31c5c17 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/projection/impl/DerivedProjection.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/projection/impl/DerivedProjection.java
@@ -45,6 +45,6 @@ public final class DerivedProjection implements Projection {
     
     @Override
     public String getColumnLabel() {
-        return getAlias().orElse(getExpression());
+        return getAlias().orElse(expression);
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/projection/impl/ExpressionProjection.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/projection/impl/ExpressionProjection.java
index 1d4d153..29fa0fa 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/projection/impl/ExpressionProjection.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/segment/select/projection/impl/ExpressionProjection.java
@@ -45,6 +45,6 @@ public final class ExpressionProjection implements Projection {
     
     @Override
     public String getColumnLabel() {
-        return getAlias().orElse(getExpression());
+        return getAlias().orElse(expression);
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/statement/ddl/CreateTableStatementContext.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/statement/ddl/CreateTableStatementContext.java
index dd28bc2..45df42d 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/statement/ddl/CreateTableStatementContext.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/statement/ddl/CreateTableStatementContext.java
@@ -61,7 +61,7 @@ public final class CreateTableStatementContext extends CommonSQLStatementContext
     
     @Override
     public Collection<IndexSegment> getIndexes() {
-        LinkedList<IndexSegment> result = new LinkedList<>();
+        Collection<IndexSegment> result = new LinkedList<>();
         Collection<ConstraintDefinitionSegment> constraintDefinitions = getSqlStatement().getConstraintDefinitions();
         for (ConstraintDefinitionSegment each : constraintDefinitions) {
             if (null != each.getIndexName()) {
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/test/java/org/apache/shardingsphere/sql/parser/binder/segment/insert/values/OnDuplicateUpdateContextTest.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/test/java/org/apache/shardingsphere/sql/parser/binder/segment/insert/values/OnDuplicateUpdateContextTest.java
index 501cef9..4c764dc 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/test/java/org/apache/shardingsphere/sql/parser/binder/segment/insert/values/OnDuplicateUpdateContextTest.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/test/java/org/apache/shardingsphere/sql/parser/binder/segment/insert/values/OnDuplicateUpdateContextTest.java
@@ -25,7 +25,6 @@ import org.apache.shardingsphere.sql.parser.sql.segment.dml.expr.simple.LiteralE
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.expr.simple.ParameterMarkerExpressionSegment;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.expr.simple.SimpleExpressionSegment;
 import org.apache.shardingsphere.sql.parser.sql.value.identifier.IdentifierValue;
-import org.junit.Assert;
 import org.junit.Test;
 
 import java.lang.reflect.InvocationTargetException;
@@ -118,8 +117,8 @@ public final class OnDuplicateUpdateContextTest {
         Throwable targetException = null;
         try {
             getParameterIndexMethod.invoke(onDuplicateUpdateContext, notExistsExpressionSegment);
-        } catch (InvocationTargetException e) {
-            targetException = e.getTargetException();
+        } catch (final InvocationTargetException ex) {
+            targetException = ex.getTargetException();
         }
         assertTrue("expected throw IllegalArgumentException", targetException instanceof IllegalArgumentException);
     }
@@ -131,6 +130,6 @@ public final class OnDuplicateUpdateContextTest {
         List<Object> parameters = Collections.emptyList();
         OnDuplicateUpdateContext onDuplicateUpdateContext = new OnDuplicateUpdateContext(assignments, parameters, 0);
         ColumnSegment column = onDuplicateUpdateContext.getColumn(0);
-        Assert.assertThat(column, is(assignments.iterator().next().getColumn()));
+        assertThat(column, is(assignments.iterator().next().getColumn()));
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/impl/PostgreSQLDMLVisitor.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/impl/PostgreSQLDMLVisitor.java
index 94db99f..b1520ca 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/impl/PostgreSQLDMLVisitor.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/impl/PostgreSQLDMLVisitor.java
@@ -430,7 +430,7 @@ public final class PostgreSQLDMLVisitor extends PostgreSQLVisitor implements DML
             return projection;
         }
         if (null != expr.cExpr() && null != expr.cExpr().funcExpr()) {
-            super.visit(expr.cExpr().funcExpr());
+            visit(expr.cExpr().funcExpr());
             ProjectionSegment projection = generateProjectFromFuncExpr(expr.cExpr().funcExpr());
             AliasSegment alias = null != ctx.identifier()
                     ? new AliasSegment(ctx.identifier().start.getStartIndex(), ctx.identifier().stop.getStopIndex(), new IdentifierValue(ctx.identifier().getText())) : null;
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/visitor/VisitorRule.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/visitor/VisitorRule.java
index fdcbdab..7406836 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/visitor/VisitorRule.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/visitor/VisitorRule.java
@@ -153,7 +153,7 @@ public enum VisitorRule {
      */
     public static VisitorRule valueOf(final Class<? extends ParseTree> parseTreeClass) {
         String parseTreeClassName = parseTreeClass.getSimpleName();
-        for (VisitorRule each : VisitorRule.values()) {
+        for (VisitorRule each : values()) {
             if (each.getContextName().equals(parseTreeClassName)) {
                 return each;
             }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/AggregationType.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/AggregationType.java
index 6c2d844..19833a8 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/AggregationType.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/AggregationType.java
@@ -30,7 +30,7 @@ public enum AggregationType {
      * @return is aggregation type or not
      */
     public static boolean isAggregationType(final String aggregationType) {
-        for (AggregationType each : AggregationType.values()) {
+        for (AggregationType each : values()) {
             if (aggregationType.equalsIgnoreCase(each.name())) {
                 return true;
             }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/LogicalOperator.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/LogicalOperator.java
index fb0e840..d327b6c 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/LogicalOperator.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/LogicalOperator.java
@@ -43,7 +43,7 @@ public enum LogicalOperator {
      * @return logical operator value
      */
     public static Optional<LogicalOperator> valueFrom(final String text) {
-        for (LogicalOperator each : LogicalOperator.values()) {
+        for (LogicalOperator each : values()) {
             if (each.texts.contains(text)) {
                 return Optional.of(each);
             }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/Paren.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/Paren.java
index aa1f43d..ad45c32 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/Paren.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/Paren.java
@@ -40,7 +40,7 @@ public enum Paren {
      * @return is left paren or not
      */
     public static boolean isLeftParen(final char token) {
-        for (Paren each : Paren.values()) {
+        for (Paren each : values()) {
             if (each.leftParen == token) {
                 return true;
             }
@@ -56,7 +56,7 @@ public enum Paren {
      * @return match or not
      */
     public static boolean match(final char leftToken, final char rightToken) {
-        for (Paren each : Paren.values()) {
+        for (Paren each : values()) {
             if (each.leftParen == leftToken && each.rightParen == rightToken) {
                 return true;
             }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/QuoteCharacter.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/QuoteCharacter.java
index af7a296..2c6aa74 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/QuoteCharacter.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/constant/QuoteCharacter.java
@@ -50,13 +50,13 @@ public enum QuoteCharacter {
      */
     public static QuoteCharacter getQuoteCharacter(final String value) {
         if (Strings.isNullOrEmpty(value)) {
-            return QuoteCharacter.NONE;
+            return NONE;
         }
-        for (QuoteCharacter each : QuoteCharacter.values()) {
-            if (QuoteCharacter.NONE != each && each.startDelimiter.charAt(0) == value.charAt(0)) {
+        for (QuoteCharacter each : values()) {
+            if (NONE != each && each.startDelimiter.charAt(0) == value.charAt(0)) {
                 return each;
             }
         }
-        return QuoteCharacter.NONE;
+        return NONE;
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/predicate/PredicateBuilder.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/predicate/PredicateBuilder.java
index 74611f7..762daaf 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/predicate/PredicateBuilder.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/predicate/PredicateBuilder.java
@@ -69,13 +69,13 @@ public final class PredicateBuilder {
     }
     
     private void addAndPredicates(final OrPredicateSegment orPredicateSegment, final Collection<AndPredicate> leftPredicates, final Collection<AndPredicate> rightPredicates) {
-        if (0 == leftPredicates.size() && 0 == rightPredicates.size()) {
+        if (leftPredicates.isEmpty() && rightPredicates.isEmpty()) {
             return;
         }
-        if (0 == leftPredicates.size()) {
+        if (leftPredicates.isEmpty()) {
             orPredicateSegment.getAndPredicates().addAll(rightPredicates);
         }
-        if (0 == rightPredicates.size()) {
+        if (rightPredicates.isEmpty()) {
             orPredicateSegment.getAndPredicates().addAll(leftPredicates);
         }
         for (AndPredicate eachLeft : leftPredicates) {
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/dal/FromSchemaSegment.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/dal/FromSchemaSegment.java
index b8a4e7c..96e9fed 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/dal/FromSchemaSegment.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/dal/FromSchemaSegment.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.sql.parser.sql.segment.dal;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.sql.segment.SQLSegment;
 import org.apache.shardingsphere.sql.parser.sql.segment.generic.RemoveAvailable;
 
 /**
@@ -27,7 +26,7 @@ import org.apache.shardingsphere.sql.parser.sql.segment.generic.RemoveAvailable;
  */
 @RequiredArgsConstructor
 @Getter
-public final class FromSchemaSegment implements SQLSegment, RemoveAvailable {
+public final class FromSchemaSegment implements RemoveAvailable {
     
     private final int startIndex;
     
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/dml/column/ColumnSegment.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/dml/column/ColumnSegment.java
index 1376871..25fc348 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/dml/column/ColumnSegment.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/dml/column/ColumnSegment.java
@@ -21,7 +21,6 @@ import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 import lombok.ToString;
-import org.apache.shardingsphere.sql.parser.sql.segment.SQLSegment;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.value.PredicateRightValue;
 import org.apache.shardingsphere.sql.parser.sql.segment.generic.OwnerAvailable;
 import org.apache.shardingsphere.sql.parser.sql.segment.generic.OwnerSegment;
@@ -36,7 +35,7 @@ import java.util.Optional;
 @Getter
 @Setter
 @ToString
-public final class ColumnSegment implements SQLSegment, PredicateRightValue, OwnerAvailable {
+public final class ColumnSegment implements PredicateRightValue, OwnerAvailable {
     
     private final int startIndex;
     
@@ -45,7 +44,7 @@ public final class ColumnSegment implements SQLSegment, PredicateRightValue, Own
     private final IdentifierValue identifier;
     
     private OwnerSegment owner;
-
+    
     /**
      * Get qualified name with quote characters.
      * i.e. `field1`, `table1`, field1, table1, `table1`.`field1`, `table1`.field1, table1.`field1` or table1.field1
@@ -55,9 +54,9 @@ public final class ColumnSegment implements SQLSegment, PredicateRightValue, Own
     public String getQualifiedName() {
         return null == owner
             ? identifier.getValueWithQuoteCharacters()
-            : owner.getIdentifier().getValueWithQuoteCharacters() + "." + identifier.getValueWithQuoteCharacters();
+            : String.join(".", owner.getIdentifier().getValueWithQuoteCharacters(), identifier.getValueWithQuoteCharacters());
     }
-
+    
     @Override
     public Optional<OwnerSegment> getOwner() {
         return Optional.ofNullable(owner);
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/dml/item/SubqueryProjectionSegment.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/dml/item/SubqueryProjectionSegment.java
index 0bded4c..9ec6ae7 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/dml/item/SubqueryProjectionSegment.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/dml/item/SubqueryProjectionSegment.java
@@ -21,7 +21,6 @@ import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 import lombok.ToString;
-import org.apache.shardingsphere.sql.parser.sql.segment.SQLSegment;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.expr.subquery.SubquerySegment;
 import org.apache.shardingsphere.sql.parser.sql.segment.generic.AliasAvailable;
 import org.apache.shardingsphere.sql.parser.sql.segment.generic.AliasSegment;
@@ -34,7 +33,7 @@ import java.util.Optional;
 @RequiredArgsConstructor
 @Getter
 @ToString
-public final class SubqueryProjectionSegment implements SQLSegment, ProjectionSegment, AliasAvailable {
+public final class SubqueryProjectionSegment implements ProjectionSegment, AliasAvailable {
     
     private final SubquerySegment subquery;
     
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/generic/DataTypeLengthSegment.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/generic/DataTypeLengthSegment.java
index 0b0ea3a..3f38df5 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/generic/DataTypeLengthSegment.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/segment/generic/DataTypeLengthSegment.java
@@ -40,6 +40,6 @@ public final class DataTypeLengthSegment implements SQLSegment {
      * @return Optional.
      */
     public Optional<Integer> getScale() {
-        return Optional.ofNullable(scale);
+        return Optional.of(scale);
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/statement/dml/InsertStatement.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/statement/dml/InsertStatement.java
index 9407add..946b5e0 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/statement/dml/InsertStatement.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/statement/dml/InsertStatement.java
@@ -34,7 +34,6 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Locale;
 import java.util.Optional;
 
 /**
@@ -122,7 +121,7 @@ public final class InsertStatement extends DMLStatement {
     private List<String> getColumnNamesForInsertColumns() {
         List<String> result = new LinkedList<>();
         for (ColumnSegment each : getColumns()) {
-            result.add(each.getIdentifier().getValue().toLowerCase(Locale.ENGLISH));
+            result.add(each.getIdentifier().getValue().toLowerCase());
         }
         return result;
     }
@@ -130,7 +129,7 @@ public final class InsertStatement extends DMLStatement {
     private List<String> getColumnNamesForSetAssignment() {
         List<String> result = new LinkedList<>();
         for (AssignmentSegment each : setAssignment.getAssignments()) {
-            result.add(each.getColumn().getIdentifier().getValue().toLowerCase(Locale.ENGLISH));
+            result.add(each.getColumn().getIdentifier().getValue().toLowerCase());
         }
         return result;
     }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/util/SQLUtil.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/util/SQLUtil.java
index bd60e6b..66dbe03 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/util/SQLUtil.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/util/SQLUtil.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sql.parser.sql.util;
 import com.google.common.base.CharMatcher;
 import com.google.common.base.Strings;
 import lombok.AccessLevel;
-import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.sql.parser.sql.constant.Paren;
 
 import java.math.BigDecimal;
@@ -29,7 +29,7 @@ import java.math.BigInteger;
 /**
  * SQL utility class.
  */
-@AllArgsConstructor(access = AccessLevel.PRIVATE)
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class SQLUtil {
     
     /**
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/util/SafeRangeOperationUtils.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/util/SafeRangeOperationUtils.java
index a040fd3..dfb41ab 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/util/SafeRangeOperationUtils.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/util/SafeRangeOperationUtils.java
@@ -21,7 +21,7 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Range;
 import lombok.AccessLevel;
-import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
 import lombok.SneakyThrows;
 
 import java.math.BigDecimal;
@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
 /**
  * Safe range operation utility class.
  */
-@AllArgsConstructor(access = AccessLevel.PRIVATE)
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class SafeRangeOperationUtils {
     
     /**
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/util/WhereSegmentExtractUtils.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/util/WhereSegmentExtractUtils.java
index 2251232..f0c1f92 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/util/WhereSegmentExtractUtils.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/util/WhereSegmentExtractUtils.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.sql.parser.sql.util;
 
 import lombok.AccessLevel;
-import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.JoinedTableSegment;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.TableFactorSegment;
 import org.apache.shardingsphere.sql.parser.sql.segment.dml.TableReferenceSegment;
@@ -45,7 +45,7 @@ import java.util.stream.Collectors;
 /**
  * Where segment extract utility class.
  */
-@AllArgsConstructor(access = AccessLevel.PRIVATE)
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class WhereSegmentExtractUtils {
     
     /**
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/value/collection/CollectionValue.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/value/collection/CollectionValue.java
index d60159d..f24023e 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/value/collection/CollectionValue.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/value/collection/CollectionValue.java
@@ -37,6 +37,6 @@ public final class CollectionValue<T> implements ValueASTNode<Collection> {
      * @param collectionValue collection value
      */
     public void combine(final CollectionValue<T> collectionValue) {
-        value.addAll(collectionValue.getValue());
+        value.addAll(collectionValue.value);
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/segment/dml/column/ColumnSegmentTest.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/segment/dml/column/ColumnSegmentTest.java
index 281635b..4eb3890 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/segment/dml/column/ColumnSegmentTest.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/segment/dml/column/ColumnSegmentTest.java
@@ -31,34 +31,34 @@ public final class ColumnSegmentTest {
         ColumnSegment actual = new ColumnSegment(0, 0, new IdentifierValue("col"));
         assertThat(actual.getQualifiedName(), is("col"));
     }
-
+    
     @Test
     public void assertGetQualifiedNameWithoutOwner2() {
         ColumnSegment actual = new ColumnSegment(0, 0, new IdentifierValue("`col`"));
         assertThat(actual.getQualifiedName(), is("`col`"));
     }
-
+    
     @Test
     public void assertGetQualifiedNameWithOwner() {
         ColumnSegment actual = new ColumnSegment(0, 0, new IdentifierValue("col"));
         actual.setOwner(new OwnerSegment(0, 0, new IdentifierValue("tbl")));
         assertThat(actual.getQualifiedName(), is("tbl.col"));
     }
-
+    
     @Test
     public void assertGetQualifiedNameWithOwner2() {
         ColumnSegment actual = new ColumnSegment(0, 0, new IdentifierValue("`col`"));
         actual.setOwner(new OwnerSegment(0, 0, new IdentifierValue("tbl")));
         assertThat(actual.getQualifiedName(), is("tbl.`col`"));
     }
-
+    
     @Test
     public void assertGetQualifiedNameWithOwner3() {
         ColumnSegment actual = new ColumnSegment(0, 0, new IdentifierValue("col"));
         actual.setOwner(new OwnerSegment(0, 0, new IdentifierValue("`tbl`")));
         assertThat(actual.getQualifiedName(), is("`tbl`.col"));
     }
-
+    
     @Test
     public void assertGetQualifiedNameWithOwner4() {
         ColumnSegment actual = new ColumnSegment(0, 0, new IdentifierValue("`col`"));
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/test/java/org/apache/shardingsphere/sql/parser/integrate/asserts/statement/dal/impl/SetVariableStatementAssert.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/test/java/org/apache/shardingsphere/sql/parser/integrate/asserts/statement/dal/impl/SetVariableStatementAssert.java
index c56952e..a421ed1 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/test/java/org/apache/shardingsphere/sql/parser/integrate/asserts/statement/dal/impl/SetVariableStatementAssert.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/test/java/org/apache/shardingsphere/sql/parser/integrate/asserts/statement/dal/impl/SetVariableStatementAssert.java
@@ -43,7 +43,7 @@ public final class SetVariableStatementAssert {
      */
     public static void assertIs(final SQLCaseAssertContext assertContext, final SetStatement actual, final SetVariableStatementTestCase expected) {
         assertThat(assertContext.getText("variableAssign size assertion error: "), actual.getVariableAssigns().size(), is(expected.getValueAssigns().size()));
-        if (0 != expected.getValueAssigns().size()) {
+        if (!expected.getValueAssigns().isEmpty()) {
             for (int i = 0; i < expected.getValueAssigns().size(); i++) {
                 assertVariable(assertContext, actual.getVariableAssigns().get(i).getVariable(), expected.getValueAssigns().get(i).getVariable());
                 assertThat(assertContext.getText("variableAssign assert error."), actual.getVariableAssigns().get(i).getAssignValue(), is(expected.getValueAssigns().get(i).getValue()));
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/test/java/org/apache/shardingsphere/sql/parser/integrate/jaxb/cases/SQLParserTestCasesRegistry.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/test/java/org/apache/shardingsphere/sql/parser/integrate/jaxb/cases/SQLParserTestCasesRegistry.java
index 95e9a7d..70678a4 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/test/java/org/apache/shardingsphere/sql/parser/integrate/jaxb/cases/SQLParserTestCasesRegistry.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/test/java/org/apache/shardingsphere/sql/parser/integrate/jaxb/cases/SQLParserTestCasesRegistry.java
@@ -81,7 +81,7 @@ public final class SQLParserTestCasesRegistry {
     private Map<String, SQLParserTestCase> getSQLParserTestCases(final File file) {
         try {
             return ((SQLParserTestCases) JAXBContext.newInstance(SQLParserTestCases.class).createUnmarshaller().unmarshal(file)).getAllSQLParserTestCases();
-        } catch (JAXBException ex) {
+        } catch (final JAXBException ex) {
             throw new RuntimeException(ex);
         }
     }
diff --git a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/XATransactionDataSource.java b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/XATransactionDataSource.java
index 049aefc..03bbd37 100644
--- a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/XATransactionDataSource.java
+++ b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/XATransactionDataSource.java
@@ -60,7 +60,7 @@ public final class XATransactionDataSource implements AutoCloseable {
         this.resourceName = resourceName;
         this.dataSource = dataSource;
         if (!CONTAINER_DATASOURCE_NAMES.contains(dataSource.getClass().getSimpleName())) {
-            this.xaDataSource = XADataSourceFactory.build(databaseType, dataSource);
+            xaDataSource = XADataSourceFactory.build(databaseType, dataSource);
             this.xaTransactionManager = xaTransactionManager;
             xaTransactionManager.registerRecoveryResource(resourceName, xaDataSource);
         }
@@ -80,7 +80,7 @@ public final class XATransactionDataSource implements AutoCloseable {
         }
         Connection result = dataSource.getConnection();
         XAConnection xaConnection = XAConnectionFactory.createXAConnection(databaseType, xaDataSource, result);
-        final Transaction transaction = xaTransactionManager.getTransactionManager().getTransaction();
+        Transaction transaction = xaTransactionManager.getTransactionManager().getTransaction();
         if (!enlistedTransactions.get().contains(transaction)) {
             transaction.enlistResource(new SingleXAResource(resourceName, xaConnection.getXAResource()));
             transaction.registerSynchronization(new Synchronization() {
diff --git a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/swapper/DataSourcePropertyProviderLoader.java b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/swapper/DataSourcePropertyProviderLoader.java
index b62ca62..f23a872 100644
--- a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/swapper/DataSourcePropertyProviderLoader.java
+++ b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/swapper/DataSourcePropertyProviderLoader.java
@@ -17,6 +17,8 @@
 
 package org.apache.shardingsphere.transaction.xa.jta.datasource.swapper;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.transaction.xa.jta.datasource.swapper.impl.DefaultDataSourcePropertyProvider;
 
 import javax.sql.DataSource;
@@ -27,6 +29,7 @@ import java.util.ServiceLoader;
 /**
  * Data source property provider loader.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DataSourcePropertyProviderLoader {
     
     private static final Map<String, DataSourcePropertyProvider> DATA_SOURCE_PROPERTY_PROVIDERS = new HashMap<>();
diff --git a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/test/java/org/apache/shardingsphere/transaction/xa/fixture/DataSourceUtils.java b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/test/java/org/apache/shardingsphere/transaction/xa/fixture/DataSourceUtils.java
index ddf362b..e2308e0 100644
--- a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/test/java/org/apache/shardingsphere/transaction/xa/fixture/DataSourceUtils.java
+++ b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/test/java/org/apache/shardingsphere/transaction/xa/fixture/DataSourceUtils.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.transaction.xa.fixture;
 
 import com.atomikos.jdbc.AtomikosDataSourceBean;
 import com.zaxxer.hikari.HikariDataSource;
+import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.transaction.xa.jta.datasource.XADataSourceFactory;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
@@ -28,7 +29,7 @@ import javax.sql.DataSource;
 /**
  * Data source utility.
  */
-@NoArgsConstructor
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class DataSourceUtils {
     
     /**
@@ -46,7 +47,7 @@ public final class DataSourceUtils {
             return createAtomikosDataSourceBean(databaseType, createHikariDataSource(databaseType, databaseName), databaseName);
         }
         
-        throw new UnsupportedOperationException(dataSourceClass.getClass().getName());
+        throw new UnsupportedOperationException(dataSourceClass.getName());
     }
     
     private static HikariDataSource createHikariDataSource(final DatabaseType databaseType, final String databaseName) {
diff --git a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/test/java/org/apache/shardingsphere/transaction/xa/jta/connection/dialect/OracleXAConnectionWrapperTest.java b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/test/java/org/apache/shardingsphere/transaction/xa/jta/connection/dialect/OracleXAConnectionWrapperTest.java
index b94ab93..6a05efc 100644
--- a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/test/java/org/apache/shardingsphere/transaction/xa/jta/connection/dialect/OracleXAConnectionWrapperTest.java
+++ b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/test/java/org/apache/shardingsphere/transaction/xa/jta/connection/dialect/OracleXAConnectionWrapperTest.java
@@ -47,13 +47,13 @@ import static org.mockito.Mockito.when;
 @RunWith(MockitoJUnitRunner.class)
 public final class OracleXAConnectionWrapperTest {
     
+    private static final short MINIMUM_VERSION_OF_XA_SUPPORTED = 8171;
+    
     private XADataSource xaDataSource;
     
     @Mock
     private Connection connection;
     
-    private final short minimumVersionOfXaSupported = 8171;
-    
     @SneakyThrows(ReflectiveOperationException.class)
     @Before
     @Ignore("oracle jdbc driver is not import because of the limitations of license")
@@ -63,7 +63,7 @@ public final class OracleXAConnectionWrapperTest {
         xaDataSource = XADataSourceFactory.build(DatabaseTypes.getActualDatabaseType("Oracle"), dataSource);
         when(this.connection.unwrap(any())).thenReturn(connection);
         Method getVersionNumberMethod = connection.getClass().getDeclaredMethod("getVersionNumber");
-        when(getVersionNumberMethod.invoke(connection)).thenReturn(minimumVersionOfXaSupported);
+        when(getVersionNumberMethod.invoke(connection)).thenReturn(MINIMUM_VERSION_OF_XA_SUPPORTED);
         Method getLogicalConnectionMethod = connection.getClass().getDeclaredMethod("getLogicalConnection", Class.forName("oracle.jdbc.pool.OraclePooledConnection"), Boolean.TYPE);
         Connection logicalConnection = (Connection) mock(Class.forName("oracle.jdbc.driver.LogicalConnection"));
         when(getLogicalConnectionMethod.invoke(connection, any(), anyBoolean())).thenReturn(logicalConnection);
diff --git a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/test/java/org/apache/shardingsphere/transaction/xa/jta/datasource/XATransactionDataSourceTest.java b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/test/java/org/apache/shardingsphere/transaction/xa/jta/datasource/XATransactionDataSourceTest.java
index 7218bdd..f1f1344 100644
--- a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/test/java/org/apache/shardingsphere/transaction/xa/jta/datasource/XATransactionDataSourceTest.java
+++ b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-core/src/test/java/org/apache/shardingsphere/transaction/xa/jta/datasource/XATransactionDataSourceTest.java
@@ -26,7 +26,6 @@ import org.apache.shardingsphere.transaction.xa.spi.XATransactionManager;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.ArgumentMatchers;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
 
@@ -78,12 +77,12 @@ public final class XATransactionDataSourceTest {
         DataSource dataSource = DataSourceUtils.build(HikariDataSource.class, DatabaseTypes.getActualDatabaseType("H2"), "ds1");
         XATransactionDataSource transactionDataSource = new XATransactionDataSource(DatabaseTypes.getActualDatabaseType("H2"), "ds1", dataSource, xaTransactionManager);
         try (Connection ignored = transactionDataSource.getConnection()) {
-            verify(transaction).enlistResource(ArgumentMatchers.any(SingleXAResource.class));
-            verify(transaction).registerSynchronization(ArgumentMatchers.any(Synchronization.class));
+            verify(transaction).enlistResource(any(SingleXAResource.class));
+            verify(transaction).registerSynchronization(any(Synchronization.class));
         }
         try (Connection ignored = transactionDataSource.getConnection()) {
-            verify(transaction).enlistResource(ArgumentMatchers.any(SingleXAResource.class));
-            verify(transaction).registerSynchronization(ArgumentMatchers.any(Synchronization.class));
+            verify(transaction).enlistResource(any(SingleXAResource.class));
+            verify(transaction).registerSynchronization(any(Synchronization.class));
         }
     }
     
diff --git a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-narayana/src/main/java/org/apache/shardingsphere/transaction/xa/narayana/manager/DataSourceXAResourceRecoveryHelper.java b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-narayana/src/main/java/org/apache/shardingsphere/transaction/xa/narayana/manager/DataSourceXAResourceRecoveryHelper.java
index 70c6dbf..fbd3993 100644
--- a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-narayana/src/main/java/org/apache/shardingsphere/transaction/xa/narayana/manager/DataSourceXAResourceRecoveryHelper.java
+++ b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-narayana/src/main/java/org/apache/shardingsphere/transaction/xa/narayana/manager/DataSourceXAResourceRecoveryHelper.java
@@ -81,11 +81,11 @@ public final class DataSourceXAResourceRecoveryHelper implements XAResourceRecov
     }
     
     private boolean connect() {
-        if (null == this.delegate) {
+        if (null == delegate) {
             try {
-                this.xaConnection = getXaConnection();
-                this.delegate = this.xaConnection.getXAResource();
-            } catch (SQLException ex) {
+                xaConnection = getXaConnection();
+                delegate = xaConnection.getXAResource();
+            } catch (final SQLException ex) {
                 log.warn("Failed to create connection", ex);
                 return false;
             }
@@ -94,10 +94,10 @@ public final class DataSourceXAResourceRecoveryHelper implements XAResourceRecov
     }
     
     private XAConnection getXaConnection() throws SQLException {
-        if (null == this.user && null == this.password) {
-            return this.xaDataSource.getXAConnection();
+        if (null == user && null == password) {
+            return xaDataSource.getXAConnection();
         }
-        return this.xaDataSource.getXAConnection(this.user, this.password);
+        return xaDataSource.getXAConnection(user, password);
     }
     
     @Override
@@ -113,12 +113,12 @@ public final class DataSourceXAResourceRecoveryHelper implements XAResourceRecov
     
     private void disconnect() {
         try {
-            this.xaConnection.close();
-        } catch (SQLException ex) {
+            xaConnection.close();
+        } catch (final SQLException ex) {
             log.warn("Failed to close connection", ex);
         } finally {
-            this.xaConnection = null;
-            this.delegate = null;
+            xaConnection = null;
+            delegate = null;
         }
     }
     
@@ -168,9 +168,9 @@ public final class DataSourceXAResourceRecoveryHelper implements XAResourceRecov
     }
     
     private XAResource getDelegate() {
-        if (null == this.delegate) {
+        if (null == delegate) {
             throw new IllegalStateException("Connection has not been opened");
         }
-        return this.delegate;
+        return delegate;
     }
 }
diff --git a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-spi/src/main/java/org/apache/shardingsphere/transaction/xa/spi/SingleXAResource.java b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-spi/src/main/java/org/apache/shardingsphere/transaction/xa/spi/SingleXAResource.java
index 2dbea00..1015126 100644
--- a/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-spi/src/main/java/org/apache/shardingsphere/transaction/xa/spi/SingleXAResource.java
+++ b/shardingsphere-transaction/shardingsphere-transaction-2pc/shardingsphere-transaction-xa/shardingsphere-transaction-xa-spi/src/main/java/org/apache/shardingsphere/transaction/xa/spi/SingleXAResource.java
@@ -58,7 +58,7 @@ public final class SingleXAResource implements XAResource {
     @Override
     public boolean isSameRM(final XAResource xaResource) {
         SingleXAResource singleXAResource = (SingleXAResource) xaResource;
-        return resourceName.equals(singleXAResource.getResourceName());
+        return resourceName.equals(singleXAResource.resourceName);
     }
     
     @Override
diff --git a/shardingsphere-transaction/shardingsphere-transaction-base/shardingsphere-transaction-base-seata-at/src/main/java/org/apache/shardingsphere/transaction/base/seata/at/SeataTransactionHolder.java b/shardingsphere-transaction/shardingsphere-transaction-base/shardingsphere-transaction-base-seata-at/src/main/java/org/apache/shardingsphere/transaction/base/seata/at/SeataTransactionHolder.java
index 31f8187..b7a2bb7 100644
--- a/shardingsphere-transaction/shardingsphere-transaction-base/shardingsphere-transaction-base-seata-at/src/main/java/org/apache/shardingsphere/transaction/base/seata/at/SeataTransactionHolder.java
+++ b/shardingsphere-transaction/shardingsphere-transaction-base/shardingsphere-transaction-base-seata-at/src/main/java/org/apache/shardingsphere/transaction/base/seata/at/SeataTransactionHolder.java
@@ -18,10 +18,13 @@
 package org.apache.shardingsphere.transaction.base.seata.at;
 
 import io.seata.tm.api.GlobalTransaction;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 
 /**
  * Seata transaction holder.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 final class SeataTransactionHolder {
     
     private static final ThreadLocal<GlobalTransaction> CONTEXT = new ThreadLocal<>();
diff --git a/shardingsphere-transaction/shardingsphere-transaction-base/shardingsphere-transaction-base-seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/fixture/MockSeataServer.java b/shardingsphere-transaction/shardingsphere-transaction-base/shardingsphere-transaction-base-seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/fixture/MockSeataServer.java
index d8c7403..3acf8b6 100644
--- a/shardingsphere-transaction/shardingsphere-transaction-base/shardingsphere-transaction-base-seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/fixture/MockSeataServer.java
+++ b/shardingsphere-transaction/shardingsphere-transaction-base/shardingsphere-transaction-base-seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/fixture/MockSeataServer.java
@@ -93,8 +93,8 @@ public final class MockSeataServer {
     @SneakyThrows
     public void shutdown() {
         if (initialized.get()) {
-            this.bossGroup.shutdownGracefully();
-            this.workerGroup.shutdownGracefully();
+            bossGroup.shutdownGracefully();
+            workerGroup.shutdownGracefully();
         }
     }
 }
diff --git a/shardingsphere-transaction/shardingsphere-transaction-core/src/main/java/org/apache/shardingsphere/transaction/core/ResourceDataSource.java b/shardingsphere-transaction/shardingsphere-transaction-core/src/main/java/org/apache/shardingsphere/transaction/core/ResourceDataSource.java
index a263a66..886290b 100644
--- a/shardingsphere-transaction/shardingsphere-transaction-core/src/main/java/org/apache/shardingsphere/transaction/core/ResourceDataSource.java
+++ b/shardingsphere-transaction/shardingsphere-transaction-core/src/main/java/org/apache/shardingsphere/transaction/core/ResourceDataSource.java
@@ -36,6 +36,6 @@ public final class ResourceDataSource {
     public ResourceDataSource(final String originalName, final DataSource dataSource) {
         this.originalName = originalName;
         this.dataSource = dataSource;
-        this.uniqueResourceName = ResourceIDGenerator.getInstance().nextId() + originalName;
+        uniqueResourceName = ResourceIDGenerator.getInstance().nextId() + originalName;
     }
 }
diff --git a/shardingsphere-transaction/shardingsphere-transaction-core/src/main/java/org/apache/shardingsphere/transaction/core/TransactionTypeHolder.java b/shardingsphere-transaction/shardingsphere-transaction-core/src/main/java/org/apache/shardingsphere/transaction/core/TransactionTypeHolder.java
index 7af7e8b..1560077 100644
--- a/shardingsphere-transaction/shardingsphere-transaction-core/src/main/java/org/apache/shardingsphere/transaction/core/TransactionTypeHolder.java
+++ b/shardingsphere-transaction/shardingsphere-transaction-core/src/main/java/org/apache/shardingsphere/transaction/core/TransactionTypeHolder.java
@@ -17,9 +17,13 @@
 
 package org.apache.shardingsphere.transaction.core;
 
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
 /**
  * Hold transaction type for current thread.
  */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class TransactionTypeHolder {
     
     private static final ThreadLocal<TransactionType> CONTEXT = ThreadLocal.withInitial(() -> TransactionType.LOCAL);