Alfresco 5.2启动时Solr.CoreWatcher报错无法登录求助
问题原因分析:Alfresco 5.2启动后无法登录且Solr模型解析失败
错误日志
INFO: Initializing Spring root WebApplicationContext 2023-03-28 13:37:00,542 ERROR [quartz.core.JobRunShell] [org.alfresco.solr.AlfrescoCoreAdminHandler@3f1a7396_Worker-1] Job Solr.CoreWatcher threw an unhandled Exception: org.alfresco.service.cmr.dictionary.DictionaryException: 02280000 d_dictionary.model.err.parse.failure at org.alfresco.repo.dictionary.M2Model.createModel(M2Model.java:113) at org.alfresco.repo.dictionary.M2Model.createModel(M2Model.java:99) at org.alfresco.solr.tracker.ModelTracker.loadPersistedModels(ModelTracker.java:121) at org.alfresco.solr.tracker.ModelTracker.<init>(ModelTracker.java:92) at org.alfresco.solr.tracker.CoreWatcherJob.registerForCore(CoreWatcherJob.java:132) at org.alfresco.solr.tracker.CoreWatcherJob.execute(CoreWatcherJob.java:82) at org.quartz.core.JobRunShell.run(JobRunShell.java:216) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563) Caused by: org.jibx.runtime.JiBXException: Error accessing document at org.jibx.runtime.impl.XMLPullReaderFactory$XMLPullReader.next(XMLPullReaderFactory.java:293) at org.jibx.runtime.impl.UnmarshallingContext.toStart(UnmarshallingContext.java:446) at org.jibx.runtime.impl.UnmarshallingContext.unmarshalElement(UnmarshallingContext.java:2750) at org.jibx.runtime.impl.UnmarshallingContext.unmarshalDocument(UnmarshallingContext.java:2900) at org.alfresco.repo.dictionary.M2Model.createModel(M2Model.java:108) ... 7 more Caused by: java.io.EOFException: input contained no data at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3003) at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046) at org.xmlpull.mxp1.MXParser.parseProlog(MXParser.java:1410) at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1395) at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093) at org.jibx.runtime.impl.XMLPullReaderFactory$XMLPullReader.next(XMLPullReaderFactory.java:291) ... 11 more 2023-03-28 13:37:00,544 ERROR [quartz.core.ErrorLogger] [org.alfresco.solr.AlfrescoCoreAdminHandler@3f1a7396_Worker-1] Job (Solr.CoreWatcher threw an exception. org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: org.alfresco.service.cmr.dictionary.DictionaryException: 02280000 d_dictionary.model.err.parse.failure] at org.quartz.core.JobRunShell.run(JobRunShell.java:227) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563) Caused by: org.alfresco.service.cmr.dictionary.DictionaryException: 02280000 d_dictionary.model.err.parse.failure at org.alfresco.repo.dictionary.M2Model.createModel(M2Model.java:113) at org.alfresco.repo.dictionary.M2Model.createModel(M2Model.java:99) at org.alfresco.solr.tracker.ModelTracker.loadPersistedModels(ModelTracker.java:121) at org.alfresco.solr.tracker.ModelTracker.<init>(ModelTracker.java:92) at org.alfresco.solr.tracker.CoreWatcherJob.registerForCore(CoreWatcherJob.java:132) at org.alfresco.solr.tracker.CoreWatcherJob.execute(CoreWatcherJob.java:82) at org.quartz.core.JobRunShell.run(JobRunShell.java:216) ... 1 more Caused by: org.jibx.runtime.JiBXException: Error accessing document at org.jibx.runtime.impl.XMLPullReaderFactory$XMLPullReader.next(XMLPullReaderFactory.java:293) at org.jibx.runtime.impl.UnmarshallingContext.toStart(UnmarshallingContext.java:446) at org.jibx.runtime.impl.UnmarshallingContext.unmarshalElement(UnmarshallingContext.java:2750) at org.jibx.runtime.impl.UnmarshallingContext.unmarshalDocument(UnmarshallingContext.java:2900) at org.alfresco.repo.dictionary.M2Model.createModel(M2Model.java:108) ... 7 more Caused by: java.io.EOFException: input contained no data at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3003) at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046) at org.xmlpull.mxp1.MXParser.parseProlog(MXParser.java:1410) at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1395) at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093) at org.jibx.runtime.impl.XMLPullReaderFactory$XMLPullReader.next(XMLPullReaderFactory.java:291) ... 11 more
问题原因
空模型文件触发解析失败
日志中的java.io.EOFException: input contained no data是核心线索:Solr的ModelTracker在加载持久化的Alfresco模型文件时,读取到了一个空的XML文件。Alfresco的字典服务依赖这些模型定义处理元数据,空文件直接导致字典解析失败,抛出DictionaryException,进而让Solr的CoreWatcher任务崩溃。Solr异常导致系统核心服务失效
Alfresco的登录验证、权限管理等核心功能依赖Solr提供的索引和元数据支撑。当Solr的模型跟踪器无法正常工作时,Alfresco无法完成必要的元数据初始化流程,虽然服务器进程能启动,但核心服务处于异常状态,最终导致用户无法登录系统。可能的诱因
- 异常关机(如强制终止进程、服务器断电)导致Solr的模型持久化文件损坏或为空
- 文件系统权限不足:Solr进程没有足够权限写入完整的模型文件,导致生成空文件
- 模型同步过程中出现网络或IO故障,导致模型文件未完整同步到Solr端
内容的提问来源于stack exchange,提问作者Mike1988B
相关产品推荐
相关产品推荐

