From: Mariano T. <mar...@fi...> - 2005-12-03 12:32:36
|
Hernan, La opcion que veo mas potable para resolver el problema de threading es=20 usar la clase ThreadLocal, registrar los threads con su session id en algun= =20 momento oportuno. Luego, usar la info de esa clase. Ese momento oportuno,=20 existe. Tanto para los pedidos remotos, como para los threads del service=20 (obviamente, porque se esta haciendo). La gran pregunta es donde meter eso= =20 con elegancia mediana para los threads RMI. El lugar oportuno para setear=20 la id del thread es en el pagemanager: no esta bueno tener manejo de=20 threads en esta clase. Ideas: 1) usar algun mecanismo de publicacion/suscripcion como habias sugerido en= =20 el mismo pagemanager 2) hurgar para ver si lo podemos esconder en alguna clase en el marco del=20 paquete de paginacion. Posible sugerencia no analizada con profundidad: en= =20 el metodo SetPage del PagingContext. Tambien se podria usar=20 publicacion/suscripcion. Ademas de eso, habria que controlar la serializaci=F3n de cada pagina,=20 mediante externalizacion, para asegurarse en ese momento, que los registros= =20 pueden ser leidos por el cliente solicitante. (Esto lo habiamos charlado,=20 pero lo escribo para que quede registrado en algun lado) Esto nos evita=20 tener que agregar un select cuando el comando sql es SELECT * FROM ... (sin nada en el where). No tengo nada muy concreto, pero me parece la punta mas rescatable, sobre=20 todo la opcion 2 Saludos, Mariano -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.1.362 / Virus Database: 267.13.10/190 - Release Date: 01/12/2005 = |