Hide Forgot
project_key: JBEPP If the property jgroups-multiplexer-stack is set as "true" in gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml, EPP 5.2 throws the following errors during startup: ERROR [exo.jcr.component.core.RepositoryServiceImpl] (main) Error start repository service java.lang.RuntimeException: Cannot instantiate component class org.exoplatform.services.jcr.impl.dataflow.persistent.LocalWorkspaceDataManagerStub at org.exoplatform.container.jmx.MX4JComponentAdapter.getComponentInstance(MX4JComponentAdapter.java:134) at org.exoplatform.container.management.ManageableComponentAdapter.getComponentInstance(ManageableComponentAdapter.java:68) ... Caused by: java.lang.Exception: failed parsing vfsfile:/xxx/gatein.ear/02portal.war/WEB-INF/classes/jgroups/gatein-udp.xml at org.jgroups.JChannelFactory.setMultiplexerConfig(JChannelFactory.java:250) at org.jgroups.JChannelFactory.setMultiplexerConfig(JChannelFactory.java:233) at org.exoplatform.services.jcr.jbosscache.ExoJBossCacheFactory.createCache(ExoJBossCacheFactory.java:195) ... 118 more Caused by: java.io.IOException: invalid XML configuration: XML protocol stack configuration does not start with a '<protocol_stacks>' element; maybe the XML configuration needs to be converted to the new format ? use 'java org.jgroups.conf.XmlConfigurator <old XML file> -new_format' to do so at org.jgroups.JChannelFactory.parse(JChannelFactory.java:569) at org.jgroups.JChannelFactory.parse(JChannelFactory.java:555) at org.jgroups.JChannelFactory.setMultiplexerConfig(JChannelFactory.java:247) ... 120 more Do we still need the property jgroups-multiplexer-stack in EPP 5.2? Or EPP 5.2 is missing the correct jgroups configuration file to satisfy the call setMultiplexerConfig?
Here is the code that throws the error: org.exoplatform.services.jcr.jbosscache.ExoJBossCacheFactory // JGroups multiplexer configuration if enabled if (parameterEntry.getParameterBoolean(JGROUPS_MUX_ENABLED, false)) { try { // Get path to JGroups configuration String jgroupsConfigurationFilePath = parameterEntry.getParameterValue(JGROUPS_CONFIG); if (jgroupsConfigurationFilePath != null) { // Create and inject multiplexer factory CHANNEL_FACTORY.setMultiplexerConfig(configurationManager.getResource(jgroupsConfigurationFilePath)); cache.getConfiguration().getRuntimeConfig().setMuxChannelFactory(CHANNEL_FACTORY); log.info("Multiplexer stack successfully enabled for the cache."); } } catch (Exception e) { // exception occurred setting mux factory throw new RepositoryConfigurationException("Error setting multiplexer configuration.", e); }
EPP 5.2 uses shared transport instead of multiplexer feature of jGroups: https://bugzilla.redhat.com/show_bug.cgi?id=794144 jgroups-multiplexer-stack properties need to be set to 'false' (as is the default in 5.2): https://access.redhat.com/knowledge/solutions/69547