jboss-user
[Arriba] [Todas las Listas]

[jboss-Usuario] [JBoss Messaging] - Failover para JMS el cliente toma de

To: User development <jboss-user@xxxxxxxxxxxxxxx>
Subject: [jboss-Usuario] [JBoss Messaging] - Failover para JMS el cliente toma demasiado mucho tiempo y fallar
From: Flemming Harms <do-not-reply@xxxxxxxxx>
Date: Sat, 10 Sep 2011 05:29:57 -0400
Auto-submitted: yes
Delivery-date: Sat, 10 Sep 2011 05:31:34 -0400
Envelope-to: traductor@xxxxxxxxxxx
List-archive: <http://lists.jboss.org/pipermail/jboss-user>
List-help: <mailto:jboss-user-request@lists.jboss.org?subject=help>
List-id: The JBoss User main mailing list <jboss-user.lists.jboss.org>
List-post: <mailto:jboss-user@lists.jboss.org>
List-subscribe: <https://lists.jboss.org/mailman/listinfo/jboss-user>, <mailto:jboss-user-request@lists.jboss.org?subject=subscribe>
List-unsubscribe: <https://lists.jboss.org/mailman/listinfo/jboss-user>, <mailto:jboss-user-request@lists.jboss.org?subject=unsubscribe>
Reply-to: The JBoss User main mailing list <jboss-user@xxxxxxxxxxxxxxx>
Sender: jboss-user-bounces@xxxxxxxxxxxxxxx
*Flemming Daños [*http://comunidad.*jboss.*org/Personas/*fharms] creó la discusión

"*Failover para *JMS el cliente toma demasiado mucho tiempo y fallar"

para ver la discusión, visita: *http://comunidad.*jboss.*org/Mensaje/625856#625856

--------------------------------------------------------------
*Hi

tengo problema no sé cómo para solucionar. A veces el *JMS el cliente toma a mucho tiempo a *failover y echar una excepción en el cliente, esto no es compatible pero algo podemos reproducir 6-10 tiempo.
El *servers no es acentuado nada e igual va para el cliente.
 

- 2 *JBoss 5.1 *servers corriendo en un grupo
- 2 clientes conectan a un tema *queue
- *Messaging cliente 1.4.7.GA
- *remoting 2.5.1

1) si utilizo el *default los valores "remotos-*sslbisocket-servicio.*xml" Nuestro cliente piensa que es tener que *failover en *startup. Esto falla con un *JMSException y En este caso nosotros *reconnect al tema y después de que esto #cada trabajos de cosa bien. Si traigo abajo uno del *servers, falla sobre tan esperado. Pero porque falla en *startup hay posibilidad perdemos mensajes porque utiliza un minuto para descubrir el *failover no trabajó  


2) si cambio los valores *validatorPingTimeout a 10000 y *validatorPingPeriod = 15000 somos capaces de empezar nuestro cliente con fuera del *JMS el cliente lo piensa tener que *failover y los mensajes son recibidos. Pero si traigo abajo uno del dos *servers falla en el *failover procedimiento con un *JMSExeception

2011-09-10 07:37:11,801 [Hilo-213] WARN  *com.*apc.*dsmf.Cliente.*webservices.Acontecimiento.*QueueRemoteEventServiceImpl - *Failover FRACASO de acontecimiento_DETECTÓ
2011-09-10 07:37:11,807 [Hilo-213] WARN  *com.*apc.*dsmf.Cliente.*webservices.Acontecimiento.*QueueRemoteEventServiceImpl - *Failover Acontecimiento *FAILOVER_EMPEZÓ
2011-09-10 07:38:19,319 [Hilo-213] WARN  *com.*apc.*dsmf.Cliente.*webservices.Acontecimiento.*QueueRemoteEventServiceImpl - *Failover Acontecimiento *FAILOVER_FALLÓ
2011-09-10 07:38:19,321 [Hilo-213] ERROR *com.*apc.*dsmf.Cliente.*webservices.Acontecimiento.*QueueRemoteEventServiceImpl - Conseguido *JMS Excepción
*javax.*jms.*JMSException: Fracaso en *underlying *remoting conexión
          en *org.*jboss.*jms.Cliente.*remoting.*ConsolidatedRemotingConnectionListener.*handleConnectionException(*ConsolidatedRemotingConnectionListener.*java:99)
          en *org.*jboss.*remoting.*ConnectionValidator$1.Carrera(*ConnectionValidator.*java:498)
código de cliente :

*TopicConnection conexión = ((*TopicConnectionFactory) *lookup).*createTopicConnection();Conexión = de sesión.*createTopicSession(Cierto,Sesión.El COCHE_RECONOCE);tema de Tema = (Tema) contexto.*lookup(*JNDI_NOMBRE_TEMA_de ACONTECIMIENTO_REMOTO);*subscriber = sesión.*createSubscriber(Tema);*subscriber.*setMessageListener(Este);conexión.*setExceptionListener(Este);((*JBossConnection) conexión).*registerFailoverListener(Este);conexión.Inicio();
---------------------------------------------------------------
remoto-*sslbisocket-servicio.*xml :

 <*mbean Código="*org.*jboss.*remoting.Transporte.*Connector"
          Nombre="*jboss.*messaging:Servicio=*Connector,transporte=*sslbisocket"
          exhibición-SSL="de nombre *Bisocket Transporte *Connector">
      <Configuración de nombre="del atributo">
         <*config>
            <*invoker transporte="*sslbisocket">   

               <!-- tendría que haber ninguna razón para cambiar estos parámetros - aviso!
                    Cambiándoles puede parar *JBoss *Messaging trabajando correctamente -->          
               <nombre de atributo="*marshaller" *isParam="cierto">*org.*jboss.*jms.*wireformat.*JMSWireFormat</Nombre>
               <de atributo del atributo="*unmarshaller" *isParam="cierto">*org.*jboss.*jms.*wireformat.*JMSWireFormat</Nombre>
               <de atributo del atributo="*dataType" *isParam="cierto">*jms</nombre>
               <de atributo del atributo="*socket.Conexión_de control" *isParam="atributo">falso<cierto>              
                 <nombre de atributo="*serverBindAddress#unknown{^*jboss.Liga.Nom_nom_nom_nom
Flemming Harms [http://community.jboss.org/people/fharms] created the discussion

"Failover for JMS client takes too long and fail"

To view the discussion, visit: http://community.jboss.org/message/625856#625856

--------------------------------------------------------------
Hi

I have problem I don't know how to solve. Sometimes the JMS client take to long to failover and throw an exception on the client, this is not consistent but something we can reproduce 6-10 times.
The servers is not stressed at all and the same goes for the client.
 

- 2 JBoss 5.1 servers running in a cluster
- 2 clients connect to a topic queue
- Messaging client 1.4.7.GA
- remoting 2.5.1

1) if I use the default values "remote-sslbisocket-service.xml" our client thinks it's should failover on startup. This fail with an JMSException and In this case we reconnect to the topic and after this every thing works fine. if I bring down one of the servers, it fail over as expected. But because it fail on startup there is possibility we miss messages because it use a minute to discover the failover didn't work  


2) if I change the values validatorPingTimeout to 10000 and validatorPingPeriod = 15000 we are able to start our client with out the JMS client thinks it should failover and messages are received. But if I bring down one of the two servers it fail in the failover procedure with an JMSExeception

2011-09-10 07:37:11,801 [Thread-213] WARN  com.apc.dsmf.client.webservices.event.QueueRemoteEventServiceImpl - Failover event FAILURE_DETECTED
2011-09-10 07:37:11,807 [Thread-213] WARN  com.apc.dsmf.client.webservices.event.QueueRemoteEventServiceImpl - Failover event FAILOVER_STARTED
2011-09-10 07:38:19,319 [Thread-213] WARN  com.apc.dsmf.client.webservices.event.QueueRemoteEventServiceImpl - Failover event FAILOVER_FAILED
2011-09-10 07:38:19,321 [Thread-213] ERROR com.apc.dsmf.client.webservices.event.QueueRemoteEventServiceImpl - Got JMS Exception
javax.jms.JMSException: Failure on underlying remoting connection
          at org.jboss.jms.client.remoting.ConsolidatedRemotingConnectionListener.handleConnectionException(ConsolidatedRemotingConnectionListener.java:99)
          at org.jboss.remoting.ConnectionValidator$1.run(ConnectionValidator.java:498)
client code :

TopicConnection connection = ((TopicConnectionFactory) lookup).createTopicConnection();session = connection.createTopicSession(true,Session.AUTO_ACKNOWLEDGE);Topic topic = (Topic) context.lookup(JNDI_NAME_REMOTE_EVENT_TOPIC);subscriber = session.createSubscriber(topic);subscriber.setMessageListener(this);connection.setExceptionListener(this);((JBossConnection) connection).registerFailoverListener(this);connection.start();
---------------------------------------------------------------
remote-sslbisocket-service.xml :

 <mbean code="org.jboss.remoting.transport.Connector"
          name="jboss.messaging:service=Connector,transport=sslbisocket"
          display-name="SSL Bisocket Transport Connector">
      <attribute name="Configuration">
         <config>
            <invoker transport="sslbisocket">   

               <!-- There should be no reason to change these parameters - warning!
                    Changing them may stop JBoss Messaging working correctly -->          
               <attribute name="marshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
               <attribute name="unmarshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
               <attribute name="dataType" isParam="true">jms</attribute>
               <attribute name="socket.check_connection" isParam="true">false</attribute>              
                 <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
               <attribute name="serverBindPort">4459</attribute>               
               <attribute name="clientSocketClass" isParam="true">org.jboss.jms.client.remoting.ClientSocketWrapper</attribute>
               <attribute name="serverSocketClass">org.jboss.jms.server.remoting.ServerSocketWrapper</attribute>
               <attribute name="serverSocketFactory">jboss.messaging:service=ServerSocketFactory,type=SSL</attribute>
                 <attribute name="clientConnectAddress">10.245.256.10</attribute>
               <attribute name="onewayThreadPool">org.jboss.jms.server.remoting.DirectThreadPool</attribute>
               <!-- the following parameters are useful when there is a firewall between client and server. Uncomment them if so.-->

               <attribute name="numberOfCallRetries" isParam="true">5</attribute>
               <attribute name="pingFrequency" isParam="true">30000</attribute>
               <attribute name="pingWindowFactor" isParam="true">71582</attribute>
               <attribute name="generalizeSocketException" isParam="true">true</attribute>

               <!-- Now remoting supports socket write timeout configuration. Uncomment this if you need it. -->
               <!--               
               <attribute name="writeTimeout" isParam="true">30000</attribute>
               -->
               <!-- End immutable parameters -->

               <attribute name="stopLeaseOnFailure" isParam="true">true</attribute>

               <!-- Periodicity of client pings. Server window by default is twice this figure -->                               
               <attribute name="clientLeasePeriod" isParam="true">10000</attribute>
               <attribute name="validatorPingPeriod" isParam="true">10000</attribute>
               <attribute name="validatorPingTimeout" isParam="true">5000</attribute>
               <attribute name="failureDisconnectTimeout" isParam="true">0</attribute>
               <attribute name="callbackErrorsAllowed">1</attribute>
               <attribute name="registerCallbackListener">false</attribute>
               <attribute name="useClientConnectionIdentity" isParam="true">true</attribute>

                 <attribute name="timeout" isParam="true">0</attribute>
               <!-- Max Number of connections in client pool. This should be significantly higher than
                    the max number of sessions/consumers you expect -->
               <attribute name="JBM_clientMaxPoolSize" isParam="true">200</attribute> 

                 <!-- The maximum time to wait before timing out on trying to write a message to socket for delivery -->
               <attribute name="callbackTimeout">10000</attribute> 

               <!-- Use these parameters to specify values for binding and connecting control connections to 
                    work with your firewall/NAT configuration -->
               <attribute name="secondaryBindPort">4462</attribute>                           
               <attribute name="secondaryConnectPort">4462</attribute>                              

            </invoker>
            <handlers>
               <handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
            </handlers>
         </config>
      </attribute>
      <depends>jboss.messaging:service=ServerSocketFactory,type=SSL</depends>
   </mbean>

Catch 22, please help!!!
br
Flemming
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/625856#625856]

Start a new discussion in JBoss Messaging at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2042]

_______________________________________________
*jboss-Usuario *mailing lista
*jboss-user@xxxxxxxxxxxxxxx
*https://listas.*jboss.*org/*mailman/*listinfo/*jboss-Usuario
_______________________________________________
jboss-user mailing list
jboss-user@xxxxxxxxxxxxxxx
https://lists.jboss.org/mailman/listinfo/jboss-user
<Anterior por Tema] Tema Actual [Siguiente por Tema>