[infinispan-issues] [JBoss JIRA] (ISPN-5193) infinispan-embedded and infinispan-cli-interpreter don't work together
Jakub Markos (JIRA)
issues at jboss.org
Tue Jul 28 02:30:03 EDT 2015
[ https://issues.jboss.org/browse/ISPN-5193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13093301#comment-13093301 ]
Jakub Markos commented on ISPN-5193:
------------------------------------
This is actually a problem when using any separate module, which is not a part of the uberjar (like infinispan-server-hotrod or infinispan-cli-interpreter), with uberjar. It happens because jboss logging is relocated to package infinispan.org.jboss.logging in uberjar, but other modules still use org.jboss.logging. When jboss logging then tries to instantiate the modules log, it looks for a constructor with a single parameter infinispan.org.jboss.logging.Logger, but cannot find it, because the modules log constructor signature has org.jboss.logging.Logger.
> infinispan-embedded and infinispan-cli-interpreter don't work together
> ----------------------------------------------------------------------
>
> Key: ISPN-5193
> URL: https://issues.jboss.org/browse/ISPN-5193
> Project: Infinispan
> Issue Type: Bug
> Components: CLI
> Affects Versions: 7.1.0.CR2
> Reporter: Jakub Markos
>
> Creating a java application (no container) with both infinispan-embedded and infinispan-cli-interpreter dependencies results in this error when starting a cache manager:
> {code}Exception in thread "main" java.util.ServiceConfigurationError: org.infinispan.lifecycle.ModuleLifecycle: Provider org.infinispan.cli.interpreter.LifecycleCallbacks could not be instantiated: java.lang.ExceptionInInitializerError
> at java.util.ServiceLoader.fail(ServiceLoader.java:224)
> at java.util.ServiceLoader.access$100(ServiceLoader.java:181)
> at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:377)
> at java.util.ServiceLoader$1.next(ServiceLoader.java:445)
> at org.infinispan.commons.util.ServiceFinder.addServices(ServiceFinder.java:60)
> at org.infinispan.commons.util.ServiceFinder.load(ServiceFinder.java:42)
> at org.infinispan.util.ModuleProperties.resolveModuleLifecycles(ModuleProperties.java:41)
> at org.infinispan.factories.GlobalComponentRegistry.<init>(GlobalComponentRegistry.java:94)
> at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:292)
> at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:271)
> at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:244)
> at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:231)
> at Main64.main(Main64.java:17)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
> Caused by: java.lang.ExceptionInInitializerError
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> at java.lang.Class.newInstance(Class.java:374)
> at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:373)
> ... 15 more
> Caused by: java.lang.IllegalArgumentException: Logger implementation class org.infinispan.cli.interpreter.logging.Log_$logger has no matching constructor
> at infinispan.org.jboss.logging.Logger.getMessageLogger(Logger.java:2255)
> at infinispan.org.jboss.logging.Logger.getMessageLogger(Logger.java:2211)
> at org.infinispan.util.logging.LogFactory.getLog(LogFactory.java:21)
> at org.infinispan.cli.interpreter.LifecycleCallbacks.<clinit>(LifecycleCallbacks.java:20)
> ... 21 more
> {code}
> Tried with 7.1.0.CR2, config:
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns="urn:infinispan:config:7.1">
> <cache-container default-cache="localcache">
> <local-cache name="localcache"/>
> </cache-container>
> </infinispan>
> {code}
> application:
> {code}
> public static void main(String[] args) throws Exception {
> EmbeddedCacheManager manager = new DefaultCacheManager("config.xml");
> Cache defaultCache = manager.getCache("localcache");
> for (int i = 0; i < 10; i++) {
> defaultCache.put("key"+i, "value"+i);
> }
> Thread.sleep(5000000);
> }
> {code}
> Using infinispan-core dependency instead of infinispan-embedded works.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
More information about the infinispan-issues
mailing list