HQService / HQFramework

A next-generation Bukkit development framework.
https://hqservice.kr
GNU General Public License v3.0
47 stars 1 forks source link

SQLite 로 서버 부팅시 #34

Closed cccgh5 closed 1 year ago

cccgh5 commented 1 year ago

java.lang.reflect.InvocationTargetException: null at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) ~[?:?] at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113) ~[?:?] at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108) ~[?:?] at kr.hqservice.framework.bukkit.core.component.module.handler.ModuleAnnotationHandler.setup(ModuleAnnotationHandler.kt:24) ~[hqframework-bukkit-dist.jar:?] at kr.hqservice.framework.bukkit.core.component.module.handler.ModuleAnnotationHandler.setup(ModuleAnnotationHandler.kt:13) ~[hqframework-bukkit-dist.jar:?] at kr.hqservice.framework.global.core.component.registry.AbstractComponentRegistry$setup$6.invoke(AbstractComponentRegistry.kt:209) ~[hqframework-bukkit-dist.jar:?] at kr.hqservice.framework.global.core.component.registry.AbstractComponentRegistry$setup$6.invoke(AbstractComponentRegistry.kt:208) ~[hqframework-bukkit-dist.jar:?] at kr.hqservice.framework.global.core.component.registry.AbstractComponentRegistry.processAnnotationProcessNeedInstances(AbstractComponentRegistry.kt:294) ~[hqframework-bukkit-dist.jar:?] at kr.hqservice.framework.global.core.component.registry.AbstractComponentRegistry.setup(AbstractComponentRegistry.kt:208) ~[hqframework-bukkit-dist.jar:?] at kr.hqservice.framework.bukkit.core.HQBukkitPlugin$onEnable$1.invokeSuspend(HQBukkitPlugin.kt:174) ~[hqframework-bukkit-dist.jar:?] at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[?:?] at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) ~[?:?] at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284) ~[?:?] at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85) ~[?:?] at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59) ~[?:?] at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) ~[?:?] at kr.hqservice.framework.bukkit.core.HQBukkitPlugin.onEnable(HQBukkitPlugin.kt:160) ~[hqframework-bukkit-dist.jar:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:281) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:189) ~[paper-1.19.4.jar:git-Paper-540] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.19.4.jar:git-Paper-540] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugin(CraftServer.java:556) ~[paper-1.19.4.jar:git-Paper-540] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.enablePlugins(CraftServer.java:467) ~[paper-1.19.4.jar:git-Paper-540] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.reload(CraftServer.java:1017) ~[paper-1.19.4.jar:git-Paper-540] at org.bukkit.Bukkit.reload(Bukkit.java:929) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:54) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.dispatchCommand(CraftServer.java:907) ~[paper-1.19.4.jar:git-Paper-540] at org.bukkit.craftbukkit.v1_19_R3.CraftServer.dispatchServerCommand(CraftServer.java:870) ~[paper-1.19.4.jar:git-Paper-540] at net.minecraft.server.dedicated.DedicatedServer.handleConsoleInputs(DedicatedServer.java:501) ~[paper-1.19.4.jar:git-Paper-540] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:448) ~[paper-1.19.4.jar:git-Paper-540] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1397) ~[paper-1.19.4.jar:git-Paper-540] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1174) ~[paper-1.19.4.jar:git-Paper-540] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[paper-1.19.4.jar:git-Paper-540] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (near "SHOW": syntax error) at org.sqlite.core.DB.newSQLException(DB.java:1179) ~[sqlite-jdbc-3.41.0.0.jar:?] at org.sqlite.core.DB.newSQLException(DB.java:1190) ~[sqlite-jdbc-3.41.0.0.jar:?] at org.sqlite.core.DB.throwex(DB.java:1150) ~[sqlite-jdbc-3.41.0.0.jar:?] at org.sqlite.core.NativeDB.prepare_utf8(Native Method) ~[sqlite-jdbc-3.41.0.0.jar:?] at org.sqlite.core.NativeDB.prepare(NativeDB.java:126) ~[sqlite-jdbc-3.41.0.0.jar:?] at org.sqlite.core.DB.prepare(DB.java:264) ~[sqlite-jdbc-3.41.0.0.jar:?] at org.sqlite.core.CorePreparedStatement.(CorePreparedStatement.java:46) ~[sqlite-jdbc-3.41.0.0.jar:?] at org.sqlite.jdbc3.JDBC3PreparedStatement.(JDBC3PreparedStatement.java:31) ~[sqlite-jdbc-3.41.0.0.jar:?] at org.sqlite.jdbc4.JDBC4PreparedStatement.(JDBC4PreparedStatement.java:25) ~[sqlite-jdbc-3.41.0.0.jar:?] at org.sqlite.jdbc4.JDBC4Connection.prepareStatement(JDBC4Connection.java:34) ~[sqlite-jdbc-3.41.0.0.jar:?] at org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:226) ~[sqlite-jdbc-3.41.0.0.jar:?] at org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:206) ~[sqlite-jdbc-3.41.0.0.jar:?] at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:327) ~[?:?] at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java) ~[?:?] at kr.hqservice.framework.bukkit.scheduler.database.HQFrameworkSchedulerTableInitializer.setup(HQFrameworkSchedulerTableInitializer.kt:193) ~[hqframework-bukkit-dist.jar:?] ... 39 more

vjh0107 commented 1 year ago

해당 문제

들은 고쳤으나 SQLite 에서 CREATE TABLE 쿼리가 두개 이상 실행되지 않는 버그가 발견되어 방법의 모색이 필요한 상황입니다

의심되는 문제는 sqlite jdbc 드라이버 상의 문제로 prepared statement 구현체가 정상작동하지 않는 문제로 의심되며

해결을 위해 해본 것 들로는 DataGrip/SQlite online 을 통해 query 문을 직접 쏴봤을 때 문제가 없었습니다.

sqlite.zip 결과 DB 입니다 (hqframework_quartz_JOB_DETAILS 만 생성됨)

MySQL 환경에서는 정상적으로 동작합니다.

vjh0107 commented 1 year ago

35 해결되었습니다.