[JAVA] Comment modifier le nombre maximum et maximum de données POST dans Spark

La valeur maximale du formulaire dans Jetty est de 200 Ko par défaut. Spark utilise Jetty, donc c'est similaire à ça.

Il semble qu'il existe différentes méthodes de réglage pour Jetty seul, mais c'est assez ennuyeux pour Spark.

Je vais omettre les détails, mais la méthode est la suivante.

python


public class Main {
  public static void main(String[] args) {
    EmbeddedServers.add(EmbeddedServers.Identifiers.JETTY, new EmbeddedJettyFactory(new MyJettyServerFactory()));

    get("/", () -> "Hello Spark!");
  }
}

class MyJettyServerFactory implements JettyServerFactory {
    /**
     * Creates a Jetty server.
     *
     * @param maxThreads          maxThreads
     * @param minThreads          minThreads
     * @param threadTimeoutMillis threadTimeoutMillis
     * @return a new jetty server instance
     */
	@Override
    public Server create(int maxThreads, int minThreads, int threadTimeoutMillis) {
        Server server;

        if (maxThreads > 0) {
            int max = maxThreads;
            int min = (minThreads > 0) ? minThreads : 8;
            int idleTimeout = (threadTimeoutMillis > 0) ? threadTimeoutMillis : 60000;

            server = new Server(new QueuedThreadPool(max, min, idleTimeout));
        } else {
            server = new Server();
        }

        server.setAttribute("org.eclipse.jetty.server.Request.maxFormKeys", 20000); //Nombre maximum de données POST
        server.setAttribute("org.eclipse.jetty.server.Request.maxFormContentSize", 5000000); //Valeur maximale des données POST

        return server;
    }

    /**
     * Creates a Jetty server with supplied thread pool
     * @param threadPool thread pool
     * @return a new jetty server instance
     */
	@Override
    public Server create(ThreadPool threadPool) {
        return threadPool != null ? new Server(threadPool) : new Server();
    }
}

En passant, à moins que vous n'obteniez la valeur du formulaire par programme, aucune erreur ne se produira. Qu'en est-il des spécifications?

Recommended Posts

Comment modifier le nombre maximum et maximum de données POST dans Spark
Comment déterminer le nombre de parallèles
Comment supprimer de grandes quantités de données dans Rails et problèmes
Comment trouver le nombre total de pages lors de la pagination en Java
Comment changer la valeur d'une variable à un point d'arrêt dans intelliJ
[Swift] Comment obtenir le nombre d'éléments dans un tableau (super basique)
[Swift] Comment changer l'ordre des éléments de barre dans le contrôleur de barre d'onglets [Débutant]
Comment créer une combinaison unique de données dans la table intermédiaire des rails
[Java] Comment obtenir la valeur maximale de HashMap
[Rails] Comment changer le nom de colonne de la table
Comment changer une chaîne dans un tableau en un nombre dans Ruby
Commande pour vérifier le nombre et l'état des threads Java
Comment modifier la valeur de réglage de Springboot Hikari CP
Comment dériver le dernier jour du mois en Java
Comment modifier le contenu du fichier jar sans décompresser
Comment vérifier l'extension et la taille des fichiers téléchargés
Comment changer la couleur d'arrière-plan de la barre de navigation, etc. dans Swift UI
Comment obtenir des paramètres dans Spark
Comment gérer la différence dans chaque environnement avec yml sans augmenter le nombre de RAILS_ENV
[Swift] Comment modifier dynamiquement la hauteur de la barre d'outils sur le clavier
[Rails] Comment obtenir l'URL de la source de transition et la rediriger
[Swift5] Comment obtenir un tableau et un ensemble de différences entre les tableaux
Comment définir l'adresse IP et le nom d'hôte de CentOS8
Comment POST JSON dans la méthode Java en utilisant OkHttp3 et la méthode en utilisant HttpUrlConnection-
[Webpacker] Résumé de l'installation de Bootstrap et jQuery dans Rails 6.0
[Rails] Comment introduire le kaminari avec Slim et changer le design
[Rails] Comment changer le titre de la page du navigateur pour chaque page
[jOOQ] Comment utiliser CASE WHEN dans la clause WHERE / AND / OR
Méthode pour additionner le nombre d'années et obtenir la fin du mois
Comment obtenir l'identifiant de la clé PRIMAY incrémentée automatiquement dans MyBatis
Comment installer le langage utilisé dans Ubuntu et comment créer l'environnement
Comment obtenir et ajouter des données depuis Firebase Firestore dans Ruby
[chown] Comment changer le propriétaire d'un fichier ou d'un répertoire
Je veux changer la valeur de l'attribut dans Selenium of Ruby
Comment obtenir la longueur d'un fichier audio avec Java
Comment incrémenter la valeur de Map sur une ligne en Java
[Docker] Comment sauvegarder et restaurer les données de base de données de l'application Rails sur docker-compose [MySQL]
Emplacement de la définition de la méthode Résumé de la vérification Lorsque défini dans le projet et Rails / Gem
Comment changer le nom de l'application dans les rails
Comment trier une liste de SelectItems
Comment trouver les dizaines et les unités
Comment obtenir la date avec Java
Comment écraser les données Firebase avec Swift
Comment créer un retrait de deux espaces d'un octet dans l'implémentation JAXB du JDK
Définissez le nombre de secondes d'avance et de retour rapides dans ExoPlayer
Confirmation et refactoring du flux de la requête au contrôleur dans [httpclient]
Comment contraindre l'action de la destination de transition lorsqu'elle n'est pas connectée
Comment obtenir le chemin absolu d'un répertoire s'exécutant en Java
[Cas d'amélioration Java] Comment atteindre la limite de l'auto-apprentissage et au-delà
Trouvez le maximum et le minimum des cinq nombres saisis en Java
[Rails] Comment créer une table, ajouter une colonne et changer le type de colonne
[Rails] La cause de l'impossibilité de publier des messages était form_with
Développement Android, comment vérifier null dans la valeur de l'objet JSON
[swift5] Comment changer la couleur de TabBar ou la couleur de l'élément de TabBar avec le code
Comment insérer un traitement avec n'importe quel nombre d'éléments dans le traitement itératif dans Ruby
Comment créer votre propre annotation en Java et obtenir la valeur