elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ¿Como mantener en memoria datos de sesion en aplicacion de escritorio con java?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Como mantener en memoria datos de sesion en aplicacion de escritorio con java?  (Leído 2,333 veces)
miltonprogramador

Desconectado Desconectado

Mensajes: 25



Ver Perfil
¿Como mantener en memoria datos de sesion en aplicacion de escritorio con java?
« en: 16 Diciembre 2016, 00:45 am »

Hola... este post es relacionado al anterior pero como la duda ahora es más específica en otro sentido he decidido abrir este nevo tema... resulta que pretendo manejar sesiones dejando las variables cargadas en la clase principal para no tener que consultar la base de datos por gusto... intente con herencia y no se si será por alli el camino... pero como no lo he logrado, pense un poco y se me ocurre pasar por parametro la instancia de una clase que mantenga los valores de sesion... instancia que se hizo en la clase principal... asi se mantendra la clase viva ycon ella sus atributos, los cuales para usarse bastará con pasar por parametro la misma instancia de la clase sesion a la clase que los usará o modificará... He escrito 4 clases y funciona la idea basica....

me gustaria saber si ¿es una locura lógica lo que digo o esto me resolvería definitivmente el problema?

Les muestro los codigos y les agradezco la ayuda.... es algo que me urge

Código
  1. //la clase sesión
  2. public class Sesion {
  3.    int num;
  4.    public Sesion(){
  5.        num=20;
  6.    }
  7. }
  8.  
  9. //La clase principal
  10. public class Clase {
  11.    public Sesion sesion;
  12.    public Clase(){
  13.  
  14.    }
  15.    public Clase(String ini) {
  16.        sesion = new Sesion();
  17.        System.out.println("Clase > Invocando a Hija1");
  18.        Hija1 log = new Hija1(sesion);
  19.        System.out.println("Clase > Num:" + sesion.num);
  20.        Hija2 log2 = new Hija2(sesion);
  21.        System.out.println("Clase > Num:" + sesion.num);
  22.    }
  23.    public static void main(String[] args) {
  24.        Clase log = new Clase("ini");
  25.    }
  26. }
  27.  
  28.  
  29. //Las clases hijas
  30.  
  31. public class Hija1 extends Clase {
  32. public Hija1(){
  33.  
  34. }  
  35. public Hija1(Sesion obj){
  36.     System.out.println("Hija1 > El valor num es: " + obj.num);
  37.     obj.num = 37;
  38.     System.out.println("Hija1 > He cambiado el valor de num a: " + obj.num);
  39. }  
  40. }
  41.  
  42. //la otra clase hija
  43.  
  44. public class Hija2 extends Clase {
  45. public Hija2(){
  46.  
  47. }  
  48. public Hija2(Sesion obj){
  49.     System.out.println("Hija2 > El valor num es: " + obj.num);
  50.     obj.num += 100;
  51.     //System.out.println("Hija1 > He cambiado el valor de num a: " + this.num);
  52. }  
  53. }
  54.  
  55.  

Ayuda


En línea

Aprendiendo de los mejores se llega a ser uno de ellos...
kingcreek

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: ¿Como mantener en memoria datos de sesion en aplicacion de escritorio con java?
« Respuesta #1 en: 16 Diciembre 2016, 01:27 am »

Manera de hacerlo son muchas, pero si no he entendido mal lo que quieres hacer (creo que solo almacenar valores), yo optaria por getter y setter en una clase nueva para mayor facilidad y comodidad a la hora de necesitar una variable que puedas llegar a usar en otro lugar.
Código
  1. public Class Sesion
  2. {
  3.        private String numero;
  4.  
  5.        public String getNumero()
  6.        {
  7.                return numero;
  8.        }
  9.        public void setNumero(String numero)
  10.        {
  11.                this.numero= numero;
  12.        }
  13. }
  14.  

Para acceder a los datos o almacenarlos:
Código
  1. Sesion sesion = new Sesion();
  2. //almacenar el valor
  3. sesion .setNumero(20);
  4.  
  5. //obtener el valor
  6. int numero = sesion.getNumero());
  7.  


En línea

miltonprogramador

Desconectado Desconectado

Mensajes: 25



Ver Perfil
Re: ¿Como mantener en memoria datos de sesion en aplicacion de escritorio con java?
« Respuesta #2 en: 16 Diciembre 2016, 01:49 am »

Entiendo lo del get y set no lo use en el ejemplo que deje por flojo supongo pero no los considere relevantes par el ejemplo... La inquietud en concreto es que las variables puedan ser utilizadas y modificadas desde otras clases tambien... en el emjemplo que deje lo logro inyectando la instancia por parameteros a todas las clases que la necesite... pero no se si es la mejor manera.... dices que hay muchas maneras, orientame a alguna que me ayude hace este trabajo.... gracias por dedicarte el tiempo de responderme....
En línea

Aprendiendo de los mejores se llega a ser uno de ellos...
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como conectar base de datos on-line con Aplicacion de Escritorio « 1 2 »
.NET (C#, VB.NET, ASP)
Skeletron 18 14,792 Último mensaje 21 Octubre 2009, 14:56 pm
por MANULOMM
Como mantener aplicacion en Memoria en Servidor LINUX?
Programación General
Skeletron 2 1,722 Último mensaje 14 Julio 2010, 21:17 pm
por Debci
¿Como utilizar Excel como base de datos y acceder con una Aplicacion Java?
Java
lexoazul 5 13,229 Último mensaje 15 Enero 2014, 20:49 pm
por lexoazul
¿Cómo mantener una sesión en PHP?
PHP
Kaxperday 2 2,986 Último mensaje 25 Marzo 2016, 04:02 am
por gAb1
Ayuda para mantener una aplicacion corriendo 24 horas
GNU/Linux
Haiki 1 822 Último mensaje 22 Febrero 2018, 16:51 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines