You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrew Mashenkov (JIRA)" <ji...@apache.org> on 2017/10/26 14:10:00 UTC

[jira] [Created] (IGNITE-6764) Avoid dependency of package visible GridResourceBasicInjector class from Spring module.

Andrew Mashenkov created IGNITE-6764:
----------------------------------------

             Summary: Avoid dependency of package visible GridResourceBasicInjector class from Spring module.
                 Key: IGNITE-6764
                 URL: https://issues.apache.org/jira/browse/IGNITE-6764
             Project: Ignite
          Issue Type: Bug
      Security Level: Public (Viewable by anyone)
          Components: spring
    Affects Versions: 2.1
            Reporter: Andrew Mashenkov


We have dependency of GridResourceBasicInjector class in GridSpringResourceContextImpl.
This cause issues when core and spring jars are loaded with different classloaders.
{noformat}
Refreshing org.springframework.context.support.GenericApplicationContext@4bf48f6: startup date [Tue Oct 24 17:58:14 EEST 2017]; root of context hierarchy
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at murex.mice.boot.launch.MainLauncher.launch(MainLauncher.java:53)
        at murex.mice.boot.Main.main(Main.java:82)
Caused by: java.lang.IllegalAccessError: tried to access class org.apache.ignite.internal.processors.resource.GridResourceBasicInjector from class org.apache.ignite.internal.processors.resource.GridSpringResourceContextImpl
        at org.apache.ignite.internal.processors.resource.GridSpringResourceContextImpl.<init>(GridSpringResourceContextImpl.java:39)
        at org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl.loadConfigurations(IgniteSpringHelperImpl.java:144)
        at org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl.loadConfigurations(IgniteSpringHelperImpl.java:124)
        at org.apache.ignite.internal.IgnitionEx.loadConfigurations(IgnitionEx.java:689)
        at murex.mice.ignite.configuration.ConfigurationHelper.loadConfiguration(ConfigurationHelper.java:48)
        at murex.mice.ignite.cluster.IgniteClusterManagerConfig.createClusterManager(IgniteClusterManagerConfig.java:33)
        at murex.mice.launchers.registry.RegistryLauncher.start(RegistryLauncher.java:39)
        at murex.mice.launchers.registry.RegistryLauncher.main(RegistryLauncher.java:87)
        ... 6 more 
{noformat}

GridSpringResourceContextImpl tries to create GridResourceBasicInjector explicitly that has package visibility and located in different jar.

Possible solution is to have static util method that will has return type GridResourceInjector and return GridResourceBasicInjector instance.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)