CppInstanceCreator#
包名:org.yuanrong.call。
public class CppInstanceCreator#
创建 cpp 有状态函数类实例的操作类。
Note
CppInstanceCreator 类是一个用于创建 C++ 类实例的 Java 函数,是接口 YR.instance(CppInstanceClass cppInstanceClass)的返回值类型。
用户可以使用 CppInstanceCreator 的 invoke 方法创建 c++ 类实例,并返回句柄类 CppInstanceHandler。
接口说明#
public CppInstanceCreator(CppInstanceClass cppInstanceClass)#
CppInstanceCreator 的构造函数。
参数:
cppInstanceClass - CppInstanceClass 类实例。
public CppInstanceCreator(CppInstanceClass cppInstanceClass, String name, String nameSpace)#
CppInstanceCreator 的构造函数。
参数:
cppInstanceClass - CppInstanceClass 类实例。
name - 具名实例的实例名。当仅存在 name 时,实例名将设置成 name。
nameSpace - 具名实例的命名空间。当 name 和 nameSpace 均存在时,实例名将拼接成 nameSpace-name。该字段目前仅用做拼接,namespace 隔离等相关功能待后续补全。
public CppInstanceHandler invoke(Object… args) throws YRException#
CppInstanceHandler 类的成员方法,用于创建 cpp 类实例。
参数:
args - invoke 调用类实例创建所需的入参。
返回:
CppInstanceHandler 类句柄。
抛出:
YRException - 统一抛出的异常类型。
public CppInstanceCreator setUrn(String urn)#
java 调用 cpp 有状态函数时,为函数设置 functionUrn。
CppInstanceHandler cppInstance = YR.instance(CppInstanceClass.of("Counter","FactoryCreate"))
.setUrn("sn:cn:yrk:default:function:0-opc-opc:$latest").invoke(1);
ObjectRef ref1 = cppInstance.function(CppInstanceMethod.of("Add", int.class)).invoke(5);
int res = (int)YR.get(ref1, 100);
参数:
urn - 函数 urn,可在函数部署之后获取。
返回:
CppInstanceCreator,内置 invoke 方法,可对该 cpp 函数类实例进行创建。
public CppInstanceCreator options(InvokeOptions opt)#
CppInstanceCreator 类的成员方法,用于动态修改 cpp 函数实例创建的参数。
InvokeOptions invokeOptions = new InvokeOptions();
invokeOptions.setCpu(1500);
invokeOptions.setMemory(1500);
CppInstanceCreator cppInstanceCreator = YR.instance(CppInstanceClass.of("Counter","FactoryCreate")).setUrn("sn:cn:yrk:default:function:0-opc-opc:$latest").options(invokeOptions);
CppInstanceHandler cppInstanceHandler = cppInstanceCreator.invoke(1);
ObjectRef ref = cppInstanceHandler.function(CppInstanceMethod.of("Add", int.class)).invoke(5);
int res = (int)YR.get(ref, 100);
参数:
opt - 函数调用选项,用于指定调用资源等功能。
返回:
CppInstanceCreator 类句柄。