Hi, I am writing a plugin for Confluence which will allow access to PHP rendering. You can see an overview of the plugin in general here: http://confluence.atlassian.com/display/CODEGEIST/Scriptix
The plugin (by the nature of Confluence's plugin classloading system) has it's own classloader separate to that of the webapp where Quercus is installed. This means that Quercus won't be able to "see" any of the plugin classes for the purposes of instanciation or getting a Class object. This is where the problem occurs -- I am injecting ServletState and ScriptixHelper objects into the script engine for use (exposing Confluence and custom functionality). When accessing these variables in PHP I get the following error: Cause: com.caucho.quercus.QuercusExitException: 'com.adaptavist.confluence.scriptix.ScriptixHelper' class definition not found at com.caucho.quercus.env.Env.error(Env.java:4042) Stack Trace: [hide] com.caucho.quercus.QuercusExitException: 'com.adaptavist.confluence.scriptix.ScriptixHelper' class definition not found at com.caucho.quercus.env.Env.error(Env.java:4042) at com.caucho.quercus.env.Env.errorException(Env.java:3741) at com.caucho.quercus.env.Env.getJavaClassDefinition(Env.java:2866) at com.caucho.quercus.env.Env.wrapJava(Env.java:2987) at com.caucho.quercus.env.Env.wrapJava(Env.java:2954) at com.caucho.quercus.env.Env.getSpecialRef(Env.java:1817) at com.caucho.quercus.env.Env.getRef(Env.java:1557) at com.caucho.quercus.env.Env.getValue(Env.java:1334) at com.caucho.quercus.expr.VarExpr.eval(VarExpr.java:141) at com.caucho.quercus.program.EchoStatement.execute(EchoStatement.java:57) at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99) at com.caucho.quercus.program.QuercusProgram.execute(QuercusProgram.java:239) at com.caucho.quercus.script.QuercusScriptEngine.eval(QuercusScriptEngine.java:101) at com.caucho.quercus.script.QuercusScriptEngine.eval(QuercusScriptEngine.java:127) at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:245) at com.adaptavist.confluence.scriptix.ScriptixRunnerServlet.handleRequest(ScriptixRunnerServlet.java:93) at com.adaptavist.confluence.scriptix.ScriptixRunnerServlet.doGet(ScriptixRunnerServlet.java:40) [lots more] The reference javax.script javascript implementation works fine, so I think it's to do with the way Quercus is handing the variable? While placing the plugin on the webapp classpath will solve the problem, it's not an option as this plugin needs to be dynamically uploaded and updatable. Thanks for any suggestions that can be offered! -- Dan Hardiker Adaptavist.com Ltd _______________________________________________ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest