Frage

Wie kann ich sicherstellen, dass meine Datei Portion ist zuverlässig und skalierbar? Wie viele parallele Anfrage kann damit umgehen?

ich über die Hardwarefähigkeit und Bandbreite denke.

Ich verfolge Streaming große Dateien in einem Java-Servlet

War es hilfreich?

Lösung

Wenn das sind statische Dateien, link, nur um es direkt . Alle anständigen servletcontainers / appservers haben ein gut ausgebautes DefaultServlet. Wenn diejenigen, sind statische Dateien befinden außerhalb die Webapplikation von wo aus man sie verbinden würde, dann können Sie auch nur den Stammordner dieser Dateien als einen anderen Kontext hinzufügen. Es ist unklar, welchen Server Sie verwenden, aber wenn es Tomcat waren, konnten Sie gerade ein neues <Context> zu server.xml hinzufügen:

<Context docBase="/path/to/static/files" path="/files" />

Auf diese Weise ist es zugänglich http://example.com/files/....

Wenn das ist dynamisch generierte Dateien oder Dateien aus einer Datenbank kommen, dann müssen Sie ein Servlet entwickeln, die die IO Arbeit erledigt effizient: das heißt nicht speichern unnötig die gesamten Daten im Speicher (zB in einem ByteArrayInputStream oder byte[] bevor sie emittieren an den Ausgang schreiben. Nur das Bytes sofort mit dem Ausgang, wie es kommt. Sie dies jene Beispiele für einen Grund fileservlet und eine erweiterte fileservlet nützlich (Lebensläufe und so weiter unterstützt).

Andere Tipps

Wenn Sie nur statische Dateien aus einem Dateisystem dienen, sind nur Apache verwenden -. Es wird dann etwas besser sein, Sie selbst schreiben werden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top