Síntomas

El acceso de RMI al repositorio de CRX se ha habilitado configurando rmi-port en 1234 en crx-author/web.xml. El tiempo de respuesta es extremadamente lento; se necesitan 74 segundos para que la JNDI busque en el RemoteRepository de JCR.

Causa

El puerto RMI especificado en la configuración del servidor es solo el puerto del registro RMI donde se almacena la referencia remota. El servicio RMI real utiliza otro puerto que actualmente no es configurable; es seleccionado aleatoriamente por el sistema operativo.

Sin embargo, también es posible acceder al servicio RMI real utilizando peticiones HTTP en el puerto RMI configurado. Esta es la opción predeterminada que utiliza Java si no se puede acceder al puerto de servicio real. Este pobre rendimiento puede ser causado cuando se está utilizando el protocolo HTTP de reserva.

Resolución

No existe una capa de acceso remoto alternativa y parece que la solución de tunelización HTTP no es lo suficientemente rápida. Por lo tanto, la única alternativa razonable sería utilizar la capacidad del sistema operativo para establecer el rango de puertos dinámicos que el sistema operativo puede asignar al servicio RMI. En Linux esto se consigue modificando el contenido de /proc/sys/net/ipv4/ip_local_port_range. Esto debería permitir acceder al repositorio de forma más eficiente utilizando el protocolo RMI nativo.

Se aplica a

CRX

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea