No ha encontrado la respuesta aquí? Regístrate, preguntar y obtener una respuesta adecuada en cuestión de minutos!
  • Username:

Para poder verificar esta petición, por favor escribe en el campo de abajo lo siguiente: forodejava

Password:
Confirm Password:
Your Email:
Confirm Email:
Resultados 1 al 7 de 7
  1. #1
    Fecha de ingreso
    07 abr, 10
    Mensajes
    39
    Post Thanks / Like
    Poder de reputación
    100

    Predeterminado Applets y Spring! problema de Scopes!

    les comento, yo tngo el server y un cliente o muchos! tonces si son muchos clientes cuando yo, en este caso, les aviso a los clientes conectados q se modifico un contador y q lo muestren en pantalla el problema es q le llega solo al primero en conectarce

    La solución completa para el hilo: aquí.



    yo tngo el bean del cliente q es un applet, y cuando uso la interfaz q avisa el cambio q esta en el cliente yo no uso un bean lo uso algo asi:

    este es el bean de el/los clientes:

    Código PHP:
    <bean id="celta" class="com.artecoin.passat.client.gui.CELTA"/> 
    y este es el codigo con el q le/les aviso a los clientes:

    Código PHP:
    public void informExtendedCountersChange(ExtendedCounter _extendedCountersint _assetNumber) {
           for (
    Client c clientsTTR) {
               
    factoryBean = new RmiProxyFactoryBean();
               
    factoryBean.setServiceInterface(InformCountersChangedService.class);
               
    factoryBean.setServiceUrl("rmi://" c.getAddress() + ":1199/InformCountersChangedService");
               
    factoryBean.afterPropertiesSet();
               
    informCountersChangedService = (InformCountersChangedServicefactoryBean.getObject();
               
    informCountersChangedService.informExtendedCountersChanged(_extendedCounters_assetNumber);
               
    informCountersChangedService.refresVLTList(_assetNumber);
           }
       } 
    pero no se si usar metodos estaticos en el cliente o ponerle un scope al cliente pero para q le llegue a todos
    ese es mi drama!

    si alguien me puede dar una manito se lo agradeceria mucho!
    saludos.

  2. #2
    Fecha de ingreso
    04 jun, 09
    Ubicación
    México
    Mensajes
    559
    Post Thanks / Like
    Poder de reputación
    1120

    Predeterminado

    Hola, A q te refieres a q tienes un Server y Muchos clientes? ademas porq usar un applet? podrias usar otra tecnologia? o es un rekerimiento obligatorio?

    Cuando dices q mueves un contador como lo mueves? mediante la misma aplicacion? con base de datos o como?

    salu2
    _______________________________________
    Neos softaware 2011

  3. #3
    Fecha de ingreso
    07 abr, 10
    Mensajes
    39
    Post Thanks / Like
    Poder de reputación
    100

    Predeterminado

    si el tema es asi, hay un server q ejecuta tareas con otras maquinas de la cual obtiene estos contadores, el applet esta dentro de la web q administra este sistema, lo q hace el applet es ver el estado en vivo de las terminales, cuando un terminal cambia un contador o algun otro dato, el server le informa a este applet q cambio algun dato asi lo muestra en pantalla, el tema es q si hay 5 clientes en la web utilizando el applet el server solo le informa al primero! por el tema de usar otra cosa, no puedo porq lo quieren en un applet asi no tienen q portar el programa en otro lugar

  4. #4
    Fecha de ingreso
    02 nov, 09
    Ubicación
    Sabadell
    Mensajes
    1,961
    Post Thanks / Like
    Poder de reputación
    1440

    Predeterminado

    bean? session?
    la session solo es para un cliente.

    llevas una empanada que como no expliques mejor el montaje que has hecho lo llevas claro.

  5. #5
    Fecha de ingreso
    07 abr, 10
    Mensajes
    39
    Post Thanks / Like
    Poder de reputación
    100

    Predeterminado

    te explico pauman! la estructura es asi! tengo montado un server q por un lado pollea unas placas para traer informacion de maquinas, esa informacion la guardo en base de datos para q tmb sea vista desde la web q tmb tngo en este server a su vez cuando esas placas me envian informacion de las maquina yo se las tengo q informar a un applet q muestra el estado en vivo de las maquinas, la mediacion entre el server y el applet es a travez de spring, el problema es q si hay un solo cliente conectado la informacion q le mande el server llega bien y se visualiza bien, pero si hay 2 o mas clientes conectados (Applets) solamente le llega al primero y deja de andar el applet! por eso preguntaba si tenia q ver con el tipo de scope q hay q ponerle al bean del applet!

    como explicaba antes este es el bean del lado del cliente q representa al applet:
    Código PHP:
    <bean id="celta" class="com.artecoin.passat.client.gui.CELTA"/> 
    y este es un metodo q le informa a los clientes(applets) conectados para q visualicen la informacion:

    Código PHP:
    public void informExtendedCountersChange(ExtendedCounter _extendedCountersint _assetNumber) { 
           for (
    Client c clientsTTR) { 
               
    factoryBean = new RmiProxyFactoryBean(); 
               
    factoryBean.setServiceInterface(InformCountersChangedService.class); 
               
    factoryBean.setServiceUrl("rmi://" c.getAddress() + ":1199/InformCountersChangedService"); 
               
    factoryBean.afterPropertiesSet(); 
               
    informCountersChangedService = (InformCountersChangedServicefactoryBean.getObject(); 
               
    informCountersChangedService.informExtendedCountersChanged(_extendedCounters_assetNumber); 
               
    informCountersChangedService.refresVLTList(_assetNumber); 
           } 
       } 
    en fin, el bean en este momento no tiene ningun "scope" seteado, pero ya he probado con "prototype" ,"singleton", y sigue todo igual! he probado con excluir el bean y q se comunique con el applet con metodos estaticos a travez de spring! pero no hay caso! me podran dar una mano! si necesitan algo mas de codigo para ver otras cosas me lo solicitan y no hay problema!!!

    saludos]!!!

  6. #6
    Fecha de ingreso
    04 jun, 09
    Ubicación
    México
    Mensajes
    559
    Post Thanks / Like
    Poder de reputación
    1120

    Predeterminado

    Cita Iniciado por cdmtica Ver mensaje
    te explico pauman! la estructura es asi! tengo montado un server q por un lado pollea unas placas para traer informacion de maquinas, esa informacion la guardo en base de datos para q tmb sea vista desde la web q tmb tngo en este server a su vez cuando esas placas me envian informacion de las maquina yo se las tengo q informar a un applet q muestra el estado en vivo de las maquinas, la mediacion entre el server y el applet es a travez de spring, el problema es q si hay un solo cliente conectado la informacion q le mande el server llega bien y se visualiza bien, pero si hay 2 o mas clientes conectados (Applets) solamente le llega al primero y deja de andar el applet! por eso preguntaba si tenia q ver con el tipo de scope q hay q ponerle al bean del applet!

    como explicaba antes este es el bean del lado del cliente q representa al applet:
    Código PHP:
    <bean id="celta" class="com.artecoin.passat.client.gui.CELTA"/> 
    y este es un metodo q le informa a los clientes(applets) conectados para q visualicen la informacion:

    Código PHP:
    public void informExtendedCountersChange(ExtendedCounter _extendedCountersint _assetNumber) { 
           for (
    Client c clientsTTR) { 
               
    factoryBean = new RmiProxyFactoryBean(); 
               
    factoryBean.setServiceInterface(InformCountersChangedService.class); 
               
    factoryBean.setServiceUrl("rmi://" c.getAddress() + ":1199/InformCountersChangedService"); 
               
    factoryBean.afterPropertiesSet(); 
               
    informCountersChangedService = (InformCountersChangedServicefactoryBean.getObject(); 
               
    informCountersChangedService.informExtendedCountersChanged(_extendedCounters_assetNumber); 
               
    informCountersChangedService.refresVLTList(_assetNumber); 
           } 
       } 
    en fin, el bean en este momento no tiene ningun "scope" seteado, pero ya he probado con "prototype" ,"singleton", y sigue todo igual! he probado con excluir el bean y q se comunique con el applet con metodos estaticos a travez de spring! pero no hay caso! me podran dar una mano! si necesitan algo mas de codigo para ver otras cosas me lo solicitan y no hay problema!!!

    saludos]!!!
    Hola, como hacen los clientes la conexion al server? por q el scope deberia ser prototype ya q genera un nuevo hilo y en este caso deberia actualizarte la informacion a tu bendito applet.

    salu2
    _______________________________________
    Neos softaware 2011

  7. #7
    Fecha de ingreso
    07 abr, 10
    Mensajes
    39
    Post Thanks / Like
    Poder de reputación
    100

    Predeterminado

    No ha encontrado la
    respuesta aquí?
    Regístrate, preguntar y
    obtener una respuesta
    adecuada en cuestión de minutos!


    Un registro de minutos: clic

    Sin publicidad para los miembros!
    hola! mira la conexion es de la siguiente manera! el applet llama a este metodo a travez de Spring:

    Código PHP:
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("/com/artecoin/passat/client/gui/client-beans.xml");
                        
    factoryBean = new RmiProxyFactoryBean();
                        
    factoryBean.setServiceInterface(MakeConnectionService.class);
                        
    factoryBean.setServiceUrl("rmi://" ipAddress ":1199/MakeConnectionService");
                        
    factoryBean.afterPropertiesSet();
                        
    connectionService = (MakeConnectionServicefactoryBean.getObject();
                        
    frame createGUI();
                        try {
                            
    address InetAddress.getLocalHost();
                        } catch (
    UnknownHostException e) {
                            
    e.printStackTrace();
                        }
                        
    machines connectionService.MakeConnectionTTR(address.toString()); 
    lo q hace en el server es agregar este cliente a un ArrayList y cuando tiene q avisarle a los clientes hago un "for" y les aviso tmb a travez de Spring, primero pido el bean de cliente q en este momento no tiene scope como para no generar una nueva instancia asi uso la del bean.
    pero intente ponerlo en prototype pero no hay caso! solo informa al primero!

Temas similares

  1. Problema aplicación utilizando Spring
    Por lukers en el foro Frameworks Web
    Respuestas: 6
    Último mensaje: 28/12/2011, 16:34
  2. ayuda urgente: problema con applets
    Por rtg27 en el foro Applets
    Respuestas: 3
    Último mensaje: 28/09/2011, 13:27
  3. problema empezando con applets
    Por julian_fuentes en el foro Applets
    Respuestas: 0
    Último mensaje: 11/04/2011, 16:09
  4. problema con applets
    Por melissa en el foro Applets
    Respuestas: 3
    Último mensaje: 07/01/2010, 12:44
  5. Problema con Spring
    Por ElchinoLoco en el foro Frameworks Web
    Respuestas: 8
    Último mensaje: 01/07/2009, 14:18

Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •