You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by re...@apache.org on 2010/06/18 18:54:47 UTC
svn commit: r956047 -
/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform/src/main/java/org/apache/clerezza/platform/BootMonitor.java
Author: reto
Date: Fri Jun 18 16:54:47 2010
New Revision: 956047
URL: http://svn.apache.org/viewvc?rev=956047&view=rev
Log:
compiling some scala, before saying that clerezza is running (making the first page request faster)
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform/src/main/java/org/apache/clerezza/platform/BootMonitor.java
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform/src/main/java/org/apache/clerezza/platform/BootMonitor.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform/src/main/java/org/apache/clerezza/platform/BootMonitor.java?rev=956047&r1=956046&r2=956047&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform/src/main/java/org/apache/clerezza/platform/BootMonitor.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform/src/main/java/org/apache/clerezza/platform/BootMonitor.java Fri Jun 18 16:54:47 2010
@@ -21,6 +21,10 @@ package org.apache.clerezza.platform;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
+import java.util.logging.Level;
+import javax.script.Compilable;
+import javax.script.ScriptEngineFactory;
+import javax.script.ScriptException;
import org.apache.felix.scr.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -55,6 +59,9 @@ import org.apache.felix.scr.annotations.
target="(javax.ws.rs=true)")
public class BootMonitor {
+ @Reference(target="(javax.script.language=scala)")
+ private ScriptEngineFactory scalaScriptEngineFactory;
+
private Set<Object> rootResources =
Collections.synchronizedSet(new HashSet<Object>());
@@ -74,6 +81,12 @@ public class BootMonitor {
int lastSize = 0;
for (int i = 0; i < 100; i++) {
if (rootResources.size() == lastSize) {
+ //compile a script to initialize scala-compiler (needed by scal a server pages)
+ try {
+ ((Compilable)scalaScriptEngineFactory.getScriptEngine()).compile("println(\"helo\")");
+ } catch (ScriptException ex) {
+ logger.warn(ex.toString());
+ }
started = true;
logger.info("The Apache Clerezza Platform is now operational.");
return;