Mule SDK 问题 - 无法使用@MetadataKeyId 获取元数据的密钥
Mule SDK Problem - Unable to fetch keys for the metadata using @MetadataKeyId
我正在使用 Mule SDK 开发自定义连接器。我正在努力获取必要的元数据。以下是我使用的两个片段:
WeatherConnectrOperations.java:
public class WeatherConnectrOperations {
public void select(@MetadataKeyId(RecordKeysResolver.class) String type) {
}
}
RecordKeysResolver.java:
public class RecordKeysResolver implements TypeKeysResolver {
@Override
public String getCategoryName() {
return "Records";
}
@Override
public Set<MetadataKey> getKeys(MetadataContext context) throws MetadataResolvingException, ConnectionException {
System.out.println("Hello");
List<String> keyIds = Arrays.asList("Author_id", "BookList_id", "Book_id");
HashSet<MetadataKey> keys = new HashSet<>();
for (String id : keyIds) {
MetadataKeyBuilder builder = MetadataKeyBuilder.newKey(id);
builder.withDisplayName(StringUtils.removeEnd(id, "_id"));
keys.add(builder.build());
}
return keys;
}
}
我的问题是,类型字段没有填充必要的键
我按照这个文档做 - https://docs.mulesoft.com/mule-sdk/1.1/metadata-keys
文档中没有提到,但元数据键似乎无法解析,除非有匹配的 Input/OutputTypeResolver。
确保匹配的 Input/OutputTypeResolver 具有与 KeyResolver 相同的 CategoryName 并且我还发现 Operation 方法中的变量名称应该与 Input/OutputTypeResolver.
相同
我猜逻辑是,如果您没有元数据解析器,则不需要元数据密钥。如果您只需要一个值的下拉列表,您可以使用 Value Providers (https://docs.mulesoft.com/mule-sdk/1.1/value-providers)
我正在使用 Mule SDK 开发自定义连接器。我正在努力获取必要的元数据。以下是我使用的两个片段: WeatherConnectrOperations.java:
public class WeatherConnectrOperations {
public void select(@MetadataKeyId(RecordKeysResolver.class) String type) {
}
}
RecordKeysResolver.java:
public class RecordKeysResolver implements TypeKeysResolver {
@Override
public String getCategoryName() {
return "Records";
}
@Override
public Set<MetadataKey> getKeys(MetadataContext context) throws MetadataResolvingException, ConnectionException {
System.out.println("Hello");
List<String> keyIds = Arrays.asList("Author_id", "BookList_id", "Book_id");
HashSet<MetadataKey> keys = new HashSet<>();
for (String id : keyIds) {
MetadataKeyBuilder builder = MetadataKeyBuilder.newKey(id);
builder.withDisplayName(StringUtils.removeEnd(id, "_id"));
keys.add(builder.build());
}
return keys;
}
}
我的问题是,类型字段没有填充必要的键
我按照这个文档做 - https://docs.mulesoft.com/mule-sdk/1.1/metadata-keys
文档中没有提到,但元数据键似乎无法解析,除非有匹配的 Input/OutputTypeResolver。
确保匹配的 Input/OutputTypeResolver 具有与 KeyResolver 相同的 CategoryName 并且我还发现 Operation 方法中的变量名称应该与 Input/OutputTypeResolver.
相同我猜逻辑是,如果您没有元数据解析器,则不需要元数据密钥。如果您只需要一个值的下拉列表,您可以使用 Value Providers (https://docs.mulesoft.com/mule-sdk/1.1/value-providers)