Hello Robin
I encountered a failure from a "Send Email" step. I have a user group called "admins_to_notify". And I use the drop down menu to select it for "To List".
Then the input bar becomes
util.join(system.groupManager.getMemberEmails("admins_to_notify"))
But this doesn't work, it fails with the following error:
ERROR - Step 'master>generate release notes>send release notes via email' is failed: Failed to evaluate below expression in configuration 'root/.../System_release_daily':
mvel:util.join(system.groupManager.getMemberEmails("admins_to_notify"))
And more error logs:
TRACE - Stack trace for the failure
com.pmease.quickbuild.QuickbuildException: Failed to evaluate below expression in configuration 'root/.../System_release_daily':
mvel:util.join(system.groupManager.getMemberEmails("admins_to_notify"))
at com.pmease.quickbuild.util.ExceptionUtils.wrapException(ExceptionUtils.java:89)
at com.pmease.quickbuild.DefaultScriptEngine.evaluate(DefaultScriptEngine.java:321)
at com.pmease.quickbuild.DefaultScriptEngine.interpolate(DefaultScriptEngine.java:93)
at com.pmease.quickbuild.DefaultScriptEngine.interpolate(DefaultScriptEngine.java:79)
at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:269)
at com.pmease.quickbuild.plugin.basis.SendMailStep$$EnhancerByCGLIB$$7c6de5f7.getToList(<generated>)
at com.pmease.quickbuild.plugin.basis.SendMailStep.run(SendMailStep.java:126)
at com.pmease.quickbuild.plugin.basis.SendMailStep$$EnhancerByCGLIB$$7c6de5f7.CGLIB$run$0(<generated>)
at com.pmease.quickbuild.plugin.basis.SendMailStep$$EnhancerByCGLIB$$7c6de5f7$$FastClassByCGLIB$$152fb982.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:261)
at com.pmease.quickbuild.plugin.basis.SendMailStep$$EnhancerByCGLIB$$7c6de5f7.run(<generated>)
at com.pmease.quickbuild.stepsupport.Step.doExecute(Step.java:664)
at com.pmease.quickbuild.stepsupport.Step.execute(Step.java:570)
at com.pmease.quickbuild.stepsupport.StepExecutionJob.executeStepAwareJob(StepExecutionJob.java:31)
at com.pmease.quickbuild.stepsupport.StepAwareJob.executeBuildAwareJob(StepAwareJob.java:56)
at com.pmease.quickbuild.BuildAwareJob.execute(BuildAwareJob.java:77)
at com.pmease.quickbuild.grid.GridJob.run(GridJob.java:129)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: [Error: system.groupManager.getMemberEmails("admins_to_notify"): failed to lazily initialize a collection of role: com.pmease.quickbuild.model.Group.memberships, could not initialize proxy - no Session]
[Near : {... Unknown ....}]
^
[Line: 1, Column: 0]
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:388)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:135)
at org.mvel2.optimizers.dynamic.DynamicOptimizer.optimizeAccessor(DynamicOptimizer.java:66)
at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:139)
at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:862)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:326)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:135)
at org.mvel2.optimizers.dynamic.DynamicOptimizer.optimizeAccessor(DynamicOptimizer.java:66)
at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:139)
at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:42)
at org.mvel2.MVEL.executeExpression(MVEL.java:1057)
at com.pmease.quickbuild.plugin.basis.BasisPlugin$30.evaluate(BasisPlugin.java:314)
at com.pmease.quickbuild.DefaultScriptEngine.evaluate(DefaultScriptEngine.java:314)
... 21 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:987)
at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:326)
... 34 more
Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.pmease.quickbuild.model.Group.memberships, could not initialize proxy - no Session
at org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:576)
at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:215)
at org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:555)
at org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:143)
at org.hibernate.collection.internal.PersistentBag.iterator(PersistentBag.java:294)
at com.pmease.quickbuild.entitymanager.impl.DefaultGroupManager.getMemberEmails(DefaultGroupManager.java:188)
at com.pmease.quickbuild.persistence.SessionInterceptor.invoke(SessionInterceptor.java:49)
In the group, the members all have valid email address. If I put actual email address in the "To List", it works.
Why would this happen? How should I use the "Send Email" step?
Thank you