Is the support for Java Script Engine not still up in Production yet?

85 views
Skip to first unread message

Deepak G

unread,
Mar 30, 2015, 3:16:01 AM3/30/15
to google-a...@googlegroups.com, pratap singh
Hi GAE team,

We have read many existing posts on lack of support of  'Java Script Engine' in Production at GAE, mostly dated back to year 2013.
We are just wondering and being optimistic, that Google must have fixed this issue on Production by now. It is 2015 now !

So before we too have to resort to some alternates(painful and disappointing option) like Rhino or other, May I ask the great Google support team for GAE, the following question to confirm:
"Is the support for Java Script Engine in Production GAE servers available now?"

Let us know if not 'Java Script Engine', do we have some other feature at GAE that helps evaluates dynamically built boolean conditional expressions on server.

We have tried using JavaAssist library as well to build some evaluator class on the fly but class loading issues did not let us move ahead on Production.
It ran perfectly fine on local, though.
On Production, we received exception:
Caused by: javassist.NotFoundException: com.myorg.ruleengine.ConditionEvaluator
at javassist.ClassPool.get(ClassPool.java:436)


Timely response is highly welcome.

Regards,
Team MorningPlum
www.morningplum.com

Wolfram Gürlich

unread,
Mar 30, 2015, 5:21:22 AM3/30/15
to google-a...@googlegroups.com, pratap singh
Even though I'm not on the GAE team I can say that Rhino works just fine on GAE. And even if GAE/J had built-in Javascript support, that would come out as Rhino anyway as this is the default engine for JDK1.7.
Also server-side precompilation ("optimization") works flawlessly. No classloading issues there.

We experienced a performance issue though, when implementing host objects the "standard" way (by deriving from ScriptableObject). Rhino uses dynamic invocation in this case, which is painfully slow on GAE in general due to Java sandboxing and repeated security checks. When host objects  are implemented the same way as built-in native objects are (by deriving from IdScriptableObject) then Rhino just flies.

Regards,
Wolfram

Les Vogel

unread,
Mar 30, 2015, 11:03:54 AM3/30/15
to google-a...@googlegroups.com, pratap singh
Using Managed VM's, you can easily support Javascript in Node.js, or what ever environment you are interested in.

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To post to this group, send email to google-a...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/457616b2-cc4f-4460-bffb-e74e3f00c5e1%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Les Vogel | Cloud Developer Relations | le...@google.com | 408-676-7023

Deepak G

unread,
Mar 31, 2015, 1:12:15 AM3/31/15
to google-a...@googlegroups.com, pratap singh
Thanks Wolfram for sharing this valuable insight and experience! This really helps! To update, we got it working with Rhino now. Just wondering if GAE Team could update on this much debated issue.

Deepak G

unread,
Mar 31, 2015, 1:14:04 AM3/31/15
to google-a...@googlegroups.com, pratap singh
Thanks Les for the kind advice.
Managed VM is certainly a good and general solution to have more control over app and get rid of sanbox limitations. But given the time at disposal, we wanted the solution for the very issue in question.


Les Vogel | Cloud Developer Relations | le...@google.com | 408-676-7023408-676-7023
Reply all
Reply to author
Forward
0 new messages