我想知道是否有一种方法可以用Hybris执行groovy脚本。我知道如何用Hybris管理控制台(hAC)执行groovy脚本,但我需要一种解决方案来从java代码执行这样的脚本。最好使用修补框架的@SystemSetup,但不是必需的。(https://help.sap.com/docs/SAP_COMMERCE/d0224eca81e249cb821f2cdf45a82ace/5db22427a1d541669bc4d12793a7b672.html?locale=en-US)
我正在寻找一种类似于Impex导入的方法(例如,从核心扩展):
@SystemSetup(extension = SampleCoreConstants.EXTENSIONNAME)
public class CoreSystemSetup extends AbstractSystemSetup {
public static final String IMPORT_ACCESS_RIGHTS = "accessRights";
@SystemSetup(type = Type.ESSENTIAL, process = Process.ALL)
public void createEssentialData(final SystemSetupContext context)
{
importImpexFile(context, "/samplecore/import/common/file-name.impex");
}
@Override
@SystemSetupParameterMethod
public List<SystemSetupParameter> getInitializationOptions()
{
final List<SystemSetupParameter> params = new ArrayList<>();
params.add(createBooleanSystemSetupParameter(IMPORT_ACCESS_RIGHTS, "Import Users & Groups", true));
return params;
}
这里与SQL相同:https://www.stackextend.com/hybris/run-native-sql-query-hybris/
因此,任何人谁可以帮助我解决(或一个明确的答案,如果这是可能的或不)是受欢迎的。
谢谢你!
2条答案
按热度按时间92dk7w1h1#
可以在代码中运行groovy,甚至在SystemSetup中也可以。
您可以使用
processing
扩展中提供的hybris服务(spring bean)de.hybris.platform.scripting.engine.ScriptingLanguagesService
在代码中,这可能类似于
这将在类路径中的给定位置执行一个脚本。如果类路径中的文件中没有groovy,则可以使用其他Content类型。例如:简单脚本内容
twh00eeo2#
有许多要执行的groovy脚本。
第一种方式:
**WAY 2:**我们可以用下面简单的方法来实现。
下面是示例代码:
**方法3:**如果您想要OOB类,ScriptingJobPerformable是您可以从中引用的OOB类。
详细说明请参阅Scripting Engine