@Override
public void customize(NettyReactiveWebServerFactory factory) {
// factory.addServerCustomizers(httpServer -> httpServer.wiretap(true));
super.customize(factory);
}
NotSslRecordException
when using TLS 1.2 or TLS 1.3. It works with TLS 1.1. I'm not sure whether this is a bug on my side or in netty. The issue is somewhat tricky to reproduce because it happens during Azure SQL Server SSL negotiation in the first receive phase.
"nioEventLoopGroup-3-2" #71 prio=10 os_prio=0 cpu=333.55ms elapsed=392.07s tid=0x00007fc3ee367800 nid=0x24b runnable [0x00007fc3b5be3000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.EPoll.wait(java.base@11.0.3/Native Method)
at sun.nio.ch.EPollSelectorImpl.doSelect(java.base@11.0.3/EPollSelectorImpl.java:120)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(java.base@11.0.3/SelectorImpl.java:124)
- locked <0x00000000e6f826b8> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000000e6f6b048> (a sun.nio.ch.EPollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(java.base@11.0.3/SelectorImpl.java:136)
at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:791)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:439)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:906)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(java.base@11.0.3/Thread.java:834)
Locked ownable synchronizers:
- None
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles("test")
@AutoConfigureWireMock(port = 0)
@Import(OAuth2TestConfiguration::class)
internal class FeederClientTest(
There's some business logic involved which is starting a parallel flux
fun evaluateVariations(variations: Set<Variation>, rules: Set<Rule>): Flux<Variation> = Flux.fromIterable(variations)
.parallel()
.runOn(Schedulers.parallel())
.flatMap { evaluateVariation(it, rules) }
.sequential()
and if we remove the parallel part it's running fine on jenkins as well. Any ideas?
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project server: Compilation failure
[ERROR] /Application.java:[138,109] io.netty.channel.Channel.id() in package io.netty.channel is not accessible
[ERROR] (package io.netty.channel is declared in the unnamed module, but module io.netty.channel does not read it)
Hi! I'm trying to use the tc-native
library to dynamically load the FIPS compliant OpenSSL library inside Finagle. When I make the call to
io.netty.internal.tcnative.SSL.fipsModeSet(1)
I'm getting an unsatisfied link error
java.lang.UnsatisfiedLinkError: io.netty.internal.tcnative.NativeStaticallyReferencedJniMethods.sslOpCipherServerPreference()I
at io.netty.internal.tcnative.NativeStaticallyReferencedJniMethods.sslOpCipherServerPreference(Native Method)
at io.netty.internal.tcnative.SSL.<clinit>(SSL.java:67)
I'm currently running on a MacBook but the ultimate location for this is Linux. Any help on where to look to solve this is appreciated.
Hi, can anybody help me. I am trying to provide a custom Logging handler to print request and response details.
public class CustomLogger extends LoggingHandler {
public CustomLogger(Class<?> clazz) {
super(clazz);
}
@Override
protected String format(ChannelHandlerContext ctx, String event, Object arg) {
if (arg instanceof ByteBuf) {
ByteBuf msg = (ByteBuf) arg;
return decode(msg, msg.readerIndex(), msg.readableBytes(), defaultCharset());
}
return super.format(ctx, event, arg);
}
private String decode(ByteBuf src, int readerIndex, int len, Charset charset) {
if (len != 0) {
byte[] array;
int offset;
if (src.hasArray()) {
array = src.array();
offset = src.arrayOffset() + readerIndex;
} else {
array = allocateUninitializedArray(max(len, 1024));
offset = 0;
src.getBytes(readerIndex, array, 0, len);
}
return new String(array, offset, len, charset);
}
return "";
}
But this does not print response content correctly
e�Ak�0
���й;�;��z襗�>lY�
@nnanda2016
I am trying to provide a custom Logging handler to print request and response details.
The class description says: A ChannelHandler that logs all EVENTS using a logging framework.
Do you understand which event are you trying to print and what format it has?
I would just start with this simple HTTP client example to print the request: https://netty.io/4.1/xref/io/netty/example/http/snoop/package-summary.html
Then read and understand how the pipeline works https://netty.io/4.1/api/io/netty/channel/ChannelPipeline.html
Then make a new inbound handler for the client to print the response and put it in the pipeline after the decoder handler.
You will understand the order of the handlers and when events are send, then you can implement the LoggingHandler.