我无法理解RDB如何与GUI链接,但我已多次检查过。我有osgi javafx应用程序。当我安装hsqldb并使用数据库时,我有一些奇怪的问题: 在此之前我使用了h2而我没有这样的东西。唯一改变的是RDB。我已经检查了centos 7.1和win 7(VBOX)的结果是一样的。
1)当我按下CTRL + SHIFT时,我得到了很多以下例外:
java.lang.ArrayIndexOutOfBoundsException: 85
at sun.awt.X11.XEvent.getFieldsAsString(XEvent.java:86)
at sun.awt.X11.XWrapperBase.toString(XWrapperBase.java:37)
at sun.awt.X11.XEvent.toString(XEvent.java:8)
at java.lang.String.valueOf(String.java:2994)
at sun.util.logging.PlatformLogger$JavaLoggerProxy.doLog(PlatformLogger.java:626)
at sun.util.logging.PlatformLogger.finer(PlatformLogger.java:387)
at sun.awt.X11.XToolkit.run(XToolkit.java:586)
at sun.awt.X11.XToolkit.run(XToolkit.java:532)
at java.lang.Thread.run(Thread.java:745)
2)我的javafx数据绑定停止工作
3)当我通过CTRL + C关闭应用程序时,我得到以下内容:
^ C ===========表现统计=============
时间:com.sun.webkit.perf.WCFontPerfLogger.GETASCENT:0ms,0.00% com.sun.webkit.perf.WCFontPerfLogger.GETLINEGAP:0ms,0.00% com.sun.webkit.perf.WCFontPerfLogger.GETGLYPHWIDTH:0ms,0.00% com.sun.webkit.perf.WCFontPerfLogger.GETDESCENT:0ms,0.00% com.sun.webkit.perf.WCFontPerfLogger.HASH:0ms,0.00% com.sun.webkit.perf.WCFontPerfLogger.GETLINESPACING:1ms,0.00% com.sun.webkit.perf.WCFontPerfLogger.HASUNIFORMLINEMETRICS:1ms,0.00% com.sun.webkit.perf.WCFontPerfLogger.GETXHEIGHT:1ms,0.00% com.sun.webkit.perf.WCFontPerfLogger.GETGLYPHCODES:32ms,0.11% com.sun.webkit.perf.WCFontPerfLogger.TOTALTIME:29131ms,100.00%
调用次数:com.sun.webkit.perf.WCFontPerfLogger.GETASCENT:1 com.sun.webkit.perf.WCFontPerfLogger.GETLINEGAP:1 com.sun.webkit.perf.WCFontPerfLogger.GETDESCENT:1 com.sun.webkit.perf.WCFontPerfLogger.HASH:1 com.sun.webkit.perf.WCFontPerfLogger.GETLINESPACING:1 com.sun.webkit.perf.WCFontPerfLogger.HASUNIFORMLINEMETRICS:1 com.sun.webkit.perf.WCFontPerfLogger.GETXHEIGHT:1 com.sun.webkit.perf.WCFontPerfLogger.TOTALTIME:1 com.sun.webkit.perf.WCFontPerfLogger.GETGLYPHCODES:2 com.sun.webkit.perf.WCFontPerfLogger.GETGLYPHWIDTH:4
=============================================== =
===========表现统计=============
时间:com.sun.webkit.perf.WCGraphicsPerfLogger.RESTORESTATE:0ms, 0.00%com.sun.webkit.perf.WCGraphicsPerfLogger.SET_FONT_SMOOTHING_TYPE:0ms, 0.00%com.sun.webkit.perf.WCGraphicsPerfLogger.SETCLIP_R:0ms,0.00%com.sun.webkit.perf.WCGraphicsPerfLogger.SETCOMPOSITE:0ms,0.00% com.sun.webkit.perf.WCGraphicsPerfLogger.DISPOSE:0ms,0.00% com.sun.webkit.perf.WCGraphicsPerfLogger.SAVESTATE:0ms,0.00% com.sun.webkit.perf.WCGraphicsPerfLogger.SETCLIP_IIII:1ms,0.00% com.sun.webkit.perf.WCGraphicsPerfLogger.TRANSLATE:1ms,0.00% com.sun.webkit.perf.WCGraphicsPerfLogger.FLUSH:2ms,0.01% com.sun.webkit.perf.WCGraphicsPerfLogger.DRAWSTRING_GV:7ms,0.02% com.sun.webkit.perf.WCGraphicsPerfLogger.FILLRECT_FFFFI:18ms,0.06% com.sun.webkit.perf.WCGraphicsPerfLogger.TOTALTIME:29135ms,100.00%
Invocations count:com.sun.webkit.perf.WCGraphicsPerfLogger.TOTALTIME: 1 com.sun.webkit.perf.WCGraphicsPerfLogger.DRAWSTRING_GV:13 com.sun.webkit.perf.WCGraphicsPerfLogger.SETCLIP_R:17 com.sun.webkit.perf.WCGraphicsPerfLogger.SETCLIP_IIII:17 com.sun.webkit.perf.WCGraphicsPerfLogger.RESTORESTATE:34 com.sun.webkit.perf.WCGraphicsPerfLogger.SAVESTATE:34 com.sun.webkit.perf.WCGraphicsPerfLogger.TRANSLATE:34 com.sun.webkit.perf.WCGraphicsPerfLogger.SET_FONT_SMOOTHING_TYPE:44 com.sun.webkit.perf.WCGraphicsPerfLogger.FILLRECT_FFFFI:45 com.sun.webkit.perf.WCGraphicsPerfLogger.SETCOMPOSITE:68 com.sun.webkit.perf.WCGraphicsPerfLogger.DISPOSE:88 com.sun.webkit.perf.WCGraphicsPerfLogger.FLUSH:88
=============================================== =
===========表现统计=============
时间:com.sun.webkit.perf.Locks.TOTALTIME:29772ms,100.00%
调用次数:com.sun.webkit.perf.Locks.TOTALTIME:1
如何修复它?
答案 0 :(得分:1)
我得到了Fred Toussi的回答(Fred,谢谢):
hsqldb.jar包含DatabaseManagerSwing,它是一个GUI应用程序。您可以使用Gradle或Ant(请参阅/ build目录)将HSQLDB编译为hsqldbmain.jar,它将排除Swing类。
有一个旧的错误表明某些JDK与Swing类有问题。 https://sourceforge.net/p/hsqldb/bugs/1304/