0

我是初学者

我必须向支付管道(paymentpipeline.xml)添加一些流程,因为我必须做一些集成工作。请让我知道如何将流程添加到支付管道以及如何调用它们?此外,我无法在我的项目中找到 paymentpipeline.xml。我需要创建它还是在 commercepipeline.xml 中进行更改?谢谢

4

1 回答 1

0

您可以在中找到 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>

根据您的要求,您可能必须将此管道链接添加到现有管道链中,而不是创建新链。

于 2014-10-09T03:17:36.283 回答