【问题标题】:Upgrade xwiki (2.5 to 4.4)升级 xwiki(2.5 到 4.4)
【发布时间】:2012-12-28 14:27:13
【问题描述】:

我正在使用 XWIKI ENTERPRISE 2.5 并希望将其升级到 4.4 或 4.3(稳定) 我找到了this upgrade documentation for XWiki。按照指南,我备份了WEB-INF中的重要文件。 之后,我将所有文件从新的.war 复制到我的 wiki 目录 (/var/lib/tomcat6/webapps/xwiki)。然后,我将重要文件移回并覆盖了新文件。

当我访问我的 wiki 页面时收到此错误消息:

HTTP Status 404 - type Status report
message description
  The requested resource () is not available.
Apache Tomcat/6.0.28

这是日志文件:

SCHWERWIEGEND: Exception sending context initialized event to listener instance of class org.xwiki.container.servlet.XWikiServletContextListener
java.lang.RuntimeException: Failed to find the Observation Manager component
    at org.xwiki.container.servlet.XWikiServletContextListener.contextInitialized(XWikiServletContextListener.java:101)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
    at org.apache.catalina.core.StandardService.start(StandardService.java:519)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.xwiki.component.manager.ComponentLookupException: Failed to lookup component [org.xwiki.observation.internal.DefaultObservationManager] identifier by [role = [interface org.xwiki.observation.ObservationManager] hint = [default]]
    at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:348)
    at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:155)
    at org.xwiki.container.servlet.XWikiServletContextListener.contextInitialized(XWikiServletContextListener.java:99)
    ... 24 more
Caused by: org.xwiki.component.phase.InitializationException: Failed to lookup Event Listeners
    at org.xwiki.observation.internal.DefaultObservationManager.initialize(DefaultObservationManager.java:139)
    at org.xwiki.component.embed.InitializableLifecycleHandler.handle(InitializableLifecycleHandler.java:39)
    at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:323)
    at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:378)
    at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:346)
    ... 26 more
Caused by: org.xwiki.component.manager.ComponentLookupException: Failed to lookup component [role = [interface org.xwiki.observation.EventListener] hint = [default]]
    at org.xwiki.component.embed.EmbeddableComponentManager.getInstanceMap(EmbeddableComponentManager.java:187)
    at org.xwiki.component.embed.EmbeddableComponentManager.getInstanceList(EmbeddableComponentManager.java:169)
    at org.xwiki.observation.internal.DefaultObservationManager.initialize(DefaultObservationManager.java:135)
    ... 30 more
Caused by: org.xwiki.component.manager.ComponentLookupException: Failed to lookup component [org.xwiki.security.authorization.cache.internal.DefaultSecurityCache] identifier by [role = [interface org.xwiki.security.authorization.cache.SecurityCache] hint = [default]]
    at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:348)
    at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:161)
    at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:312)
    at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:378)
    at org.xwiki.component.embed.EmbeddableComponentManager.getInstanceMap(EmbeddableComponentManager.java:185)
    ... 32 more
Caused by: org.xwiki.component.phase.InitializationException: Unable to create the security cache with a capacity of 500
    at org.xwiki.security.authorization.cache.internal.DefaultSecurityCache.newCache(DefaultSecurityCache.java:104)
    at org.xwiki.security.authorization.cache.internal.DefaultSecurityCache.initialize(DefaultSecurityCache.java:112)
    at org.xwiki.component.embed.InitializableLifecycleHandler.handle(InitializableLifecycleHandler.java:39)
    at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:323)
    at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:378)
    at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:346)
    ... 36 more
Caused by: org.xwiki.cache.CacheException: Failed to get cache factory for role hint [infinispan]
    at org.xwiki.cache.internal.DefaultCacheManager.createNewCache(DefaultCacheManager.java:109)
    at org.xwiki.cache.internal.DefaultCacheManager.createNewCache(DefaultCacheManager.java:85)
    at org.xwiki.security.authorization.cache.internal.DefaultSecurityCache.newCache(DefaultSecurityCache.java:102)
    ... 41 more
Caused by: org.xwiki.component.manager.ComponentLookupException: Failed to lookup component [org.xwiki.cache.infinispan.internal.InfinispanCacheFactory] identifier by [role = [interface org.xwiki.cache.CacheFactory] hint = [infinispan]]
    at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:348)
    at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:161)
    at org.xwiki.cache.internal.DefaultCacheManager.createNewCache(DefaultCacheManager.java:107)
    ... 43 more
Caused by: org.infinispan.jmx.JmxDomainConflictException: Domain already registered org.xwiki.infinispan
    at org.infinispan.jmx.JmxUtil.buildJmxDomain(JmxUtil.java:73)
    at org.infinispan.jmx.CacheManagerJmxRegistration.updateDomain(CacheManagerJmxRegistration.java:92)
    at org.infinispan.jmx.CacheManagerJmxRegistration.buildRegistrar(CacheManagerJmxRegistration.java:86)
    at org.infinispan.jmx.AbstractJmxRegistration.registerMBeans(AbstractJmxRegistration.java:46)
    at org.infinispan.jmx.CacheManagerJmxRegistration.start(CacheManagerJmxRegistration.java:62)
    at org.infinispan.manager.DefaultCacheManager.start(DefaultCacheManager.java:720)
    at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:388)
    at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:353)
    at org.xwiki.cache.infinispan.internal.InfinispanCacheFactory.initialize(InfinispanCacheFactory.java:104)
    at org.xwiki.component.embed.InitializableLifecycleHandler.handle(InitializableLifecycleHandler.java:39)
    at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:323)
    at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:378)
    at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:346)
    ... 45 more

【问题讨论】:

    标签: upgrade xwiki


    【解决方案1】:

    从 4.0-rc-1 升级到 4.4 或 4.5 时,我遇到了同样的问题。我没有重复的 jar,也没有运行多个 XWiki 实例。可能是 infinispan 或 XWiki 的缓存实现中存在问题。

    临时解决方法是在 config.xml 中明确允许重复域:

    <globalJmxStatistics
         [...]
         allowDuplicateDomains="true" />
    

    【讨论】:

      【解决方案2】:

      当你这么说时

      我将所有文件从新的 .war 复制到我的 wiki 目录

      您是否将新文件复制到现有目录?您应该从旧版本中删除所有内容并仅使用新版本中的文件,并且仅从备份中复制必要的配置文件。另外请注意,您不应该只复制旧配置,而是将您的自定义设置合并到默认的新配置中。

      堆栈跟踪中的根错误:

      Caused by: org.infinispan.jmx.JmxDomainConflictException: Domain already registered org.xwiki.infinispan
      

      建议使用重复的 jar。另一种可能发生这种情况的情况是,当您在同一个容器中拥有多个 XWiki 实例时,在这种情况下,您应该编辑 WEB-INF/cache/infinispan/config.xml,并将行 jmxDomain="org.xwiki.infinispan" 替换为唯一值,例如 jmxDomain="org.xwiki.infinispan.wiki1" 和 @ 987654325@ 用于两个实例。

      【讨论】:

      • 感谢您的回答。我从 /var/lib/tomcat6/webapps/xwiki 删除所有数据(或者它只是 WEB-INF 文件夹)然后,我将新的 wiki 文件复制到此目录然后,我用我的备份覆盖配置文件。我想,它的“hibernate.cfg.xml”、“xwiki.cfg”和“xwiki.properties”对吗?
      • 我备份了WEB-INF/hibernate.cfg.xml (Hibernate configuration)WEB-INF/xwiki.cfg (old XWiki configuration file but still used)WEB-INF/xwiki.properties (new XWiki Configuration file)WEB-INF/classes/logback.xml (_**This file doesnt exist!!**_)WEB-INF/observation/* (Cluster configuration)
      • 是的,hibernate.cfg.xmlxwiki.cfgxwiki.properties 是配置文件。那么,您在 Tomcat 中没有多个 XWiki 实例,也没有多个 infinispan-core*.jarxwiki-platform-cache-infinispan-*.jar 实例?您是否尝试编辑WEB-INF/cache/infinispan/config.xml 中的jmxDomain 值?
      • 没错。在 WEB-INF/lib 中,只有 xwiki 的新文件。 (我在复制新文件之前删除了旧文件)我还编辑了WEB-INF/cache/infinispan/config.xml
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-05
      • 2022-01-11
      • 2018-05-26
      • 2012-12-12
      • 2012-03-30
      • 2013-11-14
      • 1970-01-01
      相关资源
      最近更新 更多