@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