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

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

     [ https://issues.apache.org/jira/browse/IGNITE-6764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Valentin Kulichenko closed IGNITE-6764.
---------------------------------------

> 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)