Ich muss ein Dienstprogramm erstellen, die eine Reihe von Protokollen sammeln sie zippen und sie an Jira anhängen.Sammeln von ZIP-Logs und Hochladen auf HTTP-Dienst ohne temporäre Datei
Ich plane, httpclient 4.5 zu verwenden. (hat NIO-Unterstützung) Die Jira-API ist hier kein Problem.
Ich möchte Dateien direkt aus dem Dateisystem per Zip-Stream und Upload zu Jira streamen, ohne eine temporäre Zip-Datei im Dateisystem erstellen zu müssen.
Ich fand die Java-API in einem solchen Fall verwirrend und konnte die Verwendung nicht herausfinden. Aufmerksam sieht es so aus, als wäre ein solcher Fall ein guter Kandidat für die Java-NIO-Nutzung (vielleicht ein Kanal?), Konnte aber kein gutes Beispiel finden.
Als Ausgangspunkt habe ich ein Beispiel erstellt, das eine Datei hochlädt, aber ich kann es nicht zum nächsten Schritt des Zip-Streams bringen.
HttpClient httpClient = createHttpClient();
final String issueUriAttach = issueUri + "/" + "attachments";
HttpPost postRequest = new HttpPost(issueUriAttach);
final FileInputStream fileInputStream = new FileInputStream("README.md");
InputStream in = new InputStream() {
@Override
public int read() throws IOException {
return 0;
}
@Override
public int read(byte[] b, int off, int len) throws IOException {
return fileInputStream.read(b,off,len);
}
};
InputStreamBody inputStreamBody = new InputStreamBody(in,"README.csv");
HttpEntity reqEntity = MultipartEntityBuilder.create()
.setContentType(ContentType.MULTIPART_FORM_DATA)
.addPart("file", inputStreamBody)
.build();
postRequest.setHeader(getAuthHeader());
postRequest.setHeader(getNocheckHeader());
postRequest.setEntity(reqEntity);
final HttpResponse response = httpClient.execute(postRequest);
Wie gesagt ich auf Java nicht beschränkt bin I/O Java NIO als auch eine Option ..
können Sie log4j Bibliothek http://stackoverflow.com/questions/3329385/compress-log4j-files – koutuk
Dank @koutuk verwenden. Dies ist ein externes Dienstprogramm. Es sollte Protokolle sammeln, die von der von uns getesteten Anwendung erstellt wurden, und erstellt keine Protokolle. –