Home| New Wiki | | Login | User registry | Home Tree PDF
ThreadVars
Owner:csilva, Version: 1, Date:Sat 02, July 2005,

A veces se desea compartir informacion entre dos objetos que estan muy lejanos en estructura. Esto normalmente es una falla de diseño pero a veces se requiere un parche rápido.

Esta clase da soporte a colocar propiedades de runtime en la maquina de java de manera que puedan ser accedidas por otros procesos.

Lo he usado exitosamente en la comunicacion Servlet-JSP-TAG-Beans para pasar referencias a objetos que deben usarse tardíamente.

Listado 1: Uso

// servlet...
DataBase db = ...;
ThreadVars.putAttribute("dataBase", db);

// java bean
DataBase db = (DataBase) ThreadVars.getAttribute("dataBase");

Listado 2: ThreadVars.java

import java.util.Hashtable;

public class ThreadVars {
 static Hashtable threads= new Hashtable();
  
 public static void putAttribute(Object key, Object value) {
   Thread t = Thread.currentThread();
   Hashtable h = (Hashtable) threads.get(t);
   if (h==null){
     h = new Hashtable();
     threads.put(t,h);
   }
   h.put(key,value);
 }
 public static Object getAttribute(Object key){
   Thread t = Thread.currentThread();
   Hashtable h = (Hashtable) threads.get(t);
   if (h!=null)
     return h.get(key);
   return null;
 }
}


Edit - History - Extract PDF - Extract Tree as PDF

Last Modified

Thu, Nov 19 Sat, Oct 3 Fri, Sep 25 Mon, Aug 3 Mon, Apr 27 Sat, Mar 28 Mon, Jan 19 Tue, Jan 6

Home| New Wiki