在Apigee JavaCallouts中使用IOIntensive

时间:2014-01-27 21:56:13

标签: apigee

是否应在Apigee Edge Java Callout中的所有引用类中使用IOIntensive Annotation,或者仅在实现com.apigee.flow.execution.spi.Execution的类中使用

For Instance -

@IOIntensive
public class Apples implements Execution {

public ExecutionResult execute(MessageContext messageContext, ExecutionContext executionContext) {

  Fruit.giveMeWorms();
  return ExecutionResult.SUCCESS;
}

public class Fruit {

  public static final giveMeWorms(){
    //do something io intensive
  }
}

在这种情况下,Fruit类还应该使用IOIntensive属性吗?

2 个答案:

答案 0 :(得分:1)

您应该只注释JavaCallout策略引用的类。没有其他类应该注释,否则你会得到Api代理错误。

@IOIntensive
public class Apples implements Execution {
....
}

答案 1 :(得分:0)

关于@IOIntensive的使用: 我认为仅注释需要类似异步行为的类才能注释为“IOINTENSIVE”是有意义的。因为内部发生的是一个单独的轻量级线程被分配来做到这一点,提高了应用程序的整体性能(apiproxy)。

正如abhishek所说,你应该只注释JavaCallout政策所引用的类。没有其他类应该注释,否则你会得到Api代理错误。