Why Spring Boot Embedded tomcat is delaying API response? - spring

We have been using microservices architecture for a long time. The services have been developed using spring-boot.
The services were developed long back using Spring Boot 1.3.5.RELEASE, which is internally using the following tomcat dependencies:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
<version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-juli</artifactId>
<version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
<version>8.0.33</version>
</dependency>
In order to figure out the slow response of an API we enabled log level to debug on Test env, and found that it is the tomcat that is delaying the response by almost 6-7 Sec, please find the logs below:
2021-05-28 13:04:37 [http-nio-9112-exec-1] DEBUG o.apache.tomcat.util.http.Parameters-[DirectJDKLog.java:180]-Set query string encoding to UTF-8
2021-05-28 13:04:37 [http-nio-9112-exec-1] DEBUG o.a.catalina.connector.CoyoteAdapter-[DirectJDKLog.java:180]-The variable [uriBC] has value [<Path_Param>]
2021-05-28 13:04:37 [http-nio-9112-exec-1] DEBUG o.a.catalina.connector.CoyoteAdapter-[DirectJDKLog.java:180]-The variable [semicolon] has value [-1]
2021-05-28 13:04:37 [http-nio-9112-exec-1] DEBUG o.a.catalina.connector.CoyoteAdapter-[DirectJDKLog.java:180]-The variable [enc] has value [utf-8]
2021-05-28 13:04:45 [http-nio-9112-exec-1] DEBUG o.a.c.a.AuthenticatorBase-[DirectJDKLog.java:180]-Security checking request GET <Path_Param>
2021-05-28 13:04:45 [http-nio-9112-exec-1] DEBUG org.apache.catalina.realm.RealmBase-[DirectJDKLog.java:180]- No applicable constraints defined
2021-05-28 13:04:45 [http-nio-9112-exec-1] DEBUG o.a.c.a.AuthenticatorBase-[DirectJDKLog.java:180]- Not subject to any constraint
2021-05-28 13:04:45 [http-nio-9112-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/]-[DirectJDKLog.java:180]-Initializing Spring FrameworkServlet 'dispatcherServlet'
If you look at the above logs when the call is made to AuthenticatorBase from CoyoteAdapter, it gets stuck for 6-7 sec ( Look at the difference in log timings ), and this is happening for every API call.
Strangely, the other services that are using the same version of Tomcat are not having this issue.
Could someone please help us out to find out the root cause of this issue?
PS: I know that probably upgrading to the latest Spring version might solve this, but that option is off the table for now.
Adding thread dump taken at the time when the thread is waiting:
`"http-nio-9112-exec-1" #64 daemon prio=5 os_prio=0 tid=0x00007fe2c800d800 nid=0x519c runnable [0x00007fe3156e6000]
java.lang.Thread.State: RUNNABLE
at java.util.zip.Inflater.inflateBytes(Native Method)
at java.util.zip.Inflater.inflate(Inflater.java:259)
- locked <0x00000000f814e928> (a java.util.zip.ZStreamRef)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:152)
at java.util.zip.ZipInputStream.read(ZipInputStream.java:194)
at java.util.jar.JarInputStream.read(JarInputStream.java:207)
at java.util.zip.ZipInputStream.closeEntry(ZipInputStream.java:140)
at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:118)
at java.util.jar.JarInputStream.getNextEntry(JarInputStream.java:142)
at java.util.jar.JarInputStream.getNextJarEntry(JarInputStream.java:179)
at org.apache.catalina.webresources.JarWarResourceSet.getArchiveEntries(JarWarResourceSet.java:112)
- locked <0x00000000e35168e0> (a java.lang.Object)
at org.apache.catalina.webresources.AbstractArchiveResourceSet.getResource(AbstractArchiveResourceSet.java:256)
at org.apache.catalina.webresources.StandardRoot.getResourceInternal(StandardRoot.java:281)
at org.apache.catalina.webresources.CachedResource.validateResource(CachedResource.java:95)
at org.apache.catalina.webresources.Cache.getResource(Cache.java:70)
at org.apache.catalina.webresources.StandardRoot.getResource(StandardRoot.java:216)
at org.apache.catalina.webresources.StandardRoot.getResource(StandardRoot.java:206)
at org.apache.catalina.mapper.Mapper.internalMapWrapper(Mapper.java:1006)
at org.apache.catalina.mapper.Mapper.internalMap(Mapper.java:822)
at org.apache.catalina.mapper.Mapper.map(Mapper.java:687)
at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:886)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:517)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
- locked <0x00000000e80faeb8> (a org.apache.tomcat.util.net.NioChannel)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)`

Related

Bucket4j not running, to rate limit api

Pom.xml file
<groupId>com.giffing.bucket4j.spring.boot.starter</groupId>
<artifactId>bucket4j-spring-boot-starter</artifactId>
<version>0.7.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>javax.cache</groupId>
<artifactId>cache-api</artifactId>
</dependency>
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>jcache</artifactId>
<version>2.8.2</version>
</dependency>
application-local.yml file
spring:
cache:
cache-names:
- rate-limit-buckets
caffeine:
spec: maximumSize=100000,expireAfterAccess=3600s
bucket4j:
enabled: true
filters:
- cache-name: rate-limit-buckets
filter-method: servlet
strategy: first
url: /patient
http-response-body: "{ \"status\": 429, \"error\": \"Too Many Requests\" }"
rate-limits:
- expression: getRemoteAddr()
bandwidths:
- capacity: 1
time: 30
unit: seconds
I have set the capacity to 1 and time to 30s so that I receive "Too Many Requests" error upon 2 api hits with in 30s, but I am not receiving any error or anything, basically bucket4j rate limiting is not even running as it seems.
Is my application-local.yml even being loaded? earlier I had the configurations in application-local.properties file and rate limiter was not working by that either, after exploring internet some people suggested using .yml file to load bucket4j configs so I did that too but even now it is not working.

Eureka is unable to find port when running spring boot on a random port

Following are the dependencies in my local:
<dependency>
<groupId>net.devh</groupId>
<artifactId>grpc-server-spring-boot-starter</artifactId>
<version>2.13.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
application.properties
grpc.server.port=${PORT:0}
eureka.client.serviceUrl.defaultZone=http://localhost:8791/eureka/
eureka.instance.instance-id=${spring.application.name}:${spring.application.instance_id:${random.value}}
bootstrap.properties
spring.application.name=grpc-service
Eureka server is detecting port 8080 instead of the actual port used in the Eureka client. There are similar issues reported in the past, and it was fixed as per their developers. Did I miss anything on the above mentioned config?
Update
I modified my application.properties file with the below:
grpc.server.port=${PORT:0}
server.port=${grpc.server.port}
eureka.client.serviceUrl.defaultZone=http://localhost:8791/eureka/
eureka.instance.instance-id=${spring.application.name}:${spring.application.instance_id:${random.value}}
eureka.instance.non-secure-port-enabled=true
eureka.instance.secure-port-enabled=false
eureka.instance.non-secure-port=${server.port}
But now Eureka is not detecting the service at all.
I was able to solve this by making the below changes:
application.xml
eureka.instance.non-secure-port-enabled=true
eureka.instance.secure-port-enabled=false
server.port=${grpc.server.port}
eureka.client.serviceUrl.defaultZone=http://localhost:8791/eureka/
eureka.instance.instance-id=${spring.application.name}:${spring.application.instance_id:${random.value}}
eureka.instance.non-secure-port=${grpc.server.port}
grpc.server.port is passed as runtime argument. After making these changes, Eureka is now detecting the exact port used in Eureka clients.

OpenTracing not activating for Sleuth-Zipkin in Spring Boot App

Spring Doc says
Spring Cloud Sleuth is compatible with OpenTracing. If you have OpenTracing on the classpath, we automatically register the OpenTracing Tracer bean. If you wish to disable this, set spring.sleuth.opentracing.enabled to false
I have the below dependency in my POM.
<dependency>
<groupId>io.opentracing.contrib</groupId>
<artifactId>opentracing-spring-cloud-starter</artifactId>
<version>${version.opentracing.spring}</version>
</dependency>
But, I get the following print out it the logs when I try to print the trace and span information : tracer: NoopTracer
2018-11-19 12:12:03.938 [{X-B3-SpanId=4cd8eed6fe759bd1, X-B3-TraceId=5bf25b3bd0714ae54cd8eed6fe759bd1, X-Span-Export=true, spanExportable=true, spanId=4cd8eed6fe759bd1, traceId=5bf25b3bd0714ae54cd8eed6fe759bd1}] DEBUG ahallim-1ef960 --- [nio-7070-exec-1] a.h.w.RestaurantController : tracer: NoopTracer
2018-11-19 12:12:03.939 [{X-B3-SpanId=4cd8eed6fe759bd1, X-B3-TraceId=5bf25b3bd0714ae54cd8eed6fe759bd1, X-Span-Export=true, spanExportable=true, spanId=4cd8eed6fe759bd1, traceId=5bf25b3bd0714ae54cd8eed6fe759bd1}] INFO ahallim-1ef960 --- [nio-7070-exec-1] a.h.w.RestaurantController : active span: null
Why am I getting a NopTracer? Why isn't Brave being registered automatically as promised? Am I doing something wrong?
I am using
Finchley.SR2
I was using Finchley.SR2 train of releases. Once I upgraded to the latest Spring Boot and Spring Cloud versions, the issue fixed itself.
I removed the opentracing-spring-cloud-starter dependency and am now just using
<dependency>
<groupId>io.opentracing.brave</groupId>
<artifactId>brave-opentracing</artifactId>
</dependency>

Vaadin and Atmosphere on WildFly 13

will provide a brief description of the problem
Currently running a J2EE application on JBOSS 6.1.0 on Java 7.
Application UI is developed on VAADIN 6 and also has Atmposphere framework.
Need to upgrade to JAVA 8. For that i had to also upggrade from JBOSS 6 to WildFly 13.
Everything works fine except for the following problem
Application starts and deploys with out any errors.
I go to the Login page.
Login successfully and go to the Application home page.
No errors so far
After 1-2 seconds i get on the WildFly console the following error
java.lang.IllegalStateException: UT000010: Session is invalid q2gXNR6KftYiyRJD6LZlJc-COtHWVr4ol3EtMuOy
at io.undertow.servlet.spec.ServletContextImpl.invokeRunnable(ServletContextImpl.java:1029)
at io.undertow.servlet.spec.AsyncContextImpl.onAsyncComplete(AsyncContextImpl.java:604)
at io.undertow.servlet.spec.AsyncContextImpl.access$100(AsyncContextImpl.java:71)
at io.undertow.servlet.spec.AsyncContextImpl$3.run(AsyncContextImpl.java:319)
at io.undertow.servlet.spec.AsyncContextImpl$6.run(AsyncContextImpl.java:481)
at io.undertow.servlet.spec.AsyncContextImpl$TaskDispatchRunnable.run(AsyncContextImpl.java:594)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: UT000010: Session is invalid q2gXNR6KftYiyRJD6LZlJc-COtHWVr4ol3EtMuOy
at io.undertow.server.session.InMemorySessionManager$SessionImpl.getAttribute(InMemorySessionManager.java:512)
at io.undertow.servlet.spec.HttpSessionImpl.getAttribute(HttpSessionImpl.java:122)
at org.jboss.weld.module.web.context.http.HttpSessionContextImpl.checkBeanIdentifierIndexConsistency(HttpSessionContextImpl.java:100)
at org.jboss.weld.module.web.context.http.HttpSessionContextImpl.associate(HttpSessionContextImpl.java:49)
at org.jboss.weld.module.web.context.http.HttpSessionContextImpl.associate(HttpSessionContextImpl.java:25)
at org.jboss.weld.module.web.servlet.HttpContextLifecycle.requestInitialized(HttpContextLifecycle.java:244)
at org.jboss.weld.module.web.servlet.WeldInitialListener.requestInitialized(WeldInitialListener.java:152)
at io.undertow.servlet.core.ApplicationListeners.requestInitialized(ApplicationListeners.java:246)
at io.undertow.servlet.spec.AsyncContextImpl.setupRequestContext(AsyncContextImpl.java:696)
at io.undertow.servlet.spec.AsyncContextImpl.access$700(AsyncContextImpl.java:71)
at io.undertow.servlet.spec.AsyncContextImpl$7.run(AsyncContextImpl.java:609)
at io.undertow.servlet.spec.ServletContextImpl$2.call(ServletContextImpl.java:181)
at io.undertow.servlet.spec.ServletContextImpl$2.call(ServletContextImpl.java:178)
at io.undertow.servlet.spec.ServletContextImpl.invokeRunnable(ServletContextImpl.java:1027)
... 10 more**
After that exception whatever click i do on the application it does not work.
Is this problem related to Wildfly 13 and Atmosphere ?
I am using VAADIN 6.8.12 and Atmoshphere 1.0.9
Here is my web.xml related configuration
<servlet>
<description>AtmosphereServlet</description>
<servlet-name>AtmosphereServlet</servlet-name>
<servlet-class>org.atmosphere.cpr.AtmosphereServlet</servlet-class>
<init-param>
<param-name>org.atmosphere.disableOnStateEvent</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>org.atmosphere.cpr.broadcasterCacheClass</param-name>
<param-value>org.atmosphere.cache.HeaderBroadcasterCache</param-value> <!-- HeaderBroadcasterCache UUIDBroadcasterCache -->
</init-param>
<init-param>
<param-name>org.atmosphere.websocket.maxIdleTime</param-name>
<param-value>300000</param-value>
</init-param>
<init-param>
<param-name>org.atmosphere.cpr.CometSupport.maxInactiveActivity</param-name>
<param-value>300000</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet>
<servlet-name>Vaadin Application Servlet</servlet-name>
<servlet-class>**org.vaadin.dontpush.server.DontPushOzoneServlet**</servlet-class>
<init-param>
<description>Vaadin application class to start</description>
<param-name>application</param-name>
<param-value>com.gnt.iglbf.ui.operator.IglbfoperatorApplication</param-value>
</init-param>
<init-param>
<description>Application widgetset</description>
<param-name>widgetset</param-name>
<param-value>com.gnt.vaadin.application.widgetset.IglbfoperatorWidgetset</param-value>
</init-param>
<init-param>
<param-name>connectionGuardTimeout</param-name>
<param-value>60</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AtmosphereServlet</servlet-name>
<url-pattern>/UIDL/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Vaadin Application Servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
And below you can also see tho pom.xml of the UI Module of the Application. I have removed some irrelevant dependencies
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.atmosphere</groupId>
<artifactId>atmosphere-compat-jbossweb</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>org.atmosphere</groupId>
<artifactId>atmosphere-compat-tomcat</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>org.atmosphere</groupId>
<artifactId>atmosphere-compat-tomcat7</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.atmosphere</groupId>
<artifactId>atmosphere-gwt-client</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>org.atmosphere</groupId>
<artifactId>atmosphere-gwt-common</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>org.atmosphere</groupId>
<artifactId>atmosphere-gwt-poll</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>org.atmosphere</groupId>
<artifactId>atmosphere-gwt-server</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>org.atmosphere</groupId>
<artifactId>atmosphere-runtime</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>org.vaadin</groupId>
<artifactId>dontpush-addon-ozonelayer</artifactId>
<version>1.0.4</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-servlet</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.vaadin.addons</groupId>
<artifactId>stepper</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>org.vaadin.addons</groupId>
<artifactId>switch</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin</artifactId>
<version>6.8.12</version>
Finally below i pasted relevant JBOSS console out with some warnings as well that i unfortunately cannot really undertsand. Me not very savvy on VAADIN and Atmosphere, the application was not developed by myself that why i am having lack of knowledge on Web sockets and JBOSS as well
2018-07-13 11:56:40,452 INFO [org.atmosphere.cpr.AtmosphereFramework] (ServerService Thread Pool -- 101) Installed AtmosphereHandler AtmosphereGwtAtmosphereHandler mapped to context-path: /UIDL
2018-07-13 11:56:40,483 INFO [org.atmosphere.cpr.AtmosphereFramework] (ServerService Thread Pool -- 101) Auto detecting WebSocketHandler in /WEB-INF/classes/
2018-07-13 11:56:40,920 INFO [org.atmosphere.cpr.AtmosphereFramework] (ServerService Thread Pool -- 101) Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol
2018-07-13 11:56:40,920 INFO [org.atmosphere.cpr.AtmosphereFramework] (ServerService Thread Pool -- 101) Atmosphere is using async support: org.atmosphere.container.Servlet30CometSupport running under container: WildFly Full 13.0.0.Final (WildFly Core 5.0.0.Final) - 2.0.9.Final using javax.servlet/3.0
2018-07-13 11:56:40,935 INFO [org.atmosphere.cpr.AtmosphereFramework] (ServerService Thread Pool -- 101) Installed Default AtmosphereInterceptor [Android Interceptor Support, SSE Interceptor Support, JSONP Interceptor Support]. Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults in your xml to disable them.
2018-07-13 11:56:40,935 INFO [org.atmosphere.cpr.AtmosphereFramework] (ServerService Thread Pool -- 101) Using BroadcasterCache: org.atmosphere.cache.HeaderBroadcasterCache
2018-07-13 11:56:40,935 WARN [org.atmosphere.cpr.AtmosphereFramework] (ServerService Thread Pool -- 101) Neither TrackMessageSizeInterceptor or TrackMessageSizeFilter are installed. atmosphere.js may receive glued and incomplete message.
2018-07-13 11:56:40,951 INFO [org.atmosphere.cpr.AtmosphereFramework] (ServerService Thread Pool -- 101) HttpSession supported: false
2018-07-13 11:56:40,951 INFO [org.atmosphere.cpr.AtmosphereFramework] (ServerService Thread Pool -- 101) Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
2018-07-13 11:56:40,951 INFO [org.atmosphere.cpr.AtmosphereFramework] (ServerService Thread Pool -- 101) Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
2018-07-13 11:56:40,951 INFO [org.atmosphere.cpr.AtmosphereFramework] (ServerService Thread Pool -- 101) Using Broadcaster: org.atmosphere.cpr.DefaultBroadcaster
2018-07-13 11:56:40,951 INFO [org.atmosphere.cpr.AtmosphereFramework] (ServerService Thread Pool -- 101) Atmosphere Framework 1.0.9 started.
And heres console out after i login , receive the error and then try to click to any link and on the console this is what i get
2018-07-13 12:03:36,534 WARN [org.jboss.weld.Servlet] (default task-4) WELD-000714: HttpContextLifecycle guard leak detected. The Servlet container is not fully compliant. The value was 1
2018-07-13 12:03:36,534 WARN [org.jboss.weld.Context] (default task-4) WELD-000225: Bean store leak detected during org.jboss.weld.module.web.context.http.HttpRequestContextImpl association: HttpServletRequestImpl [ POST /IGLBFOperator/UIDL/null ]
2018-07-13 12:03:36,534 WARN [org.jboss.weld.Context] (default task-4) WELD-000225: Bean store leak detected during org.jboss.weld.module.web.context.http.HttpSessionContextImpl association: HttpServletRequestImpl [ POST /IGLBFOperator/UIDL/null ]
2018-07-13 12:03:36,550 INFO [org.vaadin.dontpush.server.AtmosphereDontPushHandler] (default task-4) Failed to find resource for [1]
2018-07-13 12:03:36,659 INFO [org.vaadin.dontpush.server.AtmosphereDontPushHandler] (default task-4) Failed to find resource for [1]
2018-07-13 12:03:37,537 INFO [org.vaadin.dontpush.server.AtmosphereDontPushHandler] (default task-4) You have set an infinite timeout for your comet connection this is not recommended
Any help would be gratefully appreciated. Shouldn't be something complex its just i don't know much on Atmosphere and VAADIN.
On JBOSS 6.1.0 with JAVA 7 all the above configuration works fine
I can't answer your specific question, but I'm also in the middle of upgrading a web app that ran on wildfly 8, and moving to wildfly 13. I've found the issue to be many of the dependencies and version conflict resolution. We had atmosphere in our app as well, and I upgraded to the latest atmosphere-runtime 2.4.30. Not sure if your VAADIN component, which looks like it relies on atmosphere will work with the latest, but I figured I'd mention that. Also, wildfly 13 has a lot of dependencies pre-packaged in the modules sub directory, but sometimes, those are too new for these older applications, so you'll either need to add additional items to those, or find your jboss-deployment-structure.xml in your app, and make necessary changes to the dependencies list in that file.
Sorry I can't be of more help. Hope this at least helps some.
Edit: P.S. Upgrading an application server isn't usually the easiest thing, especially for more complex applications. I've been working on this wildfly 13 migration for over a week, and I've had to make many code changes, and there will be many more weeks before i'm done.

Spring Cloud Config Server and Client with RabbitMQ : Props not updated after git push

I am running Spring Cloud Config Server and a Cloud Config Client in Pivotal Cloud Foundry .
1st version:
I can update client properties by pushing a YML file to a git repo. I did a POST on config-client/refresh and it updated successfully. I am connecting via HTTPS.
2nd version:
I am now trying to automatically push config updates with RabbitMQ. My Cloud Config Server successfully receives a gitlab webhook POST call to the config-server/monitor endpoint. Config Server sees the update and sends a message to my Config Client.
However, the problem is that the client never updates its properties. I don't think it knows that any of its property files are updated. [ It may not know specifically what file was updated... ]
Is what I'm trying to do even possible with gitlab's webhooks ?
Thank you for any help.
Client log entries with app context reload highlighted. This happens after the code push:
2017-02-03T20:53:59.27-0500 [APP/0] OUT 2017-02-04 01:53:59.274 INFO 19 --- [nio-8080-exec-5] o.s.c.c.monitor.PropertyPathEndpoint : Refresh for: *
2017-02-03T20:53:59.34-0500 [APP/0] OUT 2017-02-04 01:53:59.346 INFO 19 --- [nio-8080-exec-5] nfigurationApplicationContextInitializer : **Adding cloud service auto-reconfiguration to ApplicationContext**
2017-02-03T20:53:59.35-0500 [APP/0] OUT 2017-02-04 01:53:59.358 INFO 19 --- [nio-8080-exec-5] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext#3325da05: startup date [Sat Feb 04 01:53:59 UTC 2017]; root of context hierarchy
These are my dependencies:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-bus-parent</artifactId>
<version>1.3.0.M1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-monitor</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

Resources