This page details common errors that you may encounter when using the Groovy stage and resolutions. You should look for the Caused by: in the AspireException to aid troubleshooting.
The following error was caused by an incorrect Groovy component configuration:
AspireException(GroovyStage.script-execution-error): com.searchtechnologies.aspire.services.AspireException: Error occured while executing the groovy script. (component='/MemoryLane-initial-experiment/ProcessEndecaFiles/SplitEndecaFileAndFeedIndividualDocs', componentFactory='aspire-groovy') at com.searchtechnologies.aspire.components.GroovyStage.process(GroovyStage.java:146) at com.searchtechnologies.aspire.framework.JobHandler.runNested(JobHandler.java:106) at com.searchtechnologies.aspire.framework.JobHandler.run(JobHandler.java:47) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: groovy.lang.MissingPropertyException: No such property: bh for class: Script1 at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:49) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:241) at Script1.run(Script1.groovy:23) at com.searchtechnologies.aspire.components.GroovyStage.process(GroovyStage.java:142) ... 5 more
The script used a branch handler, but its configuration had been placed outside the <config> block:
<!-- Mis placed <branches> configuration below --> <branches> <branch event="onPublish" pipelineManager="../PrintDocDontIndex" /> </branches>
<component name="SplitEndecaFileAndFeedIndividualDocs" subType="default" factoryName="aspire-groovy"> <config> <script> <![CDATA[ . . AspireDocument subDoc = new AspireDocument(); subDoc.add("text", outputBuffer.toString()); Job subJob = job.createSubJob(subDoc, job.getJobId() + "-" + subjobCount); bh.enqueue(subJob, "onPublish"); . . ]]> </script> </config> <!-- Mis placed <branches> configuration below --> <branches> <branch event="onPublish" pipelineManager="../PrintDocDontIndex" /> </branches> </component>
The correct configuration is shown below:
<!-- Correctly placed <branches> configuration below --> <branches> <branch event="onPublish" pipelineManager="../PrintDocDontIndex" /> </branches>
<component name="SplitEndecaFileAndFeedIndividualDocs" subType="default" factoryName="aspire-groovy"> <config> <script> <![CDATA[ . . AspireDocument subDoc = new AspireDocument(); subDoc.add("text", outputBuffer.toString()); Job subJob = job.createSubJob(subDoc, job.getJobId() + "-" + subjobCount); bh.enqueue(subJob, "onPublish"); . . ]]> </script> <!-- Correctly placed <branches> configuration below --> <branches> <branch event="onPublish" pipelineManager="../PrintDocDontIndex" /> </branches> </config> </component>