Questão de TI - Desenvolvimento de Sistemas — Framework Hibernate — FGV 2022
- Código
- fg152487
- Banca
- FGV
- Órgão
- CGU
- Ano
- 2022
- Cargo
- AFFC ( )
Considere o desenvolvimento de uma aplicação em um contexto de programação concorrente, em que é esperada a execução simultânea de múltiplas tarefas computacionais. O time utiliza a linguagem de programação JAVA e o framework ORM Hibernate no projeto. Para obter um objeto do tipo SessionFactory, o time decide utilizar o arquivo de configuração e as seguintes classes:
org.hibernate.cfg.Configuration,
org.hibernate.service.ServiceRegistry e
org.hibernate.service.ServiceRegistryBuilder.
No início do desenvolvimento da primeira funcionalidade com linhas de execução paralelas (Threads), o time discute se é seguro compartilhar o objeto do tipo SessionFactory.
Um dos desenvolvedores afirma que é seguro.
- Aerrado, pois a classe SessionFactoryImpl implementa a interface Referenceable;
- Berrado, pois a classe SessionFactoryImpl não é thread-safe;
- Cerrado, pois a classe SessionFactoryImplementor não é thread-safe;
- Dcorreto, pois o objeto do tipo SessionFactory é imutável e seu estado interno contém os metadados ORM;
- Ecorreto, pois a classe SessionFactoryImplementor implementa a interface ConcurrentHashMap.