Posts

Showing posts from December, 2015

Running Java in a Script

Recently I wanted to invoke a JMX operation in a WSO2 server from a script. I was first thinking of writing a simple Java class with a main method and run it as an executable jar file. Then I found that we can run a script with the command " jrunscript ". I also found an example of interacting with a JMX MBean from Javascript . However this example didn't work with Java 8. The reason is that from Java 8, the JavaScript Engine for the JVM is Oracle Nashorn . In Java 7, the JavaScript Engine is based on Mozilla Rhino. Let's see the difference: Following script works with Java 7, but not with Java 8 packages = new JavaImporter(java.lang, java.lang.reflect); with (packages) { // create Java String array of 5 elements var a = Array.newInstance(String, 5); // Accessing elements and length access is by usual Java syntax a[0] = "scripting is great!"; print(a.length); print('\n'); print(a[0]); print('\n'); }