Caused by: java.lang.NoSuchMethodError: org.springframework.data.redis.connection.RedisConnection.getConfig(Ljava/lang/String;)Ljava/util/List; - netflix-eureka

I get this error when I'm trying to run my eureka server using properties from config server and I add this:
spring.redis.host=localhost
spring.redis.port=6379
I have also redis server running in my machine
My config server is running correctly.
It looks like it didn't get the configuration properties
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
[32m :: Spring Boot :: [39m [2m (v2.0.4.RELEASE)[0;39m
[2m2018-08-23 19:44:29.966[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mc.c.c.ConfigServicePropertySourceLocator[0;39m [2m:[0;39m Fetching config from server at : http://localhost:8081
[2m2018-08-23 19:44:31.137[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mc.c.c.ConfigServicePropertySourceLocator[0;39m [2m:[0;39m Located environment: name=discovery, profiles=[default], label=null, version=052b600a442973c1255a385b023aa3b78f1cb98e, state=null
[2m2018-08-23 19:44:31.138[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mb.c.PropertySourceBootstrapConfiguration[0;39m [2m:[0;39m Located property source: CompositePropertySource {name='configService', propertySources=[MapPropertySource {name='configClient'}, MapPropertySource {name='file://C:/Users/PC/pfe-config/discovery.properties'}]}
[2m2018-08-23 19:44:31.149[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36ms.pfe.meter.DiscoveryServerApplication [0;39m [2m:[0;39m No active profile set, falling back to default profiles: default
[2m2018-08-23 19:44:31.240[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mConfigServletWebServerApplicationContext[0;39m [2m:[0;39m Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext#5026735c: startup date [Thu Aug 23 19:44:31 GMT+01:00 2018]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext#765d7657
[2m2018-08-23 19:44:33.525[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36m.s.d.r.c.RepositoryConfigurationDelegate[0;39m [2m:[0;39m Multiple Spring Data modules found, entering strict repository configuration mode!
[2m2018-08-23 19:44:34.640[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mo.s.cloud.context.scope.GenericScope [0;39m [2m:[0;39m BeanFactory id=7ea2c4ae-a908-3ab0-99f1-53f853a13e36
[2m2018-08-23 19:44:34.699[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mf.a.AutowiredAnnotationBeanPostProcessor[0;39m [2m:[0;39m JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
[2m2018-08-23 19:44:35.007[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mtrationDelegate$BeanPostProcessorChecker[0;39m [2m:[0;39m Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$efb3243] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
[2m2018-08-23 19:44:35.728[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mo.s.b.w.embedded.tomcat.TomcatWebServer [0;39m [2m:[0;39m Tomcat initialized with port(s): 8082 (http)
[2m2018-08-23 19:44:36.019[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mo.apache.catalina.core.StandardService [0;39m [2m:[0;39m Starting service [Tomcat]
[2m2018-08-23 19:44:36.020[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36morg.apache.catalina.core.StandardEngine [0;39m [2m:[0;39m Starting Servlet Engine: Apache Tomcat/8.5.32
[2m2018-08-23 19:44:36.028[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.a.catalina.core.AprLifecycleListener [0;39m [2m:[0;39m The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Java\jre1.8.0_111\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_111/bin/server;C:/Program Files/Java/jre1.8.0_111/bin;C:/Program Files/Java/jre1.8.0_111/lib/amd64;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\libnvvp;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\MongoDB\Server\3.0\bin;C:\Program Files\nodejs\;C:\Program Files\MySQL\MySQL Utilities 1.6\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\GtkSharp\2.12\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\cygwin64\bin;C:\Users\PC\AppData\Local\Microsoft\WindowsApps;C:\Users\PC\AppData\Roaming\npm;C:\Program Files\apache-maven-3.5.4\bin;;D:\spring-tool-suite-3.9.5.RELEASE-e4.8.0-win32-x86_64\sts-bundle\sts-3.9.5.RELEASE;;.]
[2m2018-08-23 19:44:36.383[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.a.c.c.C.[Tomcat].[localhost].[/] [0;39m [2m:[0;39m Initializing Spring embedded WebApplicationContext
[2m2018-08-23 19:44:36.384[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.web.context.ContextLoader [0;39m [2m:[0;39m Root WebApplicationContext: initialization completed in 5144 ms
[2m2018-08-23 19:44:36.800[0;39m [33m WARN[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mc.n.c.sources.URLConfigurationSource [0;39m [2m:[0;39m No URLs will be polled as dynamic configuration sources.
[2m2018-08-23 19:44:36.800[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mc.n.c.sources.URLConfigurationSource [0;39m [2m:[0;39m To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
[2m2018-08-23 19:44:36.822[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mc.netflix.config.DynamicPropertyFactory [0;39m [2m:[0;39m DynamicPropertyFactory is initialized with configuration sources: com.netflix.config.ConcurrentCompositeConfiguration#3e1ff2c0
[2m2018-08-23 19:44:41.018[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.FilterRegistrationBean [0;39m [2m:[0;39m Mapping filter: 'characterEncodingFilter' to: [/*]
[2m2018-08-23 19:44:41.019[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.FilterRegistrationBean [0;39m [2m:[0;39m Mapping filter: 'webMvcMetricsFilter' to: [/*]
[2m2018-08-23 19:44:41.019[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.FilterRegistrationBean [0;39m [2m:[0;39m Mapping filter: 'sessionRepositoryFilter' to: [/*]
[2m2018-08-23 19:44:41.019[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.FilterRegistrationBean [0;39m [2m:[0;39m Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
[2m2018-08-23 19:44:41.020[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.FilterRegistrationBean [0;39m [2m:[0;39m Mapping filter: 'httpPutFormContentFilter' to: [/*]
[2m2018-08-23 19:44:41.020[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.FilterRegistrationBean [0;39m [2m:[0;39m Mapping filter: 'requestContextFilter' to: [/*]
[2m2018-08-23 19:44:41.021[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36m.s.DelegatingFilterProxyRegistrationBean[0;39m [2m:[0;39m Mapping filter: 'springSecurityFilterChain' to: [/*]
[2m2018-08-23 19:44:41.022[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.FilterRegistrationBean [0;39m [2m:[0;39m Mapping filter: 'httpTraceFilter' to: [/*]
[2m2018-08-23 19:44:41.022[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.FilterRegistrationBean [0;39m [2m:[0;39m Mapping filter: 'servletContainer' to urls: [/eureka/*]
[2m2018-08-23 19:44:41.022[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mo.s.b.w.servlet.ServletRegistrationBean [0;39m [2m:[0;39m Servlet dispatcherServlet mapped to [/]
[2m2018-08-23 19:44:41.168[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mc.s.j.s.i.a.WebApplicationImpl [0;39m [2m:[0;39m Initiating Jersey application, version 'Jersey: 1.19.1 03/11/2016 02:08 PM'
[2m2018-08-23 19:44:41.414[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mc.n.d.provider.DiscoveryJerseyProvider [0;39m [2m:[0;39m Using JSON encoding codec LegacyJacksonJson
[2m2018-08-23 19:44:41.417[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mc.n.d.provider.DiscoveryJerseyProvider [0;39m [2m:[0;39m Using JSON decoding codec LegacyJacksonJson
[2m2018-08-23 19:44:41.684[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mc.n.d.provider.DiscoveryJerseyProvider [0;39m [2m:[0;39m Using XML encoding codec XStreamXml
[2m2018-08-23 19:44:41.685[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ost-startStop-1][0;39m [36mc.n.d.provider.DiscoveryJerseyProvider [0;39m [2m:[0;39m Using XML decoding codec XStreamXml
[2m2018-08-23 19:44:43.029[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mo.s.s.web.DefaultSecurityFilterChain [0;39m [2m:[0;39m Creating filter chain: OrRequestMatcher [requestMatchers=[Ant [pattern='/eureka/**']]], [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter#47768e74, org.springframework.security.web.context.SecurityContextPersistenceFilter#e38f0b7, org.springframework.security.web.header.HeaderWriterFilter#dd2856e, org.springframework.security.web.authentication.logout.LogoutFilter#f5ce0bb, org.springframework.security.web.authentication.www.BasicAuthenticationFilter#2525a5b8, org.springframework.security.web.savedrequest.RequestCacheAwareFilter#4f8d86e4, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter#6e3eb0cd, org.springframework.security.web.authentication.AnonymousAuthenticationFilter#2740e316, org.springframework.security.web.session.SessionManagementFilter#777d191f, org.springframework.security.web.access.ExceptionTranslationFilter#b0a1231, org.springframework.security.web.access.intercept.FilterSecurityInterceptor#58606c91]
[2m2018-08-23 19:44:43.034[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mo.s.s.web.DefaultSecurityFilterChain [0;39m [2m:[0;39m Creating filter chain: org.springframework.security.web.util.matcher.AnyRequestMatcher#1, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter#79aee22a, org.springframework.security.web.context.SecurityContextPersistenceFilter#1cfc2538, org.springframework.security.web.header.HeaderWriterFilter#3451f01d, org.springframework.security.web.authentication.logout.LogoutFilter#2ecf5915, org.springframework.security.web.savedrequest.RequestCacheAwareFilter#66deec87, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter#5d342959, org.springframework.security.web.authentication.AnonymousAuthenticationFilter#36920bd6, org.springframework.security.web.session.SessionManagementFilter#72503b19, org.springframework.security.web.access.ExceptionTranslationFilter#124d02b2, org.springframework.security.web.access.intercept.FilterSecurityInterceptor#6bcc3f27]
[2m2018-08-23 19:44:43.301[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mio.lettuce.core.EpollProvider [0;39m [2m:[0;39m Starting without optional epoll library
[2m2018-08-23 19:44:43.304[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mio.lettuce.core.KqueueProvider [0;39m [2m:[0;39m Starting without optional kqueue library
[2m2018-08-23 19:44:44.183[0;39m [33m WARN[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mConfigServletWebServerApplicationContext[0;39m [2m:[0;39m Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer' defined in class path resource [org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.springframework.data.redis.connection.RedisConnection.getConfig(Ljava/lang/String;)Ljava/util/List;
[2m2018-08-23 19:44:45.318[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mo.apache.catalina.core.StandardService [0;39m [2m:[0;39m Stopping service [Tomcat]
[2m2018-08-23 19:44:45.369[0;39m [32m INFO[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mConditionEvaluationReportLoggingListener[0;39m [2m:[0;39m
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
[2m2018-08-23 19:44:45.394[0;39m [31mERROR[0;39m [35m9156[0;39m [2m---[0;39m [2m[ main][0;39m [36mo.s.boot.SpringApplication [0;39m [2m:[0;39m Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer' defined in class path resource [org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.springframework.data.redis.connection.RedisConnection.getConfig(Ljava/lang/String;)Ljava/util/List;
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1699) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:573) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:759) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:869) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:762) [spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:398) [spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:330) [spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1258) [spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1246) [spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at steg.pfe.meter.DiscoveryServerApplication.main(DiscoveryServerApplication.java:16) [classes/:na]
Caused by: java.lang.NoSuchMethodError: org.springframework.data.redis.connection.RedisConnection.getConfig(Ljava/lang/String;)Ljava/util/List;
at org.springframework.session.data.redis.config.ConfigureNotifyKeyspaceEventsAction.getNotifyOptions(ConfigureNotifyKeyspaceEventsAction.java:74) ~[spring-session-1.3.3.RELEASE.jar:na]
at org.springframework.session.data.redis.config.ConfigureNotifyKeyspaceEventsAction.configure(ConfigureNotifyKeyspaceEventsAction.java:55) ~[spring-session-1.3.3.RELEASE.jar:na]
at org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration$EnableRedisKeyspaceNotificationsInitializer.afterPropertiesSet(RedisHttpSessionConfiguration.java:251) ~[spring-session-1.3.3.RELEASE.jar:na]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1758) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1695) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
... 16 common frames omitted

This question is everywhere but with no definitive answer.
Its been 9months and you probably solved it by now, but I'll still provide this answer for those it may help.
Even though I would actually recommend you post your maven or gradle build file as well as your connectionFactory code for more clarity of context, I'll take a wild guess and attempt to provide a possible solution with a brief explanation below;
Many times this kind of problem could be caused either by;
Library/Version incompatibilities of your project dependencies OR
Having more than one library(ies) on your classpath that have the same class(es), hence causing a collission.
In either case, Spring will have a hard time figuring out what library and what version of the dependencies to use in your project.
I experienced something similar to what you're experiencing and the solution for me was to purge my dependencies so I decided keep only spring-session-data-redis and removed all other spring-session and/or data-redis dependencies
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
If this does not work for you, then you really should post some code to further help understand your situation

This worked for me
#Bean
public static ConfigureRedisAction configureRedisAction() {
return ConfigureRedisAction.NO_OP;
}

Related

Keycloak startup fails (undertow request failed HttpServerExchange)

I'm currently trying to get a standalone installation of Keycloak up and running.
My setup is a Windows Server 2019 and I tried multiple versions of Keycloak including 12.04 and 18.0 (wildfly). I tried both JRE 8 and JRE 11 with the same result.
After unpacking the keycloak.zip file I haven't done any configuration changes. When starting the standalone.bat I get the following error message and the server doesn't respond on http://localhost:8080
07:48:23,952 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 68) WFLYUT0021: Registered web context: '/auth' for server 'default-server'
07:48:24,067 INFO [org.jboss.as.server] (ServerService Thread Pool -- 55) WFLYSRV0010: Deployed "keycloak-server.war" (runtime-name : "keycloak-server.war")
07:48:24,138 INFO [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
07:48:24,143 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: Keycloak 12.0.4 (WildFly Core 13.0.3.Final) started in 35987ms - Started 589 of 867 services (585 services are lazy, passive or on-demand)
07:48:24,148 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
07:48:24,150 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
07:48:30,333 ERROR [io.undertow.request] (default task-1) UT005071: Undertow request failed HttpServerExchange{ GET /auth/}: java.io.IOError: java.io.FileNotFoundException: Invalid file path
at org.xnio.conduits.Conduits$1.run(Conduits.java:237)
at org.xnio.conduits.Conduits$1.run(Conduits.java:227)
at java.security.AccessController.doPrivileged(Native Method)
at org.xnio.conduits.Conduits.<clinit>(Conduits.java:227)
at io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.writeFinal(AbstractFixedLengthStreamSinkConduit.java:175)
at org.xnio.conduits.ConduitStreamSinkChannel.writeFinal(ConduitStreamSinkChannel.java:104)
at io.undertow.channels.DetachableStreamSinkChannel.writeFinal(DetachableStreamSinkChannel.java:195)
at io.undertow.server.HttpServerExchange$WriteDispatchChannel.writeFinal(HttpServerExchange.java:2160)
at io.undertow.servlet.spec.ServletOutputStreamImpl.writeBufferBlocking(ServletOutputStreamImpl.java:573)
at io.undertow.servlet.spec.ServletOutputStreamImpl.close(ServletOutputStreamImpl.java:610)
at io.undertow.servlet.spec.HttpServletResponseImpl.closeStreamAndWriter(HttpServletResponseImpl.java:497)
at io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:586)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:328)
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:841)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1348)
at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.io.FileNotFoundException: Invalid file path
at java.io.FileOutputStream.<init>(FileOutputStream.java:206)
at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
at org.xnio.conduits.Conduits$1.run(Conduits.java:232)
... 33 more
07:48:31,387 ERROR [io.undertow.request] (default task-1) UT005071: Undertow request failed HttpServerExchange{ GET /auth/}: java.lang.NoClassDefFoundError: Could not initialize class org.xnio.conduits.Conduits
at io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.writeFinal(AbstractFixedLengthStreamSinkConduit.java:175)
at org.xnio.conduits.ConduitStreamSinkChannel.writeFinal(ConduitStreamSinkChannel.java:104)
at io.undertow.channels.DetachableStreamSinkChannel.writeFinal(DetachableStreamSinkChannel.java:195)
at io.undertow.server.HttpServerExchange$WriteDispatchChannel.writeFinal(HttpServerExchange.java:2160)
at io.undertow.servlet.spec.ServletOutputStreamImpl.writeBufferBlocking(ServletOutputStreamImpl.java:573)
at io.undertow.servlet.spec.ServletOutputStreamImpl.close(ServletOutputStreamImpl.java:610)
at io.undertow.servlet.spec.HttpServletResponseImpl.closeStreamAndWriter(HttpServletResponseImpl.java:497)
at io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:586)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:328)
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:841)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
at java.lang.Thread.run(Thread.java:750)
Any ideas why this error occurs?
Kind regards
Dennis
we were facing the same issue, our problem was JAVA was not installed correctly, check if you have correctly installed java.
try with oracle jdk 15, it worked for us.

Play framework how to use redis as cache server with tls enabled

I am trying to use Redis as a cache server for my web server written in scala using play framework.
I am using the library play-redis as per the play scala documentation. But I am not able to connect to my redis server with tls enabled which is a new feature in version 6. I have tried both cluster , stand-alone & aws-cluster options as explained in the play-redis library documentation.
It is working fine when I try to connect to my local redis which does'nt have tls enabled.
Play version - 2.8.x
Scala version - 2.13.5
Method in my service class using cache module
cache.getOrElseUpdate[QueryResponse](query.toString) {
psqlDb.withConnection[Future[QueryResponse]] { implicit conn:Connection =>
val queryList: Seq[Map[String, ResponseData]] = query.dataQuery.map(query => {
val result: List[Map[String, String]] = SQL(SQLQueryBuilder.getSQLQuery(query)).as(parser.*)
Map(query.dataLabel -> ResponseData(result))
})
Future{QueryResponse(data = queryList)}
}
}
My play conf file
instances {
play {
host: mycache.dns.com
source: aws-cluster
}
}
}
Error I am getting when I connect to tls enabled redis
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool HikariPool-2 - Pool stats (total=2, active=0, idle=2, waiting=0)
2021-05-21 10:25:23 INFO redis.actors.RedisClientActor akka://application/user/RedisClientPool-$b Connect to /xx.xx.x.xx:6379
2021-05-21 10:25:23 DEBUG akka.io.TcpOutgoingConnection akka://application/system/IO-TCP/selectors/$a/0 Attempting connection to [/xx.xx.x.xx:6379]
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection#628938f6
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection#52e89e1b
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection#798d5238
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection#4391945e
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection#1b41b4c4
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection#513c3200
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection#47cd4b77
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection#35bf221e
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool HikariPool-2 - After adding stats (total=10, active=0, idle=10, waiting=0)
2021-05-21 10:25:23 DEBUG akka.io.TcpOutgoingConnection akka://application/system/IO-TCP/selectors/$a/0 Connection established to [/xx.xx.x.xx:6379]
2021-05-21 10:25:23 INFO redis.actors.RedisClientActor akka://application/user/RedisClientPool-$b Connected to /xx.xx.x.xx:6379
2021-05-21 10:25:28 DEBUG com.zaxxer.hikari.pool.HikariPool HikariPool-1 - Pool stats (total=10, active=0, idle=10, waiting=0)
2021-05-21 10:25:28 DEBUG com.zaxxer.hikari.pool.HikariPool HikariPool-1 - Fill pool skipped, pool is at sufficient level.
2021-05-21 10:25:33 ERROR p.api.http.DefaultHttpErrorHandler
! #7jn65pj3d - Internal server error, for (POST) [/my/url/path] ->
play.api.UnexpectedException: Unexpected exception[TimeoutException: Future timed out after [10 seconds]]
at play.core.server.DevServerStart$$anon$1.reload(DevServerStart.scala:254)
at play.core.server.DevServerStart$$anon$1.get(DevServerStart.scala:148)
at play.core.server.AkkaHttpServer.handleRequest(AkkaHttpServer.scala:302)
at play.core.server.AkkaHttpServer.$anonfun$createServerBinding$1(AkkaHttpServer.scala:224)
at akka.stream.impl.fusing.MapAsync$$anon$30.onPush(Ops.scala:1297)
at akka.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:541)
at akka.stream.impl.fusing.GraphInterpreter.processEvent(GraphInterpreter.scala:495)
at akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:390)
at akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:625)
at akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:502)
at akka.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:600)
at akka.stream.impl.fusing.ActorGraphInterpreter.akka$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:775)
at akka.stream.impl.fusing.ActorGraphInterpreter$$anonfun$receive$1.applyOrElse(ActorGraphInterpreter.scala:790)
at akka.actor.Actor.aroundReceive(Actor.scala:537)
at akka.actor.Actor.aroundReceive$(Actor.scala:535)
at akka.stream.impl.fusing.ActorGraphInterpreter.aroundReceive(ActorGraphInterpreter.scala:691)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:579)
at akka.actor.ActorCell.invoke(ActorCell.scala:547)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270)
at akka.dispatch.Mailbox.run(Mailbox.scala:231)
at akka.dispatch.Mailbox.exec(Mailbox.scala:243)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Caused by: java.util.concurrent.TimeoutException: Future timed out after [10 seconds]
at scala.concurrent.impl.Promise$DefaultPromise.tryAwait0(Promise.scala:212)
at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:225)
at scala.concurrent.Await$.$anonfun$result$1(package.scala:201)
at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread$$anon$3.block(ThreadPoolBuilder.scala:174)
at java.base/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3118)
at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread.blockOn(ThreadPoolBuilder.scala:172)
at scala.concurrent.Await$.result(package.scala:124)
at redis.RedisCluster.<init>(RedisCluster.scala:56)
at play.api.cache.redis.connector.RedisCommandsCluster$$anon$2.<init>(RedisCommands.scala:106)
at play.api.cache.redis.connector.RedisCommandsCluster.<init>(RedisCommands.scala:106)
at play.api.cache.redis.connector.RedisCommandsProvider.get$lzycompute(RedisCommands.scala:21)
at play.api.cache.redis.connector.RedisCommandsProvider.get(RedisCommands.scala:20)
at play.api.cache.redis.connector.RedisConnectorProvider.commands$lzycompute(RedisConnectorProvider.scala:15)
at play.api.cache.redis.connector.RedisConnectorProvider.commands(RedisConnectorProvider.scala:15)
at play.api.cache.redis.connector.RedisConnectorProvider.get$lzycompute(RedisConnectorProvider.scala:17)
at play.api.cache.redis.connector.RedisConnectorProvider.get(RedisConnectorProvider.scala:17)
at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.redisConnector$lzycompute(RedisCaches.scala:33)
at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.redisConnector(RedisCaches.scala:33)
at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.async$lzycompute(RedisCaches.scala:34)
at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.async(RedisCaches.scala:34)
at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.java$lzycompute(RedisCaches.scala:38)
at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.java(RedisCaches.scala:38)
at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.javaSync$lzycompute(RedisCaches.scala:40)
at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.javaSync(RedisCaches.scala:40)
at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.javaSync(RedisCaches.scala:32)
at play.api.cache.redis.GuiceProvider$.$anonfun$bindings$7(RedisCacheModule.scala:77)
at play.api.cache.redis.NamedCacheInstanceProvider.get$lzycompute(RedisCacheModule.scala:121)
at play.api.cache.redis.NamedCacheInstanceProvider.get(RedisCacheModule.scala:121)
at com.google.inject.util.Providers$GuicifiedProvider.get(Providers.java:121)
at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:57)
at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:60)
at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:296)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:296)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:296)
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:296)
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:296)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1100)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1138)
at play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:436)
at play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:431)
at play.api.inject.ContextClassLoaderInjector.$anonfun$instanceOf$2(Injector.scala:119)
at play.api.inject.ContextClassLoaderInjector.withContext(Injector.scala:128)
at play.api.inject.ContextClassLoaderInjector.instanceOf(Injector.scala:119)
at play.api.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.scala:155)
at play.api.inject.guice.GuiceApplicationLoader.load(GuiceApplicationLoader.scala:21)
at play.core.server.DevServerStart$$anon$1.$anonfun$reload$2(DevServerStart.scala:193)
at play.utils.Threads$.withContextClassLoader(Threads.scala:22)
at play.core.server.DevServerStart$$anon$1.reload(DevServerStart.scala:185)
... 25 common frames omitted
Is there tls support for this library ? How can I connect to redis server with tls in play framework in an asynchronous way ?

Spring Boot MongoDB Connectivity Issue

My Spring Boot application is trying to connect to MongoDB Database. The configuration is added on application.yml file. The application was working completely fine locally till yesterday.
But when today I am running it locally on localhost, the following error I am receiving:
2020-12-03 14:59:03.763[0;39m [32m INFO[0;39m [35m10692[0;39m [2m---[0;39m [2m[ngodb.net:27017][0;39m [36morg.mongodb.driver.cluster [0;39m [2m:[0;39m Exception in monitor thread while connecting to server edugyanamcluster-shard-00-00.l4au7.mongodb.net:27017
com.mongodb.MongoSocketWriteException: Exception sending message
at com.mongodb.internal.connection.InternalStreamConnection.translateWriteException(InternalStreamConnection.java:551) ~[mongodb-driver-core-3.11.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnection.sendMessage(InternalStreamConnection.java:433) ~[mongodb-driver-core-3.11.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnection.sendCommandMessage(InternalStreamConnection.java:273) ~[mongodb-driver-core-3.11.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:257) ~[mongodb-driver-core-3.11.2.jar:na]
at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83) ~[mongodb-driver-core-3.11.2.jar:na]
at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33) ~[mongodb-driver-core-3.11.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:105) ~[mongodb-driver-core-3.11.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:62) ~[mongodb-driver-core-3.11.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:129) ~[mongodb-driver-core-3.11.2.jar:na]
at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117) ~[mongodb-driver-core-3.11.2.jar:na]
at java.base/java.lang.Thread.run(Thread.java:835) ~[na:na]
Caused by: javax.net.ssl.SSLHandshakeException: extension (5) should not be presented in certificate_request
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131) ~[na:na]
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117) ~[na:na]
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:307) ~[na:na]
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:263) ~[na:na]
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:254) ~[na:na]
at java.base/sun.security.ssl.SSLExtensions.<init>(SSLExtensions.java:90) ~[na:na]
at java.base/sun.security.ssl.CertificateRequest$T13CertificateRequestMessage.<init>(CertificateRequest.java:818) ~[na:na]
at java.base/sun.security.ssl.CertificateRequest$T13CertificateRequestConsumer.consume(CertificateRequest.java:922) ~[na:na]
at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392) ~[na:na]
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443) ~[na:na]
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421) ~[na:na]
at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:177) ~[na:na]
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164) ~[na:na]
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1180) ~[na:na]
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1091) ~[na:na]
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402) ~[na:na]
at java.base/sun.security.ssl.SSLSocketImpl.ensureNegotiated(SSLSocketImpl.java:721) ~[na:na]
at java.base/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:998) ~[na:na]
at com.mongodb.internal.connection.SocketStream.write(SocketStream.java:99) ~[mongodb-driver-core-3.11.2.jar:na]
at com.mongodb.internal.connection.InternalStreamConnection.sendMessage(InternalStreamConnection.java:430) ~[mongodb-driver-core-3.11.2.jar:na]
... 9 common frames omitted
[2m2020-12-03 14:59:05.112[0;39m [33m WARN[0;39m [35m10692[0;39m [2m---[0;39m [2m[ restartedMain][0;39m [36mJpaBaseConfiguration$JpaWebConfiguration[0;39m [2m:[0;39m spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
[2m2020-12-03 14:59:07.468[0;39m [32m INFO[0;39m [35m10692[0;39m [2m---[0;39m [2m[ restartedMain][0;39m [36mpertySourcedRequestMappingHandlerMapping[0;39m [2m:[0;39m Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2ControllerWebMvc#getDocumentation(String, HttpServletRequest)]
[2m2020-12-03 14:59:07.822[0;39m [32m INFO[0;39m [35m10692[0;39m [2m---[0;39m [2m[ restartedMain][0;39m [36m.s.s.UserDetailsServiceAutoConfiguration[0;39m [2m:[0;39m
Need advice on what is the issue all about? As the code was working completely fine few hours before.
MongoDB has updated their server actually, might have updated their cipher.
The solution is actually change the TLS Version to 1.2 in JVM params.
One can add in Eclipse (if using it as an IDE) ->
Project -> Run As -> Run Configurations -> Arguments -> VM Arguments, add ->
-Djdk.tls.client.protocols=TLSv1.2
I could fix this issue using the solution from this other question. I changed the TLS version to 1.2 in JVM params:
-Djdk.tls.client.protocols=TLSv1.2
Other than downgrading to TLSV1.2, Upgrading your JDK fixes this too.
For JDK version 11.0.0 - 11.0.6, upgrading your JDK to a patched version.
JDK-8236039
JDK version 13.0.0 - 13.0.02, upgrading to 13.0.03 should resolve this issue
JDK-8241515
I had literally tried everything like upgrading the jdk and all but the best solution and also the working one is changing the TLS version.
Right click on the project in IDE
Run As -> Run Configurations...
And goto Arguments tab
and in VM Arguments add this
-Djdk.tls.client.protocols=TLSv1.2
Run the application now and it should work fine.
You can refer for images attached for more clarity.
enter image description here
enter image description here
I updated from JDK 11.0.7 to 11.0.10 and now it works
I had this problem and solved first adding this parameter to the JVM:
-Djdk.tls.client.protocols=TLSv1.2
But later, I changed the openjdk:12 docker image to the latest openjdk:11 (LTS) and it solved the issue without the -D parameter anymore =)
I had the same issue https://bugs.openjdk.java.net/browse/JDK-8236039 and I change my JDK to JDK-15 zulu: https://www.azul.com/downloads/zulu-community/?version=java-15-mts and it fixed the problem, I was previously using a version of Open JDK.

Spring WebFlux/Reactive Mongo based application opens multiple connections to mongo db

I have a simple web application with spring boot 2.x.x , Spring WebFlux for reactive apis and Reactive Mongo Repository.
In the application I have a #Tailablequery associated with a get API to infinitely observe changes saved in DB. And I have a post API to push data in the db.
But the application opens multiple connections to mongo randomly. Sometimes these connections are reused.
LOGS
Opened connection [connectionId{localValue:4, serverValue:342}] to localhost:27017
Opened connection [connectionId{localValue:5, serverValue:344}] to localhost:27017
And so on..
So I added a configuration class to restrict connections per host
#Configuration
public class MongoConfig {
#Value("${spring.data.mongodb.maxConnectionIdleTime}")
private int maxConnectionIdleTime;
#Value("${spring.data.mongodb.connectionsPerHost}")
private int connectionsPerHost;
#Value("${spring.data.mongodb.minConnectionsPerHost}")
private int minConnectionsPerHost;
#Value("${spring.data.mongodb.socketTimeout}")
private int socketTimeout;
#Bean
public MongoClientOptions mongoOptions() {
return MongoClientOptions.builder()
.maxConnectionIdleTime(this.maxConnectionIdleTime)
.connectionsPerHost(this.connectionsPerHost)
.minConnectionsPerHost(this.minConnectionsPerHost)
.socketTimeout(this.socketTimeout)
.build();
}
}
Now when I run the Get api (one that indefinitely observes databse), the application still opens multiple connections to DB, but closes few of them due to idle time out.
Logs :
Opened connection [connectionId{localValue:6, serverValue:345}] to localhost:27017
Closed connection [connectionId{localValue:6, serverValue:345}] to localhost:27017 because it is past its maximum allowed idle time.
Opened connection [connectionId{localValue:7, serverValue:348}] to localhost:27017
Closed connection [connectionId{localValue:7, serverValue:348}] to localhost:27017 because it is past its maximum allowed idle time.
Opened connection [connectionId{localValue:8, serverValue:351}] to localhost:27017
Closed connection [connectionId{localValue:8, serverValue:351}] to localhost:27017 because it is past its maximum allowed idle time.
Opened connection [connectionId{localValue:9, serverValue:354}] to localhost:27017
EDIT
From further observation, it is opening a connection and then closing it after 60 secs if the connection is not being used. For example in logs below connections with local id 5 and 6 are being used to tail mongo events via apis and remaining connections are just idle connections that close after a minute.
EDIT changed the mongo configs to ->
server:
port: 8081
spring:
data:
mongodb:
database: LocalMongo
uri: mongodb://localhost:27017/LocalMongo?maxpoolsize=5
maxConnectionIdleTime: 15000
connectionsPerHost: 40
minConnectionsPerHost: 1
socketTimeout: 60000
Is this ok?
2019-12-10 21:45:32.862[0;39m [32m INFO[0;39m [35m20092[0;39m [2m---[0;39m [2m[ main][0;39m [36mc.p.test.Application [0;39m [2m:[0;39m Started Application in 3.489 seconds (JVM running for 4.87)
[2m2019-12-10 21:46:31.977[0;39m [32m INFO[0;39m [35m20092[0;39m [2m---[0;39m [2m[imer-1-thread-1][0;39m [36morg.mongodb.driver.connection [0;39m [2m:[0;39m Closed connection [connectionId{localValue:3, serverValue:899}] to localhost:27017 because it is past its maximum allowed idle time.
[2m2019-12-10 21:46:31.983[0;39m [32m INFO[0;39m [35m20092[0;39m [2m---[0;39m [2m[imer-1-thread-1][0;39m [36morg.mongodb.driver.connection [0;39m [2m:[0;39m Opened connection [connectionId{localValue:4, serverValue:903}] to localhost:27017
[2m2019-12-10 21:47:28.917[0;39m [32m INFO[0;39m [35m20092[0;39m [2m---[0;39m [2m[ntLoopGroup-2-2][0;39m [36morg.mongodb.driver.connection [0;39m [2m:[0;39m Opened connection [connectionId{localValue:5, serverValue:905}] to localhost:27017
[2m2019-12-10 21:47:31.122[0;39m [32m INFO[0;39m [35m20092[0;39m [2m---[0;39m [2m[ntLoopGroup-2-3][0;39m [36morg.mongodb.driver.connection [0;39m [2m:[0;39m Opened connection [connectionId{localValue:6, serverValue:906}] to localhost:27017
[2m2019-12-10 21:47:31.974[0;39m [32m INFO[0;39m [35m20092[0;39m [2m---[0;39m [2m[imer-1-thread-1][0;39m [36morg.mongodb.driver.connection [0;39m [2m:[0;39m Closed connection [connectionId{localValue:4, serverValue:903}] to localhost:27017 because it is past its maximum allowed idle time.
[2m2019-12-10 21:47:31.981[0;39m [32m INFO[0;39m [35m20092[0;39m [2m---[0;39m [2m[imer-1-thread-1][0;39m [36morg.mongodb.driver.connection [0;39m [2m:[0;39m Opened connection [connectionId{localValue:7, serverValue:907}] to localhost:27017
[2m2019-12-10 21:48:31.974[0;39m [32m INFO[0;39m [35m20092[0;39m [2m---[0;39m [2m[imer-1-thread-1][0;39m [36morg.mongodb.driver.connection [0;39m [2m:[0;39m Closed connection [connectionId{localValue:7, serverValue:907}] to localhost:27017 because it is past its maximum allowed idle time.
[2m2019-12-10 21:48:31.983[0;39m [32m INFO[0;39m [35m20092[0;39m [2m---[0;39m [2m[imer-1-thread-1][0;39m [36morg.mongodb.driver.connection [0;39m [2m:[0;39m Opened connection [connectionId{localValue:8, serverValue:910}] to localhost:27017
[2m2019-12-10 21:49:31.975[0;39m [32m INFO[0;39m [35m20092[0;39m [2m---[0;39m [2m[imer-1-thread-1][0;39m [36morg.mongodb.driver.connection [0;39m [2m:[0;39m Closed connection [connectionId{localValue:8, serverValue:910}] to localhost:27017 because it is past its maximum allowed idle time.
[2m2019-12-10 21:49:31.981[0;39m [32m INFO[0;39m [35m20092[0;39m [2m---[0;39m [2m[imer-1-thread-1][0;39m [36morg.mongodb.driver.connection [0;39m [2m:[0;39m Opened connection [connectionId{localValue:9, serverValue:913}] to localhost:27017
[2m2019-12-10 21:50:31.974[0;39m [32m INFO[0;39m [35m20092[0;39m [2m---[0;39m [2m[imer-1-thread-1][0;39m [36morg.mongodb.driver.connection [0;39m [2m:[0;39m Closed connection [connectionId{localValue:9, serverValue:913}] to localhost:27017 because it is past its maximum allowed idle time.
[2m
Is there a best practice around this?
FURTHER EDITS
As suggested in the comments, I used uri: mongodb://localhost:27017/LocalMongo?maxpoolsize=5
to set max pool size of 5. And mongo ensures maximum of 5 open connections as expected and the connection expires once the idle timeout is reached.
However, every time the connection is terminated, a new one opens up. Basically, it looks like it is ensuring atleast 5 connections are opened. Is there a concept I'm missing here?
LOGS:
Opened connection [connectionId{localValue:2, serverValue:2843}] to localhost:27017
Opened connection [connectionId{localValue:3, serverValue:2844}] to localhost:27017
: Opened connection [connectionId{localValue:4, serverValue:2846}] to localhost:27017
2019-12-13 13:00:17.316 INFO 10748 --- [ntLoopGroup-2-3] org.mongodb.driver.connection : Opened connection [connectionId{localValue:5, serverValue:2848}] to localhost:27017
2019-12-13 13:00:20.436 INFO 10748 --- [ntLoopGroup-2-4] org.mongodb.driver.connection : Opened connection [connectionId{localValue:6, serverValue:2849}] to localhost:27017
2019-12-13 13:00:39.124 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Closed connection [connectionId{localValue:3, serverValue:2844}] to localhost:27017 because it is past its maximum allowed idle time.
2019-12-13 13:00:39.125 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Opened connection [connectionId{localValue:7, serverValue:2851}] to localhost:27017
2019-12-13 13:01:39.124 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Closed connection [connectionId{localValue:7, serverValue:2851}] to localhost:27017 because it is past its maximum allowed idle time.
2019-12-13 13:01:39.125 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Opened connection [connectionId{localValue:8, serverValue:2854}] to localhost:27017
2019-12-13 13:02:39.123 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Closed connection [connectionId{localValue:8, serverValue:2854}] to localhost:27017 because it is past its maximum allowed idle time.
2019-12-13 13:02:39.123 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Opened connection [connectionId{localValue:9, serverValue:2856}] to localhost:27017
2019-12-13 13:03:39.124 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Closed connection [connectionId{localValue:9, serverValue:2856}] to localhost:27017 because it is past its maximum allowed idle time.
2019-12-13 13:03:39.125 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Opened connection [connectionId{localValue:10, serverValue:2859}] to localhost:27017
2019-12-13 13:04:39.123 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Closed connection [connectionId{localValue:10, serverValue:2859}] to localhost:27017 because it is past its maximum allowed idle time.
2019-12-13 13:04:39.125 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Opened connection [connectionId{localValue:11, serverValue:2862}] to localhost:27017
2019-12-13 13:05:39.122 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Closed connection [connectionId{localValue:11, serverValue:2862}] to localhost:27017 because it is past its maximum allowed idle time.
2019-12-13 13:05:39.125 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Opened connection [connectionId{localValue:12, serverValue:2865}] to localhost:27017
2019-12-13 13:06:39.123 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Closed connection [connectionId{localValue:12, serverValue:2865}] to localhost:27017 because it is past its maximum allowed idle time.
2019-12-13 13:06:39.126 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Opened connection [connectionId{localValue:13, serverValue:2868}] to localhost:27017
2019-12-13 13:07:39.123 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Closed connection [connectionId{localValue:13, serverValue:2868}] to localhost:27017 because it is past its maximum allowed idle time.
2019-12-13 13:07:39.124 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Opened connection [connectionId{localValue:14, serverValue:2870}] to localhost:27017
2019-12-13 13:08:39.124 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Closed connection [connectionId{localValue:14, serverValue:2870}] to localhost:27017 because it is past its maximum allowed idle time.
2019-12-13 13:08:39.128 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Opened connection [connectionId{localValue:15, serverValue:2873}] to localhost:27017
2019-12-13 13:09:39.124 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Closed connection [connectionId{localValue:15, serverValue:2873}] to localhost:27017 because it is past its maximum allowed idle time.
2019-12-13 13:09:39.125 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Opened connection [connectionId{localValue:16, serverValue:2876}] to localhost:27017
2019-12-13 13:10:39.123 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Closed connection [connectionId{localValue:16, serverValue:2876}] to localhost:27017 because it is past its maximum allowed idle time.
2019-12-13 13:10:39.124 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Opened connection [connectionId{localValue:17, serverValue:2879}] to localhost:27017
2019-12-13 13:11:39.122 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Closed connection [connectionId{localValue:17, serverValue:2879}] to localhost:27017 because it is past its maximum allowed idle time.
2019-12-13 13:11:39.129 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Opened connection [connectionId{localValue:18, serverValue:2882}] to localhost:27017
2019-12-13 13:12:39.123 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Closed connection [connectionId{localValue:18, serverValue:2882}] to localhost:27017 because it is past its maximum allowed idle time.
2019-12-13 13:12:39.124 INFO 10748 --- [imer-1-thread-1] org.mongodb.driver.connection : Opened connection [connectionId{localValue:19, serverValue:2885}] to localhost:27017
Please do let me know if additional information is needed. I'll edit this space here.
It is caused by setting maxConnectionIdleTime=1, which you can see in logs as well: ...because it is past its maximum allowed idle time.

HornetQ (Live & Backup Server setup)

Thanks in advance, please help me out is solving the error:
HornetQ Ver 2.2.14 Final
Live Server is getting started without any problem.
I am able to shift from (Live Sever to Backup Server) and (Backup Server to Live Server)
by down/Up the live server in a proper way, even though the below error is coming
Backup Server is getting started starting normally, after 5 secs...
* [Thread-0 (HornetQ-server-HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12-19420919)] 27-Mar 15:8:6,218 WARNING [ClusterConnectionImpl] Unable to announce backup, retrying
HornetQException[errorCode=3 message=Timed out waiting to receive initial broadcast from cluster] at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:716) at org.hornetq.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:593)
at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$2.run(ClusterConnectionImpl.java:485)at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
**Live Server Conf Files**
---------------------
1.*hornetq-configuration.xml*
-----------------------------
<configuration xmlns="urn:hornetq"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:hornetq /schema/hornetq-configuration.xsd">
<clustered>true</clustered>
<backup>false</backup>
<shared-store>true</shared-store>
<allow-failback>false</allow-failback>
<failover-on-shutdown>true</failover-on-shutdown>
<bindings-directory>d:/temp/data/bindings</bindings-directory>
<large-messages-directory>d:/temp/data/largemessages</large-messages-directory>
<paging-directory>d:/temp/data/paging</paging-directory>
<journal-directory>d:/temp/data/journal</journal-directory>
<journal-min-files>10</journal-min-files>
<connectors>
<connector name="netty">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
<param key="host" value="192.100.101.42"/>
<param key="port" value="5445"/>
</connector>
</connectors>
<acceptors>
<acceptor name="netty">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
<param key="host" value="192.100.101.42"/>
<param key="port" value="5445"/>
</acceptor>
</acceptors>
<broadcast-groups>
<broadcast-group name="vsbg-group1">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<broadcast-period>1000</broadcast-period>
<connector-ref>netty</connector-ref>
</broadcast-group>
</broadcast-groups>
<discovery-groups>
<discovery-group name="vsdg-group1">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<refresh-timeout>10000</refresh-timeout>
</discovery-group>
</discovery-groups>
<cluster-connections>
<cluster-connection name="vs-cluster">
<address>jms</address>
<connector-ref>netty</connector-ref>
<discovery-group-ref discovery-group-name="vsdg-group1"/>
</cluster-connection>
</cluster-connections>
<security-settings>
<security-setting match="#">
<permission type="createNonDurableQueue" roles="guest"/>
<permission type="deleteNonDurableQueue" roles="guest"/>
<permission type="consume" roles="guest"/>
<permission type="send" roles="guest"/>
</security-setting>
</security-settings>
<address-settings>
<!--default for catch all-->
<address-setting match="#">
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<max-size-bytes>10485760</max-size-bytes>
<address-full-policy>BLOCK</address-full-policy>
</address-setting>
</address-settings>
</configuration>
2.*hornetq-jms.xml*
-----------------
<configuration xmlns="urn:hornetq"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
<connection-factory name="ConnectionFactory">
<xa>false</xa>
<connectors>
<connector-ref connector-name="netty"/>
</connectors>
<entries>
<entry name="ConnectionFactory"/>
</entries>
<ha>true</ha>
<retry-interval>100</retry-interval>
<retry-interval-multiplier>1.0</retry-interval-multiplier>
</connection-factory>
<queue name="LOAD_TEST">
<entry name="/queue/LOAD_TEST"/>
</queue>
<queue name="DLQ">
<entry name="/queue/DLQ"/>
</queue>
<queue name="ExpiryQueue">
<entry name="/queue/ExpiryQueue"/>
</queue>
</configuration>
3.*Hornetq.log*
--------------
* [main] 27-Mar 15:7:52,453 INFO [HornetQBootstrapServer] Starting HornetQ Server
* [main] 27-Mar 15:7:53,265 WARNING [FileConfigurationParser] AIO wasn't located on this platform, it will fall back to using pure Java NIO. If your platform is Linux, install LibAIO to enable the AIO journal
* [main] 27-Mar 15:7:53,312 INFO [HornetQServerImpl] live server is starting with configuration HornetQ Configuration (clustered=true,backup=false,sharedStore=true,journalDirectory=d:/temp/data/journal,bindingsDirectory=d:/temp/data/bindings,largeMessagesDirectory=d:/temp/data/largemessages,pagingDirectory=d:/temp/data/paging)
* [main] 27-Mar 15:7:53,312 INFO [HornetQServerImpl] Waiting to obtain live lock
* [main] 27-Mar 15:7:53,343 INFO [JournalStorageManager] Using NIO Journal
* [main] 27-Mar 15:7:53,359 WARNING [HornetQServerImpl] Security risk! It has been detected that the cluster admin user and password have not been changed from the installation default. Please see the HornetQ user guide, cluster chapter, for instructions on how to do this.
* [main] 27-Mar 15:7:53,484 INFO [FileLockNodeManager] Waiting to obtain live lock
* [main] 27-Mar 15:7:53,484 INFO [FileLockNodeManager] Live Server Obtained live lock
* [main] 27-Mar 15:7:55,0 INFO [HornetQServerImpl] trying to deploy queue jms.queue.LOAD_TEST
* [main] 27-Mar 15:7:55,0 INFO [HornetQServerImpl] trying to deploy queue jms.queue.DLQ
* [main] 27-Mar 15:7:55,15 INFO [HornetQServerImpl] trying to deploy queue jms.queue.ExpiryQueue
* [main] 27-Mar 15:7:55,109 INFO [NettyAcceptor] Started Netty Acceptor version 3.2.5.Final-a96d88c 192.100.101.42:5445 for CORE protocol
* [main] 27-Mar 15:7:55,109 INFO [HornetQServerImpl] Server is now live
* [main] 27-Mar 15:7:55,109 INFO [HornetQServerImpl] HornetQ Server version 2.2.14.Final (HQ_2_2_14_FINAL, 122) [80d285b6-96ba-11e2-9528-817a37231a12]) started
**Backup Server Config Files**
-------------------------
1.*hornetq-configuration.xml*
---------------------------
<configuration xmlns="urn:hornetq"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:hornetq /schema/hornetq-configuration.xsd">
<clustered>true</clustered>
<backup>true</backup>
<shared-store>true</shared-store>
<allow-failback>true</allow-failback>
<failover-on-shutdown>false</failover-on-shutdown>
<bindings-directory>d:/temp/data/bindings</bindings-directory>
<large-messages-directory>d:/temp/data/largemessages</large-messages-directory>
<paging-directory>d:/temp/data/paging</paging-directory>
<journal-directory>d:/temp/data/journal</journal-directory>
<journal-min-files>10</journal-min-files>
<connectors>
<connector name="netty">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
<param key="host" value="192.100.101.42"/>
<param key="port" value="5446"/>
</connector>
</connectors>
<acceptors>
<acceptor name="netty">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory</factory-class>
<param key="host" value="192.100.101.42"/>
<param key="port" value="5446"/>
</acceptor>
</acceptors>
<broadcast-groups>
<broadcast-group name="vsbg-group1">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<broadcast-period>1000</broadcast-period>
<connector-ref>netty</connector-ref>
</broadcast-group>
</broadcast-groups>
<discovery-groups>
<discovery-group name="vsdg-group1">
<group-address>231.7.7.7</group-address>
<group-port>9876</group-port>
<refresh-timeout>10000</refresh-timeout>
</discovery-group>
</discovery-groups>
<cluster-connections>
<cluster-connection name="vs-cluster">
<address>jms</address>
<connector-ref>netty</connector-ref>
<discovery-group-ref discovery-group-name="vsdg-group1"/>
</cluster-connection>
</cluster-connections>
<security-settings>
<security-setting match="#">
<permission type="createNonDurableQueue" roles="guest"/>
<permission type="deleteNonDurableQueue" roles="guest"/>
<permission type="consume" roles="guest"/>
<permission type="send" roles="guest"/>
</security-setting>
</security-settings>
<address-settings>
<!--default for catch all-->
<address-setting match="#">
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<max-size-bytes>10485760</max-size-bytes>
<address-full-policy>BLOCK</address-full-policy>
</address-setting>
</address-settings>
</configuration>
2. *hornetq-jms.xml (same as live server)*
---------------------------------------
3. *hornetq.log*
---------------
* [main] 27-Mar 15:7:55,203 INFO [HornetQBootstrapServer] Starting HornetQ Server
* [main] 27-Mar 15:7:56,15 WARNING [FileConfigurationParser] AIO wasn't located on this platform, it will fall back to using pure Java NIO. If your platform is Linux, install LibAIO to enable the AIO journal
* [main] 27-Mar 15:7:56,62 INFO [HornetQServerImpl] backup server is starting with configuration HornetQ Configuration (clustered=true,backup=true,sharedStore=true,journalDirectory=d:/temp/data/journal,bindingsDirectory=d:/temp/data/bindings,largeMessagesDirectory=d:/temp/data/largemessages,pagingDirectory=d:/temp/data/paging)
* [Activation for server HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12] 27-Mar 15:7:56,62 INFO [FileLockNodeManager] Waiting to become backup node
* [Activation for server HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12] 27-Mar 15:7:56,62 INFO [FileLockNodeManager] ** got backup lock
* [Activation for server HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12] 27-Mar 15:7:56,93 INFO [JournalStorageManager] Using NIO Journal
* [Activation for server HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12] 27-Mar 15:7:56,109 WARNING [HornetQServerImpl] Security risk! It has been detected that the cluster admin user and password have not been changed from the installation default. Please see the HornetQ user guide, cluster chapter, for instructions on how to do this.
* [Activation for server HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12] 27-Mar 15:7:56,218 INFO [HornetQServerImpl] HornetQ Backup Server version 2.2.14.Final (HQ_2_2_14_FINAL, 122) [80d285b6-96ba-11e2-9528-817a37231a12] started, waiting live to fail before it gets active
* [Thread-0 (HornetQ-server-HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12-19420919)] 27-Mar 15:8:6,218 WARNING [ClusterConnectionImpl] Unable to announce backup, retrying
HornetQException[errorCode=3 message=Timed out waiting to receive initial broadcast from cluster]
at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:716)
at org.hornetq.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:593)
at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$2.run(ClusterConnectionImpl.java:485)
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
* [Thread-1 (HornetQ-server-HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12-19420919)] 27-Mar 15:8:16,734 WARNING [ClusterConnectionImpl] Unable to announce backup, retrying
HornetQException[errorCode=3 message=Timed out waiting to receive initial broadcast from cluster]
at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:716)
at org.hornetq.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:593)
at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$2.run(ClusterConnectionImpl.java:485)
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
* [Thread-2 (HornetQ-server-HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12-19420919)] 27-Mar 15:8:27,250 WARNING [ClusterConnectionImpl] Unable to announce backup, retrying
HornetQException[errorCode=3 message=Timed out waiting to receive initial broadcast from cluster]
at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:716)
at org.hornetq.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:593)
at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$2.run(ClusterConnectionImpl.java:485)
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
* [Activation for server HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12] 27-Mar 15:8:29,187 INFO [HornetQServerImpl] trying to deploy queue jms.queue.LOAD_TEST
* [Activation for server HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12] 27-Mar 15:8:29,187 INFO [HornetQServerImpl] trying to deploy queue jms.queue.DLQ
* [Activation for server HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12] 27-Mar 15:8:29,203 INFO [HornetQServerImpl] trying to deploy queue jms.queue.ExpiryQueue
* [Activation for server HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12] 27-Mar 15:8:29,265 INFO [NettyAcceptor] Started Netty Acceptor version 3.2.5.Final-a96d88c 192.100.101.42:5446 for CORE protocol
* [Thread-3 (HornetQ-server-HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12-19420919)] 27-Mar 15:8:29,281 WARNING [ClusterConnectionImpl] Unable to announce backup, retrying
HornetQException[errorCode=3 message=Timed out waiting to receive initial broadcast from cluster]
at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:716)
at org.hornetq.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:593)
at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$2.run(ClusterConnectionImpl.java:485)
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
* [Activation for server HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12] 27-Mar 15:8:29,296 INFO [HornetQServerImpl] Backup Server is now live
* [Thread-8 (HornetQ-server-HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12-19420919)] 27-Mar 15:8:29,812 WARNING [ClusterConnectionImpl] Unable to announce backup, retrying
java.lang.NullPointerException
at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$2.run(ClusterConnectionImpl.java:485)
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
* [Thread-9 (HornetQ-server-HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12-19420919)] 27-Mar 15:8:30,328 WARNING [ClusterConnectionImpl] Unable to announce backup, retrying
java.lang.NullPointerException
at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$2.run(ClusterConnectionImpl.java:485)
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
* [Thread-10 (HornetQ-server-HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12-19420919)] 27-Mar 15:8:30,843 WARNING [ClusterConnectionImpl] Unable to announce backup, retrying
java.lang.NullPointerException
at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$2.run(ClusterConnectionImpl.java:485)
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
* [Thread-11 (HornetQ-server-HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12-19420919)] 27-Mar 15:8:31,359 WARNING [ClusterConnectionImpl] Unable to announce backup, retrying
java.lang.NullPointerException
at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$2.run(ClusterConnectionImpl.java:485)
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
* [Thread-12 (HornetQ-server-HornetQServerImpl::serverUUID=80d285b6-96ba-11e2-9528-817a37231a12-19420919)] 27-Mar 15:8:32,31 WARNING [ClusterConnectionImpl] Unable to announce backup, retrying
java.lang.NullPointerException
at org.hornetq.core.server.cluster.impl.ClusterConnectionImpl$2.run(ClusterConnectionImpl.java:485)
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
* [hornetq-shutdown-thread] 27-Mar 15:8:32,109 INFO [HornetQBootstrapServer] Stopping HornetQ Server...
I think if they are in the same machine, you should change host of connectors and acceptors to "localhost". (But i think your configs are OK and it's a network (UDP) problem)
In your hornetq-jms.xml, you should add the following attribute to ConnectionFactory element.
<discovery-group-ref discovery-group-name="my-discovery-group"/>