

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar o processo do aplicativo com um Procfile
<a name="java-se-procfile"></a>

Se você tem mais de um arquivo JAR na raiz do seu pacote de origem da aplicação, deve incluir um arquivo `Procfile` que informa o Elastic Beanstalk quais JARs devem ser executados. Você também pode incluir um arquivo `Procfile` para um único aplicativo JAR para configurar a Java virtual machine (JVM – máquina virtual Java) que executa seu aplicativo.

Recomendamos sempre fornecer um `Procfile` no pacote de origem juntamente com o aplicativo. Dessa forma, você controla com precisão quais processos são executados pelo Elastic Beanstalk para o aplicativo e quais argumentos são recebidos por esses processos.

Para obter detalhes sobre como gravar e usar um `Procfile`, consulte [Buildfile e 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
```

O comando que executa o JAR principal em seu aplicativo deve ser denominado `web` e deve ser o primeiro comando listado no `Procfile`. O servidor nginx encaminha todas as solicitações HTTP que ele recebe do balanceador de carga do seu ambiente para essa aplicação.

O Elastic Beanstalk pressupõe que todas as entradas no Procfile devam ser sempre executadas e reinicia automaticamente qualquer aplicação encerrada definida no Procfile. Para executar comandos que serão encerrados e não deverão ser reiniciados, use um [`Buildfile`](java-se-buildfile.md).

## Usar um Procfile na AMI do Amazon Linux (anterior ao Amazon Linux 2)
<a name="java-se-procfile.alami"></a>

Se o seu ambiente Java SE do Elastic Beanstalk usa uma versão da plataforma da AMI do Amazon Linux (anterior ao Amazon Linux 2), leia as informações adicionais nesta seção.

**Observações**  
As informações neste tópico se aplicam somente às ramificações da plataforma baseadas no Amazon Linux AMI (AL1). AL2As ramificações AL2 da plataforma 023/ são incompatíveis com as versões anteriores da plataforma Amazon Linux AMI (AL1) e *exigem configurações diferentes*.
 [Em 18 de julho de 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **o Elastic Beanstalk definiu o status de todas as ramificações da plataforma baseadas no Amazon Linux AMI AL1 () como descontinuadas.** Para obter mais informações sobre como migrar para uma ramificação da plataforma Amazon Linux 2023 atual e totalmente compatível, consulte [Migrar a aplicação Linux do Elastic Beanstalk para o Amazon Linux 2023 ou Amazon Linux 2](using-features.migration-al.md).

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

Por padrão, o Elastic Beanstalk configura o proxy nginx para encaminhar solicitações à sua aplicação na porta 5000. Você pode substituir a porta padrão definindo a [propriedade do ambiente](java-se-platform.md#java-se-options) `PORT` para a porta de escuta do seu aplicativo principal.

Se você usar o `Procfile` para executar várias aplicações, as versões da plataforma da AMI do Amazon Linux do Elastic Beanstalk esperam que cada aplicação adicional escute em uma porta 100 maior que a anterior. O Elastic Beanstalk define a variável PORT acessível de cada aplicação como a porta na qual ele espera que a aplicação seja executada. Você pode acessar essa variável no código do seu aplicativo chamando `System.getenv("PORT")`.

No exemplo acima de `Procfile`, o aplicativo `web` escuta na porta 5.000, `cache` escuta na porta 5.100 e `web_foo` escuta na porta 5.200. `web` configura a porta de escuta lendo a variável `PORT` e acrescenta 100 a esse número para determinar em qual porta `cache` está escutando para que ele possa enviar solicitações a ela.