Tomcat 6.0 de Grandes Téléchargement de Fichier (> 2 GO)

Je suis d'avoir des problèmes avec HTTP upload de fichier avec les fichiers de plus de 2GB. À la fois le serveur et le client sont en 64 bits donc il doit y avoir aucune restriction de 2 GO à partir de la perspective du système. J'ai fait la suivante:

  1. Dans Apache
    LimitRequestBody = 0 (http://httpd.apache.org/docs/2.0/mod/core.html#LimitRequestBody)
  2. Dans Tomcat Connecteur
    maxPostSize = 0 (http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html)

Je suis à l'aide d'apache commons de téléchargement de fichiers. J'ai aussi essayé de mettre le max de taille de fichier à l'aide de ServerFileUpload setMaxFileSize méthode.

Je suis en mesure de télécharger les fichiers de moins de 2 go de ram (j'ai essayé de 1,88 GO de fichiers avec succès). Merci de m'orienter, ce qui me manque ici?

Pour être plus précis ServletFileUpload.parseRequest méthode retourne 0 FileItems lors du téléchargement de gros fichiers

Voici l'extrait de code:

if (isMultipartForm()) {
try {
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(SIZE_THRESHOLD);//SIZE_THRESHOLD = 4MB
    ServletFileUpload upload = new ServletFileUpload(factory);
        //upload.setFileSizeMax(3000000000L); Tried this too
    upload.setProgressListener(progressListener);
    items = upload.parseRequest(request);
    if(items != null && items.size() == 0)
    return new CommandResultSet(false, "NoItemsFoundInRequest");
    return new CommandResultSet(true, "" + ( (items!=null) ? items.size() : ""));
} catch(FileUploadException e) {
    e.printStackTrace();
    System.out.println("Exception in MultipartFormManager. Can not parse request.");    
    return new CommandResultSet(false, e.getMessage());
    }
}
Comment êtes-vous exactement à l'aide de la bibliothèque apache? Nous montrer le code.
Vous devez tester votre serveur avec un raw outil de ligne de commande comme "wget" pour exclure tout problème de serveur: la taille du fichier codé comme un Entier quelque part dans la pile, le système de fichier limite...
Quels sont les symptômes de votre problème ? Le transfert est coincé ou bloqué ? Un serveur quelconque trace de la pile ? Ce sujet de l'activité "sur le fil" - regarder avec wireshark.
C'est une excellente idée. Je vais faire quelques tests dès maintenant à l'aide de wget. Merci.
J'ai essayé de wget, je pense que le problème est avec la configuration d'Apache. J'ai LimitRequestBody mis à 0 en vertu de l'Annuaire de tag. Que dois-je vérifier dans apache?

OriginalL'auteur Sunil | 2012-03-03