Skip to Main Content

Programming Languages & Frameworks

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Why a java script works fine in rhino engine in java1.6, but not in nashorn script engine in java1.8

Solomon MohantyJul 12 2016 — edited Jul 12 2016

A java script to load java classes from a http server by a custom class loader works fine in jre1.6 with rhino engine. But same script doesn't

work in nashorn engine in jre1.8. Exception thrown is

java.security.AccessControlException: access denied ("java.net.SocketPermission" "172.16.48.100:8443" "connect,resolve"

I tried using below URL to give all permission for java and script code to have all permissions.

https://wiki.openjdk.java.net/display/Nashorn/Nashorn+script+security+permissions

Code is similar to below lines:

"var tmp = UcmdbServiceFactory.initSSL();" +

  "var serviceProvider = UcmdbServiceFactory.getServiceProvider(\"https\",\"172.16.48.100\",8443); " +

  "var clientContext = serviceProvider.createClientContext(\"UCSD\"); " ;

     ScriptEngineManager m = new ScriptEngineManager();

      ScriptEngine engine = m.getEngineByName("nashorn");

  File file = new File(args[0]);

        try {

        //engine.eval(com.cloupia.fw.scripting.Constants.JS_RHINO_COMPAT_SCRIPT);

        URI uri = file.toURI();

        URL url = uri.toURL();

        engine.eval(new URLReader(url));

If anybody has any experience with network class loaders using nashorn script engine, help here.

Comments
Post Details
Added on Jul 12 2016
0 comments
1,505 views