Mercurial Hosting > luan
comparison src/goodjava/lucene/backup/BackupServer.java @ 1509:0ba144491a42
lucene.backup zip
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Sun, 17 May 2020 14:29:33 -0600 |
| parents | d80395468b4e |
| children | 31b543826ca9 |
comparison
equal
deleted
inserted
replaced
| 1508:86c5e7000ecf | 1509:0ba144491a42 |
|---|---|
| 1 package goodjava.lucene.backup; | 1 package goodjava.lucene.backup; |
| 2 | 2 |
| 3 import java.io.File; | 3 import java.io.File; |
| 4 import java.io.OutputStream; | |
| 5 import java.io.FileOutputStream; | |
| 6 import java.io.BufferedOutputStream; | |
| 4 import java.io.IOException; | 7 import java.io.IOException; |
| 5 import java.util.Map; | 8 import java.util.Map; |
| 6 import java.net.Socket; | 9 import java.net.Socket; |
| 7 import java.net.ServerSocket; | 10 import java.net.ServerSocket; |
| 8 import java.util.concurrent.Executors; | 11 import java.util.concurrent.Executors; |
| 9 import java.util.concurrent.ExecutorService; | 12 import java.util.concurrent.ExecutorService; |
| 13 import javax.net.ssl.SSLSocket; | |
| 10 import javax.net.ssl.SSLServerSocket; | 14 import javax.net.ssl.SSLServerSocket; |
| 11 import goodjava.util.SoftCacheMap; | 15 import goodjava.util.SoftCacheMap; |
| 12 import goodjava.io.IoUtils; | 16 import goodjava.io.IoUtils; |
| 13 import goodjava.rpc.RpcServer; | 17 import goodjava.rpc.RpcServer; |
| 14 import goodjava.rpc.RpcCall; | 18 import goodjava.rpc.RpcCall; |
| 19 import goodjava.rpc.RpcClient; | |
| 20 import goodjava.rpc.RpcResult; | |
| 21 import goodjava.rpc.RpcException; | |
| 15 import goodjava.logging.Logger; | 22 import goodjava.logging.Logger; |
| 16 import goodjava.logging.LoggerFactory; | 23 import goodjava.logging.LoggerFactory; |
| 17 | 24 |
| 18 | 25 |
| 19 public class BackupServer { | 26 public class BackupServer { |
| 83 } | 90 } |
| 84 backup.handle(rpc,call); | 91 backup.handle(rpc,call); |
| 85 } | 92 } |
| 86 } | 93 } |
| 87 | 94 |
| 95 | |
| 96 // for client | |
| 97 | |
| 98 public static RpcClient rpcClient(String backupDomain) throws IOException { | |
| 99 Socket socket; | |
| 100 if( BackupServer.cipherSuites == null ) { | |
| 101 socket = new Socket(backupDomain,BackupServer.port); | |
| 102 } else { | |
| 103 socket = IoUtils.getSSLSocketFactory().createSocket(backupDomain,BackupServer.port); | |
| 104 ((SSLSocket)socket).setEnabledCipherSuites(BackupServer.cipherSuites); | |
| 105 } | |
| 106 return new RpcClient(socket); | |
| 107 } | |
| 108 | |
| 109 public static void getBackup(String backupDomain,String name,File zip) throws IOException, RpcException { | |
| 110 RpcClient rpc = BackupServer.rpcClient(backupDomain); | |
| 111 RpcCall call = new RpcCall("zip",name); | |
| 112 rpc.write(call); | |
| 113 RpcResult result = rpc.read(); | |
| 114 OutputStream out = new BufferedOutputStream(new FileOutputStream(zip)); | |
| 115 IoUtils.copyAll(result.in,out); | |
| 116 out.close(); | |
| 117 rpc.close(); | |
| 118 } | |
| 119 | |
| 88 } | 120 } |
