在ATG的支付管道中添加流程

时间:2014-09-26 09:42:59

标签: java atg commerce oracle-commerce

我是初学者

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

1 个答案:

答案 0 :(得分:0)

您可以在%DYNAMO_HOME%\..\DCS\src\config\atg\commerce\payment

中找到paymentpipeline.xml

要创建新流程,您需要实现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>

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