Forum Stats

  • 3,784,355 Users
  • 2,254,928 Discussions
  • 7,880,790 Comments

Discussions

Security Policy file entry to allow "Arrays.useLegacyMergeSort" to be set ?

3269827
3269827 Member Posts: 4

Hi,

Question as title :

I need to run a legacy Java  desktop application under a Java Security Policy file.  The application calls the following :

System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");

When this line executes I get an exception as follows :

"Exception in thread "main" java.security.AccessControlException: access denied (

java.util.PropertyPermission java.util.Arrays.useLegacyMergeSort write)

        at java.security.AccessControlContext.checkPermission(Unknown Source)..."

I have added the following (and several variants of it) to my Java Security Policy file with no luck,  can anyone tell me what I am doing wrong please ?

grant {

    permission java.security.SecurityPermission "setProperty.java.util.Arrays.useLegacyMergeSort";

};

Thanks,

Answers

  • 3269827
    3269827 Member Posts: 4
    edited Jul 5, 2016 5:37AM

    I have some more information / clarification :

    The legacy application uses the JRE v6 so I downloaded the openjdk-6 source to see if I could see a workaround.  I found that the key "useLegacyMergeSort" did not occur anywhere in that source code whereas it does appear in file jdk\src\share\classes\java\util\Arrays.java of openjdk-7.

    I infer from that that my problem is that the key is missing entirely rather than not being enabled by my Java Security Policy file.

    So my question becomes : is there any way of permitting access to non-existing keys using a Java Security Policy file ?  (I know I could just move to JRE 7 but that is not an option right now, though I may do that later).

    Thanks again,

  • 3269827
    3269827 Member Posts: 4
    edited Jul 6, 2016 4:35AM

    Just to update that I tried JRE / JDK version 7.0.55 and the problem persists.

    Any ideas gratefully received,

This discussion has been closed.