Desarrollé una pequeña aplicación REST API con Spring Boot después de otra aplicación de muestra con la configuración clásica de Spring XML. Importa contexto de una biblioteca con una configuración de caché Coherence.

Cuando lo desarrollé localmente, ejecutando la aplicación Spring Boot con Intellij Idea Runner, no hubo problemas, la aplicación funcionó bien y el punto final funcionó al conectarse a ese caché.

Cuando implementé la aplicación en el servidor Unix, recibo el siguiente error durante el inicio de la aplicación:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'coreSearchSync' defined in class path resource [core-search-core-context.xml]: Cannot resolve reference to bean 'corePersistenceManager' while setting bean property 'corePersistenceManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'corePersistenceManager': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ' coreSearchResultCache' defined in class path resource [core-search-coherence-context.xml]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.tangosol.net.NamedCache]: Factory method 'getCache' threw exception; nested exception is (Wrapped: Failed to start Service "Management" (ServiceState=SERVICE_STOPPED)) java.lang.RuntimeException: Join request was aborted

La aplicación en el servidor usa application.properties pero son los mismos que en application.yaml localmente.

No estoy seguro de dónde continuar la investigación ...

0
havryliuk 23 feb. 2021 a las 12:18

1 respuesta

La mejor respuesta

El problema se resolvió pasando argumentos de JVM al script para iniciar la aplicación:

-Dtangosol.coherence.clusterport=<port> -Dtangosol.coherence.site=<site> -Dtangosol.coherence.clusteraddress=<cluster_ip_ddress> -Dtangosol.coherence.cluster=<cluster_name>

Parece que estas propiedades no se aplican desde las propiedades de la aplicación porque el inicio del clúster de coherencia funciona en el nivel del sistema y / o comienza antes de que se inicialicen las propiedades. O esas propiedades no son visibles para la coherencia.

0
havryliuk 12 mar. 2021 a las 08:24