diff --git a/base-third-project/base-third-step8/pom.xml b/base-third-project/base-third-step8/pom.xml
index 7590473d7..576156948 100644
--- a/base-third-project/base-third-step8/pom.xml
+++ b/base-third-project/base-third-step8/pom.xml
@@ -7,7 +7,7 @@
com.fr.third
base-third
- 10.0-FEATURE-SNAPSHOT
+ ${revision}
step8
diff --git a/fine-hibernate/lib/junit-4.12.jar b/fine-hibernate/lib/junit-4.12.jar
new file mode 100644
index 000000000..3a7fc266c
Binary files /dev/null and b/fine-hibernate/lib/junit-4.12.jar differ
diff --git a/fine-hibernate/pom.xml b/fine-hibernate/pom.xml
index a35e1c847..6a7709d55 100644
--- a/fine-hibernate/pom.xml
+++ b/fine-hibernate/pom.xml
@@ -107,12 +107,12 @@
system
${basedir}/lib/validation-api-1.1.0.Final.jar
-
-
-
-
-
-
-
+
+ com.fr.third
+ junit
+ local
+ system
+ ${basedir}/lib/junit-4.12.jar
+
\ No newline at end of file
diff --git a/fine-itext/pom.xml b/fine-itext/pom.xml
index 6a1149698..118782a2b 100644
--- a/fine-itext/pom.xml
+++ b/fine-itext/pom.xml
@@ -25,5 +25,15 @@
fine-icu4j
${revision}
+
+ com.fr.third
+ fine-bouncycastle
+ ${revision}
+
+
+ com.fr.third
+ fine-sun-misc
+ ${revision}
+
\ No newline at end of file
diff --git a/fine-jedis/src/main/java/com/fr/third/redis/clients/jedis/HostAndPort.java b/fine-jedis/src/main/java/com/fr/third/redis/clients/jedis/HostAndPort.java
index 6dcfcb7d8..6d328260d 100644
--- a/fine-jedis/src/main/java/com/fr/third/redis/clients/jedis/HostAndPort.java
+++ b/fine-jedis/src/main/java/com/fr/third/redis/clients/jedis/HostAndPort.java
@@ -3,8 +3,8 @@ package com.fr.third.redis.clients.jedis;
import java.io.Serializable;
import java.net.InetAddress;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
public class HostAndPort implements Serializable {
private static final long serialVersionUID = -519876229978427751L;
diff --git a/fine-jedis/src/main/java/com/fr/third/redis/clients/jedis/JedisSentinelPool.java b/fine-jedis/src/main/java/com/fr/third/redis/clients/jedis/JedisSentinelPool.java
index 944cfd245..f306580c9 100644
--- a/fine-jedis/src/main/java/com/fr/third/redis/clients/jedis/JedisSentinelPool.java
+++ b/fine-jedis/src/main/java/com/fr/third/redis/clients/jedis/JedisSentinelPool.java
@@ -7,8 +7,8 @@ import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import com.fr.third.org.apache.commons.pool2.impl.GenericObjectPoolConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.redis.clients.jedis.exceptions.JedisConnectionException;
import com.fr.third.redis.clients.jedis.exceptions.JedisException;
diff --git a/fine-kryo/pom.xml b/fine-kryo/pom.xml
index cea25531b..4eb3f4491 100644
--- a/fine-kryo/pom.xml
+++ b/fine-kryo/pom.xml
@@ -25,5 +25,10 @@
fine-sun-misc
${revision}
+
+ com.fr.essential
+ fine-objenesis
+ ${essentialVersion}
+
\ No newline at end of file
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/BaseRemoteService.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/BaseRemoteService.java
index e4227dc03..bff09a612 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/BaseRemoteService.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/BaseRemoteService.java
@@ -78,8 +78,8 @@ import com.fr.third.org.redisson.remote.RemoteServiceTimeoutException;
import com.fr.third.org.redisson.remote.RequestId;
import com.fr.third.org.redisson.remote.ResponseEntry;
import com.fr.third.org.redisson.remote.ResponseEntry.Result;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.buffer.ByteBuf;
import io.netty.util.Timeout;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/MapWriteBehindListener.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/MapWriteBehindListener.java
index 6fb0156f8..d64ad1765 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/MapWriteBehindListener.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/MapWriteBehindListener.java
@@ -19,8 +19,8 @@ import java.util.Queue;
import java.util.concurrent.atomic.AtomicInteger;
import com.fr.third.org.redisson.command.CommandAsyncExecutor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.util.concurrent.Future;
import io.netty.util.concurrent.FutureListener;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/QueueTransferTask.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/QueueTransferTask.java
index 4f3a4776a..f070f8f07 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/QueueTransferTask.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/QueueTransferTask.java
@@ -27,8 +27,8 @@ import com.fr.third.org.redisson.api.RTopic;
import com.fr.third.org.redisson.api.listener.BaseStatusListener;
import com.fr.third.org.redisson.api.listener.MessageListener;
import com.fr.third.org.redisson.connection.ConnectionManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.util.Timeout;
import io.netty.util.TimerTask;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonBaseAdder.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonBaseAdder.java
index 94ed4249e..bdc002e71 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonBaseAdder.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonBaseAdder.java
@@ -35,8 +35,8 @@ import com.fr.third.org.redisson.client.codec.LongCodec;
import com.fr.third.org.redisson.command.CommandAsyncExecutor;
import com.fr.third.org.redisson.misc.RPromise;
import com.fr.third.org.redisson.misc.RedissonPromise;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.util.concurrent.Future;
import io.netty.util.concurrent.FutureListener;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonExecutorService.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonExecutorService.java
index 48769ab18..79d071cca 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonExecutorService.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonExecutorService.java
@@ -96,8 +96,8 @@ import com.fr.third.org.redisson.misc.RedissonPromise;
import com.fr.third.org.redisson.remote.RequestId;
import com.fr.third.org.redisson.remote.ResponseEntry;
import com.fr.third.org.redisson.remote.ResponseEntry.Result;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufUtil;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonLocalCachedMap.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonLocalCachedMap.java
index df757d4fb..6a02d0c25 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonLocalCachedMap.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonLocalCachedMap.java
@@ -97,8 +97,8 @@ import com.fr.third.org.redisson.eviction.EvictionScheduler;
import com.fr.third.org.redisson.misc.Hash;
import com.fr.third.org.redisson.misc.RPromise;
import com.fr.third.org.redisson.misc.RedissonPromise;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonLock.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonLock.java
index 3c2372fca..f886dcd28 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonLock.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonLock.java
@@ -42,8 +42,8 @@ import com.fr.third.org.redisson.command.CommandAsyncExecutor;
import com.fr.third.org.redisson.misc.RPromise;
import com.fr.third.org.redisson.misc.RedissonPromise;
import com.fr.third.org.redisson.pubsub.LockPubSub;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.util.Timeout;
import io.netty.util.TimerTask;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonNode.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonNode.java
index 4195a3086..441f2d325 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonNode.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonNode.java
@@ -32,8 +32,8 @@ import com.fr.third.org.redisson.client.RedisConnection;
import com.fr.third.org.redisson.config.RedissonNodeConfig;
import com.fr.third.org.redisson.connection.ConnectionManager;
import com.fr.third.org.redisson.connection.MasterSlaveEntry;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.buffer.ByteBufUtil;
import io.netty.util.internal.PlatformDependent;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonRemoteService.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonRemoteService.java
index f54597edc..3da262685 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonRemoteService.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/RedissonRemoteService.java
@@ -75,8 +75,8 @@ import com.fr.third.org.redisson.remote.RemoteServiceRequest;
import com.fr.third.org.redisson.remote.RemoteServiceResponse;
import com.fr.third.org.redisson.remote.RequestId;
import com.fr.third.org.redisson.remote.ResponseEntry;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.util.concurrent.Future;
import io.netty.util.concurrent.FutureListener;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/Version.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/Version.java
index 0b857fa09..e992cccd5 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/Version.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/Version.java
@@ -20,8 +20,8 @@ import java.util.Enumeration;
import java.util.jar.Attributes;
import java.util.jar.Manifest;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
public class Version {
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/CommandDecoder.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/CommandDecoder.java
index 3c1790030..289cad73c 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/CommandDecoder.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/CommandDecoder.java
@@ -49,8 +49,8 @@ import com.fr.third.org.redisson.client.protocol.decoder.MultiDecoder;
import com.fr.third.org.redisson.client.protocol.decoder.SlotsDecoder;
import com.fr.third.org.redisson.misc.LogHelper;
import com.fr.third.org.redisson.misc.RPromise;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.buffer.ByteBuf;
import io.netty.channel.Channel;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/CommandEncoder.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/CommandEncoder.java
index 4865e3c29..ac5599862 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/CommandEncoder.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/CommandEncoder.java
@@ -19,8 +19,8 @@ import java.util.HashMap;
import java.util.Map;
import com.fr.third.org.redisson.client.protocol.CommandData;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufAllocator;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/CommandsQueue.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/CommandsQueue.java
index 9be21148e..f2ce24214 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/CommandsQueue.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/CommandsQueue.java
@@ -25,8 +25,8 @@ import com.fr.third.org.redisson.client.WriteRedisConnectionException;
import com.fr.third.org.redisson.client.protocol.CommandData;
import com.fr.third.org.redisson.client.protocol.QueueCommand;
import com.fr.third.org.redisson.client.protocol.QueueCommandHolder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.channel.Channel;
import io.netty.channel.ChannelDuplexHandler;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/ConnectionWatchdog.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/ConnectionWatchdog.java
index 547aaa8e3..1e87e0918 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/ConnectionWatchdog.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/client/handler/ConnectionWatchdog.java
@@ -23,8 +23,8 @@ import com.fr.third.org.redisson.client.RedisConnection;
import com.fr.third.org.redisson.client.RedisPubSubConnection;
import com.fr.third.org.redisson.client.codec.Codec;
import com.fr.third.org.redisson.client.protocol.CommandData;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.Channel;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/cluster/ClusterConnectionManager.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/cluster/ClusterConnectionManager.java
index 47008ce65..6c9f8b16e 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/cluster/ClusterConnectionManager.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/cluster/ClusterConnectionManager.java
@@ -78,8 +78,8 @@ import com.fr.third.org.redisson.connection.SingleEntry;
import com.fr.third.org.redisson.misc.RPromise;
import com.fr.third.org.redisson.misc.RedissonPromise;
import com.fr.third.org.redisson.misc.URIBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.resolver.AddressResolver;
import io.netty.util.concurrent.Future;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/command/CommandAsyncService.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/command/CommandAsyncService.java
index 25b5149dd..b7c4bd2c3 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/command/CommandAsyncService.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/command/CommandAsyncService.java
@@ -98,8 +98,8 @@ import com.fr.third.org.redisson.misc.LogHelper;
import com.fr.third.org.redisson.misc.RPromise;
import com.fr.third.org.redisson.misc.RedissonObjectFactory;
import com.fr.third.org.redisson.misc.RedissonPromise;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.channel.Channel;
import io.netty.channel.ChannelFuture;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/command/CommandSyncService.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/command/CommandSyncService.java
index f4777af7b..3c554818a 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/command/CommandSyncService.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/command/CommandSyncService.java
@@ -25,8 +25,8 @@ import com.fr.third.org.redisson.api.RFuture;
import com.fr.third.org.redisson.client.codec.Codec;
import com.fr.third.org.redisson.client.protocol.RedisCommand;
import com.fr.third.org.redisson.connection.ConnectionManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
/**
*
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/config/BaseConfig.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/config/BaseConfig.java
index 305de9bb8..cd4efae99 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/config/BaseConfig.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/config/BaseConfig.java
@@ -17,8 +17,8 @@ package com.fr.third.org.redisson.config;
import java.net.URI;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
/**
*
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/ClientConnectionsEntry.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/ClientConnectionsEntry.java
index 122f3ce8d..0ccb9747b 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/ClientConnectionsEntry.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/ClientConnectionsEntry.java
@@ -33,8 +33,8 @@ import com.fr.third.org.redisson.client.RedisConnection;
import com.fr.third.org.redisson.client.RedisPubSubConnection;
import com.fr.third.org.redisson.config.MasterSlaveServersConfig;
import com.fr.third.org.redisson.pubsub.AsyncSemaphore;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.util.concurrent.Future;
import io.netty.util.concurrent.FutureListener;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/DNSMonitor.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/DNSMonitor.java
index 3fd30d6a2..3493606a4 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/DNSMonitor.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/DNSMonitor.java
@@ -29,8 +29,8 @@ import com.fr.third.org.redisson.client.RedisClient;
import com.fr.third.org.redisson.api.RFuture;
import com.fr.third.org.redisson.client.RedisClient;
import com.fr.third.org.redisson.connection.ClientConnectionsEntry.FreezeReason;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.resolver.AddressResolver;
import io.netty.resolver.dns.DnsAddressResolverGroup;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/IdleConnectionWatcher.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/IdleConnectionWatcher.java
index 1468dac91..bd4ab6f75 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/IdleConnectionWatcher.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/IdleConnectionWatcher.java
@@ -26,8 +26,8 @@ import com.fr.third.org.redisson.pubsub.AsyncSemaphore;
import com.fr.third.org.redisson.client.RedisConnection;
import com.fr.third.org.redisson.config.MasterSlaveServersConfig;
import com.fr.third.org.redisson.pubsub.AsyncSemaphore;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.channel.ChannelFuture;
import io.netty.util.concurrent.Future;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/MasterSlaveConnectionManager.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/MasterSlaveConnectionManager.java
index 695551d1a..9479922ee 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/MasterSlaveConnectionManager.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/MasterSlaveConnectionManager.java
@@ -72,8 +72,8 @@ import com.fr.third.org.redisson.misc.RedissonPromise;
import com.fr.third.org.redisson.misc.URIBuilder;
import com.fr.third.org.redisson.pubsub.AsyncSemaphore;
import com.fr.third.org.redisson.pubsub.PublishSubscribeService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.epoll.EpollDatagramChannel;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/MasterSlaveEntry.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/MasterSlaveEntry.java
index 93d1a85d6..8c60b71f9 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/MasterSlaveEntry.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/MasterSlaveEntry.java
@@ -64,8 +64,8 @@ import com.fr.third.org.redisson.misc.RPromise;
import com.fr.third.org.redisson.misc.RedissonPromise;
import com.fr.third.org.redisson.misc.TransferListener;
import com.fr.third.org.redisson.misc.URIBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelFutureListener;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/ReplicatedConnectionManager.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/ReplicatedConnectionManager.java
index c8a8b1c28..969449fc7 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/ReplicatedConnectionManager.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/ReplicatedConnectionManager.java
@@ -40,8 +40,8 @@ import com.fr.third.org.redisson.config.BaseMasterSlaveServersConfig;
import com.fr.third.org.redisson.config.Config;
import com.fr.third.org.redisson.config.MasterSlaveServersConfig;
import com.fr.third.org.redisson.config.ReplicatedServersConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.util.concurrent.Future;
import io.netty.util.concurrent.FutureListener;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/SentinelConnectionManager.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/SentinelConnectionManager.java
index 6bfdc2e0f..9701d631e 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/SentinelConnectionManager.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/SentinelConnectionManager.java
@@ -61,8 +61,8 @@ import com.fr.third.org.redisson.connection.ClientConnectionsEntry.FreezeReason;
import com.fr.third.org.redisson.misc.RPromise;
import com.fr.third.org.redisson.misc.RedissonPromise;
import com.fr.third.org.redisson.misc.URIBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.resolver.AddressResolver;
import io.netty.util.concurrent.Future;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/balancer/LoadBalancerManager.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/balancer/LoadBalancerManager.java
index 1e356c4ab..0bad8a795 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/balancer/LoadBalancerManager.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/balancer/LoadBalancerManager.java
@@ -53,8 +53,8 @@ import com.fr.third.org.redisson.connection.pool.SlaveConnectionPool;
import com.fr.third.org.redisson.misc.RPromise;
import com.fr.third.org.redisson.misc.RedissonPromise;
import com.fr.third.org.redisson.misc.URIBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.util.internal.PlatformDependent;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/pool/ConnectionPool.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/pool/ConnectionPool.java
index 96f9cd4e8..2277d7ce7 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/pool/ConnectionPool.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/connection/pool/ConnectionPool.java
@@ -46,8 +46,8 @@ import com.fr.third.org.redisson.connection.ConnectionManager;
import com.fr.third.org.redisson.connection.MasterSlaveEntry;
import com.fr.third.org.redisson.misc.RPromise;
import com.fr.third.org.redisson.misc.RedissonPromise;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.util.Timeout;
import io.netty.util.TimerTask;
diff --git a/fine-redisson/src/main/java/com/fr/third/org/redisson/pubsub/PublishSubscribeService.java b/fine-redisson/src/main/java/com/fr/third/org/redisson/pubsub/PublishSubscribeService.java
index e70f22de0..edaed376a 100644
--- a/fine-redisson/src/main/java/com/fr/third/org/redisson/pubsub/PublishSubscribeService.java
+++ b/fine-redisson/src/main/java/com/fr/third/org/redisson/pubsub/PublishSubscribeService.java
@@ -36,8 +36,8 @@ import com.fr.third.org.redisson.connection.MasterSlaveEntry;
import com.fr.third.org.redisson.connection.PubSubConnectionEntry;
import com.fr.third.org.redisson.misc.RPromise;
import com.fr.third.org.redisson.misc.RedissonPromise;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.util.Timeout;
import io.netty.util.TimerTask;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/JsonSupportWrapper.java b/fine-socketio/src/main/java/com/fr/third/socketio/JsonSupportWrapper.java
index 6d65fbfb1..ff9c8509b 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/JsonSupportWrapper.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/JsonSupportWrapper.java
@@ -21,8 +21,8 @@ import io.netty.buffer.ByteBufOutputStream;
import java.io.IOException;
import java.util.List;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.socketio.protocol.AckArgs;
import com.fr.third.socketio.protocol.JsonSupport;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/SocketIOChannelInitializer.java b/fine-socketio/src/main/java/com/fr/third/socketio/SocketIOChannelInitializer.java
index 068adf330..0ea37272d 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/SocketIOChannelInitializer.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/SocketIOChannelInitializer.java
@@ -24,8 +24,8 @@ import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
import com.fr.stable.ArrayUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.socketio.ack.AckManager;
import com.fr.third.socketio.handler.AuthorizeHandler;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/SocketIOServer.java b/fine-socketio/src/main/java/com/fr/third/socketio/SocketIOServer.java
index 28127d7de..5c5128b72 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/SocketIOServer.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/SocketIOServer.java
@@ -36,8 +36,8 @@ import java.util.UUID;
import java.util.concurrent.TimeUnit;
import io.netty.util.concurrent.GenericFutureListener;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.socketio.namespace.Namespace;
import com.fr.third.socketio.namespace.NamespacesHub;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/ack/AckManager.java b/fine-socketio/src/main/java/com/fr/third/socketio/ack/AckManager.java
index 3016fb91d..40aa49bda 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/ack/AckManager.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/ack/AckManager.java
@@ -22,8 +22,8 @@ import com.fr.third.socketio.scheduler.CancelableScheduler;
import com.fr.third.socketio.scheduler.SchedulerKey;
import com.fr.third.socketio.scheduler.SchedulerKey.Type;
import io.netty.util.internal.PlatformDependent;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/annotation/ScannerEngine.java b/fine-socketio/src/main/java/com/fr/third/socketio/annotation/ScannerEngine.java
index a36af1669..796f8017e 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/annotation/ScannerEngine.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/annotation/ScannerEngine.java
@@ -21,8 +21,8 @@ import java.lang.reflect.Modifier;
import java.util.Arrays;
import java.util.List;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.socketio.namespace.Namespace;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/annotation/SpringAnnotationScanner.java b/fine-socketio/src/main/java/com/fr/third/socketio/annotation/SpringAnnotationScanner.java
index be860c795..7a2916c87 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/annotation/SpringAnnotationScanner.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/annotation/SpringAnnotationScanner.java
@@ -21,8 +21,8 @@ import java.util.Arrays;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.springframework.beans.BeansException;
import com.fr.third.springframework.beans.factory.config.BeanPostProcessor;
import com.fr.third.springframework.util.ReflectionUtils;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/handler/AuthorizeHandler.java b/fine-socketio/src/main/java/com/fr/third/socketio/handler/AuthorizeHandler.java
index b7d29bf7f..634f7ae45 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/handler/AuthorizeHandler.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/handler/AuthorizeHandler.java
@@ -26,8 +26,8 @@ import java.util.Set;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.socketio.Configuration;
import com.fr.third.socketio.Disconnectable;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/handler/ClientHead.java b/fine-socketio/src/main/java/com/fr/third/socketio/handler/ClientHead.java
index f0afabcb1..285274a3b 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/handler/ClientHead.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/handler/ClientHead.java
@@ -36,8 +36,8 @@ import io.netty.channel.ChannelFutureListener;
import io.netty.handler.codec.http.HttpHeaderNames;
import io.netty.util.AttributeKey;
import io.netty.util.internal.PlatformDependent;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import java.net.SocketAddress;
import java.util.*;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/handler/EncoderHandler.java b/fine-socketio/src/main/java/com/fr/third/socketio/handler/EncoderHandler.java
index 8c3205de2..656f2ccb7 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/handler/EncoderHandler.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/handler/EncoderHandler.java
@@ -31,8 +31,8 @@ import com.fr.third.socketio.Configuration;
import com.fr.third.socketio.Transport;
import io.netty.util.concurrent.Future;
import io.netty.util.concurrent.GenericFutureListener;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.socketio.messages.HttpErrorMessage;
import com.fr.third.socketio.messages.HttpMessage;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/handler/InPacketHandler.java b/fine-socketio/src/main/java/com/fr/third/socketio/handler/InPacketHandler.java
index 3e5bf9850..0ad437c87 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/handler/InPacketHandler.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/handler/InPacketHandler.java
@@ -21,8 +21,8 @@ import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
import io.netty.util.CharsetUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.socketio.listener.ExceptionListener;
import com.fr.third.socketio.messages.PacketsMessage;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/handler/WrongUrlHandler.java b/fine-socketio/src/main/java/com/fr/third/socketio/handler/WrongUrlHandler.java
index a982d32be..2906a886e 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/handler/WrongUrlHandler.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/handler/WrongUrlHandler.java
@@ -17,8 +17,8 @@ package com.fr.third.socketio.handler;
import static io.netty.handler.codec.http.HttpVersion.HTTP_1_1;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import io.netty.channel.Channel;
import io.netty.channel.ChannelFuture;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/listener/DefaultExceptionListener.java b/fine-socketio/src/main/java/com/fr/third/socketio/listener/DefaultExceptionListener.java
index 829a56c6c..0b94c8fc1 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/listener/DefaultExceptionListener.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/listener/DefaultExceptionListener.java
@@ -19,8 +19,8 @@ import io.netty.channel.ChannelHandlerContext;
import java.util.List;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.socketio.SocketIOClient;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/protocol/JacksonJsonSupport.java b/fine-socketio/src/main/java/com/fr/third/socketio/protocol/JacksonJsonSupport.java
index 823f62a1b..f4be84adf 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/protocol/JacksonJsonSupport.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/protocol/JacksonJsonSupport.java
@@ -28,8 +28,8 @@ import java.util.List;
import java.util.Map;
import java.util.TimeZone;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.socketio.AckCallback;
import com.fr.third.socketio.MultiTypeAckCallback;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/store/pubsub/BaseStoreFactory.java b/fine-socketio/src/main/java/com/fr/third/socketio/store/pubsub/BaseStoreFactory.java
index 8a03bf09b..ed957f3c4 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/store/pubsub/BaseStoreFactory.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/store/pubsub/BaseStoreFactory.java
@@ -15,8 +15,8 @@
*/
package com.fr.third.socketio.store.pubsub;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.socketio.handler.AuthorizeHandler;
import com.fr.third.socketio.handler.ClientHead;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/transport/NamespaceClient.java b/fine-socketio/src/main/java/com/fr/third/socketio/transport/NamespaceClient.java
index 85076d95a..1346ded3b 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/transport/NamespaceClient.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/transport/NamespaceClient.java
@@ -21,8 +21,8 @@ import java.util.Set;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicBoolean;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.socketio.AckCallback;
import com.fr.third.socketio.HandshakeData;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/transport/PollingTransport.java b/fine-socketio/src/main/java/com/fr/third/socketio/transport/PollingTransport.java
index 36e45fedc..981875447 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/transport/PollingTransport.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/transport/PollingTransport.java
@@ -31,8 +31,8 @@ import io.netty.channel.ChannelHandler.Sharable;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.handler.codec.http.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import java.io.IOException;
import java.util.List;
diff --git a/fine-socketio/src/main/java/com/fr/third/socketio/transport/WebSocketTransport.java b/fine-socketio/src/main/java/com/fr/third/socketio/transport/WebSocketTransport.java
index c9da7f0fa..31991952d 100644
--- a/fine-socketio/src/main/java/com/fr/third/socketio/transport/WebSocketTransport.java
+++ b/fine-socketio/src/main/java/com/fr/third/socketio/transport/WebSocketTransport.java
@@ -21,8 +21,8 @@ import java.util.concurrent.TimeUnit;
import com.fr.third.socketio.protocol.Packet;
import com.fr.third.socketio.protocol.PacketType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.fr.third.slf4j.Logger;
+import com.fr.third.slf4j.LoggerFactory;
import com.fr.third.socketio.Configuration;
import com.fr.third.socketio.SocketIOChannelInitializer;
diff --git a/fine-spring/pom.xml b/fine-spring/pom.xml
index 179f0e87c..b880a0751 100644
--- a/fine-spring/pom.xml
+++ b/fine-spring/pom.xml
@@ -39,6 +39,12 @@
com.fr.third
fine-commons-fileupload
${revision}
+
+
+ com.fr.third
+ servlet-api
+
+
com.fr.essential
@@ -320,6 +326,7 @@
com.fasterxml.jackson.dataformat
jackson-dataformat-xml
+ local
system
${basedir}/lib/jackson-dataformat-xml-2.8.11.jar