Question

Comment puis-je assurer mon service de fichiers est fiable et évolutive? Combien de demande parallèle, il peut gérer?

Je pense au-delà de la capacité matérielle et la largeur bande.

Je suis fichiers en streaming grands dans un servlet java

Était-ce utile?

La solution

Si ce sont des fichiers statiques, un lien juste pour elle directement . Tous les servletcontainers / appservers décent ont un DefaultServlet bien développé. Si ce sont des fichiers statiques situés l'extérieur l'webapplication où vous souhaitez les relier, alors vous pouvez simplement ajouter le dossier racine de ces fichiers comme un autre contexte. On ne sait pas quel serveur vous utilisez, mais si elle était Tomcat, vous pouvez simplement ajouter une nouvelle <Context> à server.xml:

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

De cette façon, il est accessible par http://example.com/files/....

Si ceux-ci sont générées dynamiquement des fichiers ou des fichiers provenant d'une base de données, vous devez développer une servlet qui fait le travail IO efficacement: à savoir ne pas stocker inutilement l'ensemble des données dans la mémoire (par exemple dans un ByteArrayInputStream ou byte[] avant de les émettre à la sortie. il suffit d'écrire les octets immédiatement à la sortie comme il entre en jeu. Vous trouverez peut-être ce ces exemples de fileservlet de base et plus fileservlet avancée (CV support et ainsi de suite) utile.

Autres conseils

Si vous êtes servir des fichiers statiques à partir d'un système de fichiers il suffit d'utiliser Apache -. Ça va être mieux que tout ce que vous allez vous écrire

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top