ApplicationContextProvider.getApplicationContext().getBean(ConnIdBundleManager.class);
ConnectorInfo info = connIdBundleManager.getConnectorInfo(connInstance.getLocation(),
connInstance.getBundleName(), connInstance.getVersion(), connInstance.getConnectorName());
// create default configuration
APIConfiguration apiConfig = info.createDefaultAPIConfiguration();
// set connector configuration according to conninstance's
ConfigurationProperties properties = apiConfig.getConfigurationProperties();
for (ConnConfProperty property : connInstance.getConfiguration()) {
if (property.getValues() != null && !property.getValues().isEmpty()) {
properties.setPropertyValue(property.getSchema().getName(),
getPropertyValue(property.getSchema().getType(), property.getValues()));
}
}
// set pooling configuration (if supported) according to conninstance's
if (connInstance.getPoolConf() != null) {
if (apiConfig.isConnectorPoolingSupported()) {
ConnPoolConfUtil.updateObjectPoolConfiguration(
apiConfig.getConnectorPoolConfiguration(), connInstance.getPoolConf());
} else {
LOG.warn("Connector pooling not supported for {}", info);
}
}