Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Uso correto do escopo @ApplicationScoped

Bom dia a todos,

eu não consegui vislumbrar em quais os momentos que posso usar o @ApplicationScoped, aí eu fui ler alguns artigos e vi que o @ApplicationScoped pode ser usado para criar listas que serão usadas em comboboxs, por exemplo. Com base nisso surgiram algumas dúvidas:

  • Essa atribuição para o uso do @ApplicationScoped é válida?
  • Se sim, qual será a melhor forma de cria-la, uma para cada lista ou uma que contenha todas as listas?
  • Outra coisa, se no meu sistema tiver muitas listas, mais de 30, isso não vai sobrecarregar muito o servidor, já que o @ApplicationScope guarda durante todo ciclo de vida da aplicação?

Obrigado a todos.

4 respostas
solução

Oi João, tudo bem ?

Acho que tem algo que pode assumir, por exemplo, tudo que for um singleton, você pode deixar no escopo de aplicação, acho que dessa forma seu pensamento pode ficar mais claro.

Boa tarde, João! Como vai?

Essa utilização para o @ApplicationScoped que vc citou é meio estranha. Pq teriam que ser listas globais na aplicação e que teriam que ter mto acesso de todas as partes da aplicação. É um caso meio estranho!

O @ApplicationScoped é um singleton (só haverá um objeto da classe anotada com @ApplicationScoped na sua aplicação) mais utilizado para vc colocar nele alguma informação global que será utilizada por toda a aplicação, como por exemplo, configurações de sistema. Além disso, como a instância em escopo de aplicação existirá enquanto a aplicação estiver rodando, não é comum vc colocar "informações pesadas" como listas que sejam grandes, justamente pelo problema que vc mesmo vislumbrou de sobrecarregar a aplicação, normalmente essas listas são carregadas apenas quando for necessário.

Qualquer coisa é só falar!

Grande abraço e bons estudos!

Obrigado pelo Matheus e Gabriel pelos esclarecimentos, me ajudaram bastante.

Por nada, João!

Sempre que tiver alguma dúvida é só procurar o pessoal aqui no fórum!

Grande abraço e bons estudos!