|
@@ -26,10 +26,9 @@ public class FastDFSClient {
|
|
|
logger.info("File Name: " + file.getName() + "File Length:" + file.getContent().length);
|
|
|
|
|
|
// 设置元信息
|
|
|
- NameValuePair[] meta_list = new NameValuePair[3];
|
|
|
+ NameValuePair[] meta_list = new NameValuePair[2];
|
|
|
meta_list[0] = new NameValuePair("name", file.getName());
|
|
|
meta_list[1] = new NameValuePair("ext", file.getExt());
|
|
|
- meta_list[2] = new NameValuePair("author", file.getAuthor());
|
|
|
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
String[] uploadResults = null;
|
|
@@ -106,8 +105,11 @@ public class FastDFSClient {
|
|
|
}
|
|
|
|
|
|
private static StorageClient getTrackerClient() throws IOException {
|
|
|
- TrackerServer trackerServer = getTrackerServer();
|
|
|
- StorageClient storageClient = new StorageClient(trackerServer, null);
|
|
|
+ TrackerClient trackerClient = new TrackerClient();
|
|
|
+ TrackerServer trackerServer = trackerClient.getConnection();
|
|
|
+ StorageServer storageServer = getStorageServer(getStorageServerIp(trackerClient, trackerServer));
|
|
|
+ StorageClient storageClient
|
|
|
+ = new StorageClient(trackerServer, storageServer);
|
|
|
return storageClient;
|
|
|
}
|
|
|
|
|
@@ -116,4 +118,44 @@ public class FastDFSClient {
|
|
|
TrackerServer trackerServer = trackerClient.getConnection();
|
|
|
return trackerServer;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获得可用的storage IP
|
|
|
+ *
|
|
|
+ * @param trackerClient
|
|
|
+ * @param trackerServer
|
|
|
+ * @return 返回storage IP
|
|
|
+ */
|
|
|
+ private static String getStorageServerIp(TrackerClient trackerClient, TrackerServer trackerServer) {
|
|
|
+ String storageIp = null;
|
|
|
+ if (trackerClient != null && trackerServer != null) {
|
|
|
+ try {
|
|
|
+ StorageServer storageServer = trackerClient.getStoreStorage(trackerServer, "group1");
|
|
|
+ storageIp = storageServer.getSocket().getInetAddress().getHostAddress();
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ logger.info("获取组中可用的storage IP:" + storageIp);
|
|
|
+ return storageIp;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 得到Storage服务
|
|
|
+ *
|
|
|
+ * @param storageIp
|
|
|
+ * @return 返回Storage服务
|
|
|
+ */
|
|
|
+ private static StorageServer getStorageServer(String storageIp) {
|
|
|
+ StorageServer storageServer = null;
|
|
|
+ if (storageIp != null && !("").equals(storageIp)) {
|
|
|
+ try {
|
|
|
+ storageServer = new StorageServer(storageIp, Integer.parseInt("23000"), Integer.parseInt("1"));
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ logger.info("storage server生成");
|
|
|
+ return storageServer;
|
|
|
+ }
|
|
|
}
|