Pessoal,
Estou desenvolvendo uma apliação client e preciso armazenar o usuário que logou na aplicação para poder passa-lo como parametros para gravar nas tabelas do banco de dados, etc.
A dúvida é como manter o valor do usuario logado na aplicação enquanto a aplicação estiver rodando.
Pensei em utilizar o Singleton mas vi que não é correto utiliza-lo como uma forma de manter uma variavel global.
Vocês tem algo contra manter esse valor em uma variavel estática?
“Aplicação client” é uma aplicação Swing (Desktop)? Se for, use um singleton mesmo, já que apenas um usuário irá usar a aplicação de cada vez.
Uma variável estática é uma forma de implementar um Singleton.
Se a aplicação for swing desktop o singleton funciona. Vc pode fazer algo desse tipo:
[code]public class UserOnSession {
private static UserOnSession INSTANCE = new UserOnSession();
private User user;
private UserOnSession() {
}
public static UserOnSession getInstance() {
return INSTANCE;
}
public void setUser(User user){
this.user = user;
}
public User getUser(){
return user;
}
}[/code]
Senão for terá que instanciar um objeto UserOnSession para cada usuario logado.