groovyclassloader

    2热度

    2回答

    作为每ref-doc一类: 甲GroovyClassLoader保持它创建的所有类的基准,所以很容易创建内存泄漏。特别是,如果您执行相同的脚本两次,如果它是一个字符串,那么您将获得两个不同的类! 我使用一个文件作为用于解析源而是转向缓存关: GroovyCodeSource src = new GroovyCodeSource(file) src.cachable = false

    0热度

    1回答

    我在我的Java应用程序中使用GroovyScriptEngine从不同来源动态加载代码。假设我有两个文件夹sources_A\和sources_B\。 GroovyScriptEngine engine = new GroovyScriptEngine(new String[]{ "sources_A", "sources_B" }); 在每个文件夹中,我有Groovy包和类,我

    1热度

    1回答

    我对groovy脚本非常新手,但是按照一些教程,我尝试使用parseClass()方法GroovyClassLoader动态加载我的java代码中的一些groovy类。 我写了一些代码片段,它对我来说工作得很好。问题是我没有清楚地理解groovy引擎超出我的视野以及这些脚本是如何编译的? 是否有新的类获取并加载到jvm中?或者我的应用程序使用一些缓存的来源? 这里是我试图解析类: private

    0热度

    1回答

    GroovyClassloader行为的理解, ScriptEngineManager factory = new ScriptEngineManager(); ScriptEngine engine = factory.getEngineByName("groovy"); GroovyScriptEngineImpl groovyEngineImpl = (GroovyScriptEngin

    0热度

    1回答

    当我在CloudHub中运行应用程序时,Mule流中的以下脚本有以下错误。当我在Anypoint工作室上运行它时,没有问题。 我检查了部署的应用程序归档文件,并在类文件夹中编译了company.cloudtools.util.Utilities类。我不确定为什么CloudHub服务器无法找到由错误定义的类文件。 错误: org.codehaus.groovy.control.MultipleCom

    4热度

    1回答

    我用我的Java类GroovyClassLoader解析某(最好是复杂的)常规文件(在下一步将要执行):在MyClass.java final Class parsedClass = groovyClassLoader.parseClass(groovyFile); 呼叫 知道了: Groovy文件需要存储在文件系统中,因为将需要更改,恕不重新部署。 这种常规文件需要几个进口: GroovyF

    5热度

    1回答

    我想在独立的类加载器中运行groovy脚本,以便它们不会在调用类的依赖关系的上下文中执行。 Path log4j = Paths.get("..../lib/log4j-1.2.17.jar"); Path groovy = Paths.get("..../lib/groovy-all-2.1.3.jar"); RootLoader rootLoader = new RootL

    0热度

    1回答

    这是我的常规脚本: def map = ["curr_dept":codes.get("ICU_DEPT").value]; def list = getActLists(visit,"TRAN",map,[]); boolean flag = false; if(null!=list && list.size()>=1){ return true; } return fals

    0热度

    1回答

    我有一个遗留系统,广泛使用Groovy版本1.0,目前我无法将Groovy更新到更新的版本。我不时得到一个PermGen错误,因为所有的Groovy类/脚本都保存在内存中,即使没有人再使用它们。 我试图找出什么是我完成使用它们后卸载这些类的正确方法。 我用下面的代码来创建脚本对象: GroovyShell shell=new GroovyShell(); Script script = shel

    1热度

    1回答

    我正在构建一个Grails应用程序,它允许用户编写Groovy代码,然后在我的框架中执行该代码。这当然是一个巨大的安全威胁,因为用户可能输入恶意代码。 Groovy类正在与GroovyClassLoader#parseClass(String)即时编译。 我想严格限制用户编写的Groovy类可以访问的类和操作。似乎有两个常规选项,这不是相互排斥的: 1)要使用SecurityManager和政策文