diff --git a/snaparchiver/src/main/java/org/tango/server/snap/archiver/SnapArchiver.java b/snaparchiver/src/main/java/org/tango/server/snap/archiver/SnapArchiver.java
index 7dfe2efbc888d009557cfc3eae518f97b30f563f..347ace16be306a2f3756e6edcfab3b4591966d70 100644
--- a/snaparchiver/src/main/java/org/tango/server/snap/archiver/SnapArchiver.java
+++ b/snaparchiver/src/main/java/org/tango/server/snap/archiver/SnapArchiver.java
@@ -3,6 +3,7 @@ package org.tango.server.snap.archiver;
 import SnapArchiver.grouplink.UsePluginBuilder;
 import fr.esrf.Tango.DevFailed;
 import fr.soleil.actiongroup.collectiveaction.onattributes.UsePlugin;
+import fr.soleil.archiving.common.api.utils.DbConnectionInfo;
 import fr.soleil.archiving.snap.api.manager.SnapManagerApi;
 import fr.soleil.archiving.snap.api.persistence.SnapshotPersistenceManager;
 import fr.soleil.archiving.snap.api.persistence.SnapshotPersistenceManagerFactory;
@@ -87,12 +88,31 @@ public final class SnapArchiver {
     @Init
     public void init() throws DevFailed {
         try {
+            // get configuration from device class "SnapManager"
+            DbConnectionInfo dbConnectionInfo = new DbConnectionInfo("SnapManager");
+            dbConnectionInfo.initFromClassProperties();
+            if (dbHost.isEmpty()) {
+                dbHost = dbConnectionInfo.getDbHost();
+            }
+            if (dbName.isEmpty()) {
+                dbName = dbConnectionInfo.getDbName();
+            }
+            if (dbSchema.isEmpty()) {
+                dbSchema = dbConnectionInfo.getDbSchema();
+            }
+            if (dbUser.isEmpty()) {
+                dbUser = dbConnectionInfo.getDbPassword();
+            }
+            if (dbPassword.isEmpty()) {
+                dbPassword = dbConnectionInfo.getDbPassword();
+            }
             SnapManagerApi.initSnapConnection(dbHost, dbName, dbSchema, dbUser, dbPassword, "false");
             SnapshotPersistenceManagerFactory factory = SnapshotPersistenceManagerFactory.getInstance();
             manager = factory.getManager(beansFileName, dbUser, dbPassword);
             state = DeviceState.ON;
             status = "device ready for snapshot";
         } catch (SnapshotingException e) {
+            e.printStackTrace();
             throw e.toTangoException();
         }
     }
@@ -240,14 +260,15 @@ public final class SnapArchiver {
                 logger.debug("snapshot {} will contains {} atttributes", snapId, attributeList.size());
                 UsePluginBuilder builder = new UsePluginBuilder(snapId, manager);
                 UsePlugin group = builder.build(attributeList);
-                boolean isExecuted = group.execute();
-                logger.debug("snapshot {} execution status is {}", snapId, isExecuted);
+                boolean isExecutionFailed = group.execute();
+                logger.debug("snapshot {} execution status is {}", snapId, isExecutionFailed);
                 // group.getMessages();
                 Map<String, String> messages = group.getMessages();
                 logger.debug("snapshot {} execution messages are {}", messages);
                 StringBuilder stringBuilder = new StringBuilder();
-                stringBuilder.append("Snapshot ").append(snapId).append(" for context ").append(contextID).append("done.\n");
-                stringBuilder.append("Execution is ").append(isExecuted).append("\nMessages are ").append(messages);
+                stringBuilder.append("Snapshot ").append(snapId).append(" for context ").append(contextID).append(" done.\n");
+                stringBuilder.append("Execution has some errors = ").append(isExecutionFailed).append("\nErrors messages are ").append(messages);
+                status = stringBuilder.toString();
                 state = DeviceState.ON;
             } catch (SnapshotingException e) {
                 state = DeviceState.FAULT;