es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cambie la codificación de caché del servidor Infinispan de ‘application/x-jboss-marshalling’ a ‘application/x-protostream’.

Actualmente estoy configurando mi contenedor de caché en JBoss 7.4 standalone.xml, y el servidor remoto de ISPN se está ejecutando en localhost. Todo iba bien hasta que arrojó el error:

ISPN000492: No se puede encontrar un transcodificador entre ‘application/x-jboss-marshalling’ y ‘application/x-protostream’

standalone.xml:

<remote-cache-container name="remoteContainer" default-remote-cluster="data-grid-cluster">
    <property name="infinispan.client.hotrod.sasl_mechanism">SCRAM-SHA-512</property>
    <property name="infinispan.client.hotrod.auth_realm">default</property>
    <property name="infinispan.client.hotrod.auth_username">admin</property>
    <property name="infinispan.client.hotrod.auth_password">12345</property>
    <property name="infinispan.client.hotrod.client_intelligence">BASIC</property>
    <remote-clusters>
        <remote-cluster name="data-grid-cluster" socket-bindings="ispn1 ispn2"></remote-cluster>
    </remote-clusters>
</remote-cache-container>

Configuración de la caché ISPN:

{
  "distributed-cache": {
    "mode": "SYNC",
    "owners": 2,
    "encoding": {
      "key": {
        "media-type": "application/x-protostream"
      },
      "value": {
        "media-type": "application/x-protostream"
      }
    },
    "expiration": {
      "lifespan": 5000,
      "max-idle": 1000
    },
    "statistics": true
  }
}

Nota: No quiero cambiar la codificación de la caché porque la consola web de infinispan deja de funcionar.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que hay una incompatibilidad de transcodificación entre la configuración del contenedor de caché en el archivo standalone.xml de JBoss 7.4 y la configuración de la caché ISPN. El mensaje de error indica que no se puede encontrar un transcodificador entre ‘application/x-jboss-marshalling’ y ‘application/x-protostream’.

    Para resolver este problema, puede cambiar la codificación de la caché en la configuración de la caché ISPN para que coincida con la configuración del contenedor, o puede configurar un transcodificador en su configuración de JBoss para manejar la conversión entre los dos tipos de medios.

    Si elige la primera opción, asegúrese de actualizar la configuración del contenedor de caché en el archivo standalone.xml de JBoss 7.4 para usar el mismo tipo de medio que la configuración de caché ISPN. Sin embargo, tenga en cuenta que esto puede hacer que la consola web de infinispan deje de funcionar.

    Si elige la segunda opción, puede agregar un transcodificador a la configuración de JBoss de la siguiente manera:

    <transcoding>: <transcoder infinispan:inbound-marshaller="org.infinispan.commons.marshall.jboss.JBossMarshaller" infinispan:outbound-marshaller="org.jboss.as.clustering.marshalling.jboss.JBossMarshaller" infinispan:inbound-mime-types="application/x-jboss-marshalling" infinispan:outbound-mime-types="application/x-protostream"></transcoder>
    </transcoding>
    

    Asegúrese de reemplazar las clases de transcodificación de entrada y salida con las apropiadas para su configuración.

    Después de realizar estos cambios, reinicie JBoss y el servidor remoto de ISPN, y el error debería resolverse.

Comments are closed.