我是初学者
我必须向支付管道(paymentpipeline.xml)添加一些流程,因为我必须做一些集成工作。请让我知道如何将流程添加到支付管道以及如何调用它们?此外,我无法在我的项目中找到 paymentpipeline.xml。我需要创建它还是在 commercepipeline.xml 中进行更改?谢谢
我是初学者
我必须向支付管道(paymentpipeline.xml)添加一些流程,因为我必须做一些集成工作。请让我知道如何将流程添加到支付管道以及如何调用它们?此外,我无法在我的项目中找到 paymentpipeline.xml。我需要创建它还是在 commercepipeline.xml 中进行更改?谢谢
您可以在中找到 paymentpipeline.xml%DYNAMO_HOME%\..\DCS\src\config\atg\commerce\payment
要创建一个新流程,您需要实现 PipelineProcessor。
import atg.nucleus.logging.ApplicationLoggingImpl;
import atg.service.pipeline.PipelineProcessor;
public class MyProcessor extends ApplicationLoggingImpl implements PipelineProcessor
{
public int[] getRetCodes()
{
return new int{1,2};
}
public int runProcess(final Object pParam, final PipelineResult pResult) throws Exception
{
// do what ever you wish to do here
//1 is transaction status
return 1;
}
}
这将创建一个将在调用管道链时调用的类。接下来需要的是您需要创建一个属性文件来创建一个组件。它通常看起来像这样。
$class=/demo/atg/order/processor/MyProcessor
$scope=global
修改 PipelinePayment.xml 并添加一个新的管道链。要调用链中的单个处理器,请调用 PipelineManager.runProcess 并传递创建的处理器的链。
<pipelinechain name=" lastExistingchain" transaction="TX_REQUIRED" headlink="sampleDemoLink">
<pipelinelink name="sampleDemoLink" transaction="TX_REQUIRED">
<processor jndi="demo/atg/order/processor/MyProcessor"/>
</pipelinelink>
</pipelinechain>
根据您的要求,您可能必须将此管道链接添加到现有管道链中,而不是创建新链。