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

[jira] [Updated] (IGNITE-6745) Java 9: rework usages of URLClassLoader.getURLs()

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

Cergey Chaulin updated IGNITE-6745:
-----------------------------------
    Attachment: IGNITE-6745.patch

Hi, I created a patch for that. Could someone take a look ? I added a special utility class (Java9Bridge) for java 9 migration.

> Java 9: rework usages of URLClassLoader.getURLs()
> -------------------------------------------------
>
>                 Key: IGNITE-6745
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6745
>             Project: Ignite
>          Issue Type: Task
>      Security Level: Public(Viewable by anyone) 
>          Components: general
>            Reporter: Vladimir Ozerov
>             Fix For: 2.4
>
>         Attachments: IGNITE-6745.patch
>
>
> We use this method in multiple places:
> 1) {{MessageCodeGenerator}}
> 2) {{BinaryContext}}
> 3) {{ClassesGenerator}}
> 4) {{GridUriDeploymentFileProcessor}}
> The problem is that in Java 9 application class loader is not {{URLClassLoader}}, so we cannot get URLs easily. Instead typically it is {{BuiltinClassLoader}}, which refers to {{URLClassLoader}} in it's internal field {{ucp}}.
> Let's refactor all usages of {{URLClassLoader.getURLs}} to some utility method, which will be able to handle both Java 7/8 and Java 9 (through reflection).



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