在 Corda 中注册 Oracle 服务时获取 IllegalArgumentException
Getting IllegalArgumentException while registering Oracle Service in Corda
我已经使用@CordaService 注释创建了 Oracle 服务
我在安装 Corda 服务时出现异常。
它不会获得定义的服务类型,在构造函数的第一个参数中的 List 对象中获得大小 0。
public NumberVerifierOracle(PluginServiceHub 服务){
这(services.getMyInfo().serviceIdentities(NumberVerifierOracleType.getNumberVerifierOracleType().getServiceType()).get(0),服务);
}
定义的服务类型是:
public class NumberVerifierOracleType {
私有静态服务类型服务类型;
private static NumberVerifierOracleType numberVerifierOracleType = new NumberVerifierOracleType();
private NumberVerifierOracleType(){
serviceType = ServiceType.Companion.getServiceType("com.template.oracle.service","numberVerifierService_NumberVerifierOracle");
}
public static NumberVerifierOracleType getNumberVerifierOracleType() {
return numberVerifierOracleType;
}
public ServiceType getServiceType() {
return serviceType;
}
}
包层次结构是:
com.template.oracle.service.NumberVerifierOracleclass
I have resolved this error by making service with Public modifier.
Like this:
public static ServiceType type;
static{
type= NumberVerifierOracleType.getNumberVerifierOracleType().getServiceType();
}
It will not work if we have private modifier and use directly getter method.
我已经使用@CordaService 注释创建了 Oracle 服务
我在安装 Corda 服务时出现异常。
它不会获得定义的服务类型,在构造函数的第一个参数中的 List 对象中获得大小 0。
public NumberVerifierOracle(PluginServiceHub 服务){ 这(services.getMyInfo().serviceIdentities(NumberVerifierOracleType.getNumberVerifierOracleType().getServiceType()).get(0),服务); }
定义的服务类型是: public class NumberVerifierOracleType { 私有静态服务类型服务类型; private static NumberVerifierOracleType numberVerifierOracleType = new NumberVerifierOracleType();
private NumberVerifierOracleType(){
serviceType = ServiceType.Companion.getServiceType("com.template.oracle.service","numberVerifierService_NumberVerifierOracle");
}
public static NumberVerifierOracleType getNumberVerifierOracleType() {
return numberVerifierOracleType;
}
public ServiceType getServiceType() {
return serviceType;
}
}
包层次结构是: com.template.oracle.service.NumberVerifierOracleclass
I have resolved this error by making service with Public modifier.
Like this:
public static ServiceType type;
static{
type= NumberVerifierOracleType.getNumberVerifierOracleType().getServiceType();
}
It will not work if we have private modifier and use directly getter method.