]
Jason Holmberg updated WFLY-6386:
---------------------------------
Steps to Reproduce:
1. Add this filter-ref and filter to your undertow configuration in WildFly:
{code}
<filter-ref name="byte-range" />
....
<filter name="byte-range"
class-name="io.undertow.server.handlers.ByteRangeHandler"
module="io.undertow.core">
<param name="sendAcceptRanges" value="true"/>
</filter>
{code}
2. Restart WildFly.
3. Request any location.
I was able to get the same result for a different handler.
{code}
<filter name="request-buffer"
class-name="io.undertow.server.handlers.RequestBufferingHandler"
module="io.undertow.core">
<param name="maxBuffers" value="200"/>
</filter>
{code}
I did not try all handlers.
was:
1. Add this filter-ref and filter to your undertow configuration in WildFly:
{code}
<filter-ref name="byte-range" />
....
<filter name="byte-range"
class-name="io.undertow.server.handlers.ByteRangeHandler"
module="io.undertow.core">
<param name="sendAcceptRanges" value="true"/>
</filter>
{code}
2. Restart WildFly.
3. Request any location.
I was able to get the same result for a different handler.
{code}
<filter name="request-buffer"
class-name="io.undertow.server.handlers.RequestBufferingHandler"
module="io.undertow.core">
<param name="maxBuffers" value="200"/>
</filter>
{code}
I did not try all handler. The problem seem to be in the
{{org.wildfly.extension.undertow.deployment.ConfiguredHandlerWrapper}}.
NoSuchMethodException when configuring a filter in undertow
subsystem
---------------------------------------------------------------------
Key: WFLY-6386
URL:
https://issues.jboss.org/browse/WFLY-6386
Project: WildFly
Issue Type: Bug
Components: Web (Undertow)
Affects Versions: 10.0.0.Final
Reporter: Jason Holmberg
Assignee: Stuart Douglas
Priority: Critical
Configuring a filter in the undertow subsystem that does not have a single arg
constructor that takes HttpHandler will produce a runtime exception similar to this:
{noformat}
11:09:46,832 ERROR [io.undertow.request] (default I/O-7) UT005071: Undertow request
failed HttpServerExchange{ GET /vidtest/ request
{Accept=[text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8],
Accept-Language=[en-US,en;q=0.8], Cache-Control=[max-age=0], Accept-Encoding=[gzip,
deflate, sdch], User-Agent=[Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36],
If-Modified-Since=[Wed, 16 Mar 2016 14:48:13 GMT], Connection=[keep-alive],
If-None-Match=[W/"266-1458139693000"], Upgrade-Insecure-Requests=[1],
Host=[localhost:8080]} response {}}: java.lang.RuntimeException: WFLYUT0064: Failed to
configure handler class io.undertow.server.handlers.ByteRangeHandler
at
org.wildfly.extension.undertow.deployment.ConfiguredHandlerWrapper.wrap(ConfiguredHandlerWrapper.java:78)
at
org.wildfly.extension.undertow.filters.CustomFilterDefinition.createHttpHandler(CustomFilterDefinition.java:100)
at
org.wildfly.extension.undertow.filters.FilterService.createHttpHandler(FilterService.java:57)
at
org.wildfly.extension.undertow.filters.FilterRef.createHttpHandler(FilterRef.java:69)
at
org.wildfly.extension.undertow.LocationService.configureHandlerChain(LocationService.java:96)
at org.wildfly.extension.undertow.Host.configureRootHandler(Host.java:117)
at org.wildfly.extension.undertow.Host.getOrCreateRootHandler(Host.java:171)
at org.wildfly.extension.undertow.Host$HostRootHandler.handleRequest(Host.java:285)
at
io.undertow.server.handlers.NameVirtualHostHandler.handleRequest(NameVirtualHostHandler.java:54)
at
io.undertow.server.handlers.error.SimpleErrorPageHandler.handleRequest(SimpleErrorPageHandler.java:76)
at
io.undertow.server.handlers.CanonicalPathHandler.handleRequest(CanonicalPathHandler.java:49)
at
io.undertow.server.handlers.ChannelUpgradeHandler.handleRequest(ChannelUpgradeHandler.java:158)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
at
io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:232)
at
io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:130)
at
io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:145)
at
io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:92)
at
io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:51)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at org.xnio.ChannelListeners$10.handleEvent(ChannelListeners.java:291)
at org.xnio.ChannelListeners$10.handleEvent(ChannelListeners.java:286)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at org.xnio.nio.QueuedNioTcpServer$1.run(QueuedNioTcpServer.java:121)
at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:580)
at org.xnio.nio.WorkerThread.run(WorkerThread.java:464)
Caused by: java.lang.NoSuchMethodException:
io.undertow.server.handlers.ByteRangeHandler.<init>(io.undertow.server.HttpHandler)
at java.lang.Class.getConstructor0(Class.java:3082)
at java.lang.Class.getConstructor(Class.java:1825)
at
org.wildfly.extension.undertow.deployment.ConfiguredHandlerWrapper.wrap(ConfiguredHandlerWrapper.java:55)
... 24 more
{noformat}