自从Eclipse Tamurin JDK 11.0.15+10更新以来,一旦 HTTP 请求到达 Wildfly 20.0.1.Final,我们就会注意到一个问题。Wildfly 26.1.0.Final 中也存在相同的行为。这只发生在JDK Windows 版本中,Linux JDK工作正常。由于它是“无效文件路径”错误,因此似乎可能存在与操作系统相关的 BUG。
到目前为止,SAP Machine 是唯一没有遇到此故障的 JDK。
我仍然不确定这是JDK还是Wildfly问题......
您可以在打开Wildfly 管理界面时进行检查。
ERROR [io.undertow.request] (External Management Request Threads -- 1) UT005071: Undertow request failed HttpServerExchange{ GET /management}: java.io.IOError: java.io.FileNotFoundException: Invalid file path
at org.jboss.xnio@3.8.1.Final//org.xnio.channels.Channels$4.run(Channels.java:1103)
at org.jboss.xnio@3.8.1.Final//org.xnio.channels.Channels$4.run(Channels.java:1093)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at org.jboss.xnio@3.8.1.Final//org.xnio.channels.Channels.<clinit>(Channels.java:1093)
at io.undertow.core@2.1.3.Final//io.undertow.io.UndertowOutputStream.write(UndertowOutputStream.java:231)
at io.undertow.core@2.1.3.Final//io.undertow.io.BlockingSenderImpl.writeBuffer(BlockingSenderImpl.java:245)
at io.undertow.core@2.1.3.Final//io.undertow.io.BlockingSenderImpl.writeBuffer(BlockingSenderImpl.java:238)
at io.undertow.core@2.1.3.Final//io.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:75)
at io.undertow.core@2.1.3.Final//io.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:107)
at org.jboss.as.domain-http-interface@12.0.3.Final//org.jboss.as.domain.http.server.DomainUtil.writeResponse(DomainUtil.java:89)
at org.jboss.as.domain-http-interface@12.0.3.Final//org.jboss.as.domain.http.server.DomainApiHandler$1.doSendResponse(DomainApiHandler.java:177)
at org.jboss.as.domain-http-interface@12.0.3.Final//org.jboss.as.domain.http.server.ResponseCallback.sendResponse(ResponseCallback.java:32)
at org.jboss.as.domain-http-interface@12.0.3.Final//org.jboss.as.domain.http.server.DomainApiHandler.handleRequest(DomainApiHandler.java:232)
at io.undertow.core@2.1.3.Final//io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
at org.jboss.as.domain-http-interface@12.0.3.Final//org.jboss.as.domain.http.server.DomainApiCheckHandler.handleRequest(DomainApiCheckHandler.java:91) …Run Code Online (Sandbox Code Playgroud) 我有一个禁用的JTable,它提供了一个弹出菜单:
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JTable;
public class DisabledTableFrame extends JFrame {
public DisabledTableFrame() {
setSize(200, 100);
setTitle(getClass().getCanonicalName());
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
JTable table = new JTable();
add(table);
table.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
mouseReleased(e);
}
@Override
public void mouseReleased(MouseEvent e) {
new PopupMenu();
}
});
table.setEnabled(false);
setVisible(true);
}
public static void main(String[] args) {
new DisabledTableFrame();
}
private class PopupMenu extends JPopupMenu {
public PopupMenu() {
JMenuItem menuItem = new JMenuItem("TEST");
add(menuItem); …Run Code Online (Sandbox Code Playgroud)