

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration du processus de l'application avec un Procfile
<a name="java-se-procfile"></a>

Si vous avez plus d'un fichier JAR à la racine du groupe source de votre application, vous devez inclure un fichier `Procfile` qui indique à Elastic Beanstalk quels JAR exécuter. Vous pouvez également inclure un fichier `Procfile` pour une seule application JAR pour configurer la machine virtuelle Java (JVM) qui exécute votre application.

Nous vous recommandons de toujours fournir un `Procfile` dans le bundle source avec votre application. De cette façon, vous contrôlez précisément les processus Elastic Beanstalk qui s'exécutent pour votre application et les arguments que ces processus reçoivent.

Pour plus de détails sur l'écriture et l'utilisation d'un, `Procfile` voir[Buildfile et Procfile](platforms-linux-extend.build-proc.md).

**Example Procfile**  

```
web: java -Xms256m -jar server.jar 
cache: java -jar mycache.jar
web_foo: java -jar other.jar
```

La commande qui exécute le JAR principal dans votre application doit être appelée `web`, et il doit s'agir de la première commande figurant dans votre `Procfile`. Le serveur nginx transmet à cette application toutes les requêtes HTTP qu'il reçoit de l'équilibreur de charge de votre environnement.

Elastic Beanstalk part du principe que toutes les entrées dans Procfile doivent s'exécuter en permanence et redémarre automatiquement toute application définie dans le Procfile qui s'arrête. Pour exécuter des commandes qui s'arrêteront et ne devraient pas être redémarrées, utilisez un [`Buildfile`](java-se-buildfile.md).

## Utilisation d'un Procfile sur AMI Amazon Linux (antérieure à Amazon Linux 2)
<a name="java-se-procfile.alami"></a>

Si votre environnement Java SE Elastic Beanstalk utilise une version de plate-forme AMI Amazon Linux (antérieure à Amazon Linux 2), lisez les informations supplémentaires dans cette section.

**Remarques**  
Les informations de cette rubrique s'appliquent uniquement aux branches de plate-forme basées sur l'AMI Amazon Linux (AL1). AL2Les branches de AL2 plate-forme 023/ sont incompatibles avec les versions précédentes de la plateforme Amazon Linux AMI (AL1) et *nécessitent des paramètres de configuration différents*.
 [Le 18 juillet 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **Elastic Beanstalk a défini le statut de toutes les branches de la plateforme sur la base de l'AMI AL1 Amazon Linux () comme étant supprimées.** Pour plus d'informations sur la migration vers une branche de plateforme Amazon Linux 2023 actuelle et entièrement prise en charge, consultez [Migration de votre application Elastic Beanstalk Linux vers Amazon Linux 2023 ou Amazon Linux 2](using-features.migration-al.md).

### Passage de port — AMI Amazon Linux (AL1)
<a name="java-se-procfile.alami.ports"></a>

Par défaut, Elastic Beanstalk configure le serveur proxy nginx pour transmettre les demandes à votre application sur le port 5000. Vous pouvez remplacer le port par défaut en définissant la [propriété d'environnement](java-se-platform.md#java-se-options) `PORT` sur le port que votre application écoute.

Si vous utilisez un `Procfile` pour exécuter plusieurs applications, Elastic Beanstalk sur les versions de plateforme AMI Amazon Linux s'attend à ce que chaque application supplémentaire écoute sur un port 100 supérieur au précédent. Elastic Beanstalk définit la variable PORT accessible à partir de chaque application avec le port sur lequel il s'attend à ce que l'application s'exécute. Vous pouvez accéder à cette variable dans votre code d'application en appelant `System.getenv("PORT")`.

Dans l'exemple `Procfile` précédent, l'application `web` écoute sur le port 5000, `cache` écoute sur le port 5100 et `web_foo` écoute sur le port 5200. `web` configure son port d'écoute en lisant la variable `PORT` et ajoute 100 à ce nombre pour déterminer sur quel port `cache` écoute afin de pouvoir lui envoyer des demandes.