关于启动时数据库报错的问题
启动时报错,服务器日志:****************************************
* data server start completed.
* port: 20050.
* web console port: 20051.
****************************************
****************************************
* storage server start completed.
* port: 20040.
****************************************
com.x.base.core.project.x_program_center loading datas, entity size:27.
2022-12-08 14:03:38.304 ERROR com.alibaba.druid.pool.DruidDataSource - init datasource error, url: jdbc:h2:tcp://127.0.0.1:20050/X;LOCK_MODE=0;DEFAULT_LOCK_TIMEOUT=120000;JMX=FALSE;CACHE_SIZE=524288
org.h2.jdbc.JdbcSQLNonTransientConnectionException: File corrupted while reading record: null. Possible solution: use the recovery tool
at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) ~
at org.h2.engine.SessionRemote.done(SessionRemote.java:611) ~
at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:147) ~
at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:435) ~
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:321) ~
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:173) ~
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:152) ~
at org.h2.Driver.connect(Driver.java:69) ~
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1657) ~
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1723) ~
at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:927) ~
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1401) ~
at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1397) ~
at com.alibaba.druid.pool.DruidDataSourceC3P0Adapter.getConnection(DruidDataSourceC3P0Adapter.java:91) ~
at org.apache.openjpa.lib.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:125) ~
at org.apache.openjpa.lib.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:94) ~
at org.apache.openjpa.jdbc.schema.DataSourceFactory.installDBDictionary(DataSourceFactory.java:249) ~
at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getConnectionFactory(JDBCConfigurationImpl.java:807) ~
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.apache.openjpa.lib.conf.ConfigurationImpl.instantiateAll(ConfigurationImpl.java:331) ~
at org.apache.openjpa.conf.OpenJPAConfigurationImpl.instantiateAll(OpenJPAConfigurationImpl.java:1963) ~
at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:665) ~
at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:207) ~
at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:166) ~
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.doCreateEM(EntityManagerFactoryImpl.java:282) ~
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:201) ~
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:188) ~
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:178) ~
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:64) ~
at com.x.base.core.container.factory.EntityManagerContainerFactory.createEntityManager(EntityManagerContainerFactory.java:109) ~
at com.x.base.core.container.EntityManagerContainerBasic.get(EntityManagerContainerBasic.java:36) ~
at com.x.program.center.Context.checkDefaultRole(Context.java:228) ~
at com.x.program.center.Context.concrete(Context.java:153) ~
at com.x.program.center.ApplicationServletContextListener.contextInitialized(ApplicationServletContextListener.java:13) ~
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1068) ~
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572) ~
at org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:997) ~
at org.eclipse.jetty.quickstart.QuickStartWebApp.contextInitialized(QuickStartWebApp.java:132) ~
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:754) ~
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379) ~
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1457) ~
at org.eclipse.jetty.quickstart.QuickStartWebApp.startWebapp(QuickStartWebApp.java:153) ~
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1422) ~
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:911) ~
at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288) ~
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524) ~
at org.eclipse.jetty.quickstart.QuickStartWebApp.doStart(QuickStartWebApp.java:222) ~
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) ~
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) ~
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~
at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:426) ~
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) ~
at org.eclipse.jetty.server.Server.start(Server.java:423) ~
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) ~
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) ~
at org.eclipse.jetty.server.Server.doStart(Server.java:387) ~
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~
at com.x.server.console.server.center.CenterServerTools.start(CenterServerTools.java:121) ~
at com.x.server.console.server.Servers.startCenterServer(Servers.java:133) ~
at com.x.server.console.Main.startCenterServer(Main.java:360) ~
at com.x.server.console.Main.startAll(Main.java:417) ~
at com.x.server.console.Main.main(Main.java:142) ~
请问什么原因啊?怎么处理?
您是什么情况下启动会这样?是不是有异常关停之类的,看起来您这个h2数据库有损坏,如果不重要,您可以把local目录删掉重启一下,数据会全清掉,如果比较重要,您需要联系h2看如何处理了。
另外,我们h2只作为测试使用,您正式使用的话建议您使用更稳定的外部数据库 论坛管理员 发表于 2022-12-8 16:43
您是什么情况下启动会这样?是不是有异常关停之类的,看起来您这个h2数据库有损坏,如果不重要,您可以把lo ...
好的,我感觉也是数据库文件损坏,我研究一下h2数据库的修复吧 :handshake
页:
[1]