private void performReplication(ReplicationRequest replication) { try { // Check if active String source = CouchUtils.computeEffectiveDatabaseUrl( replication.getSourceServerUrl() ,replication.getSourceUserName() ,replication.getSourcePassword() ,replication.getSourceDbName() ); String target = CouchUtils.computeEffectiveDatabaseUrl( replication.getTargetServerUrl() ,replication.getTargetUserName() ,replication.getTargetPassword() ,replication.getTargetDbName() ); JSONArray activeTasks = couchClient.activeTasks(); ReplicationStatus status = ReplicationStatus.findReplicationTask(activeTasks, source, target); if( null == status ) { logger.info("Start replication: "+replication); // Replication not running, start it couchClient.replicate(replication); } } catch(Exception e) { logger.error("Problem performing replication: "+replication, e); } }
replicationRequest.getSourceServerUrl() ,replicationRequest.getSourceUserName() ,replicationRequest.getSourcePassword() ,replicationRequest.getSourceDbName() ); String target = CouchUtils.computeEffectiveDatabaseUrl( replicationRequest.getTargetServerUrl() ,replicationRequest.getTargetUserName() ,replicationRequest.getTargetPassword() ,replicationRequest.getTargetDbName() ); request.put("target",target); if( replicationRequest.isContinuous() ) { request.put("continuous", true); if( replicationRequest.isCancel() ) { request.put("cancel", true); if( null != replicationRequest.getFilter() ) { request.put("filter", replicationRequest.getFilter()); if( null != replicationRequest.getDocIds() ) { JSONArray arr = new JSONArray(); for(String docId : replicationRequest.getDocIds()) { arr.put(docId);