У меня есть приложение весенней загрузки, которое подключается к salesforce для извлечения данных из salesforce и загрузки данных в базу данных SQL-сервера.Я пытаюсь получить все свойства из файла application.properties.У моего пароля есть @ и, следовательно, при чтении этого свойства во время выполнения я получаю «пример» в качестве пароля вместо «пример @ страна»
Eg :
Pwd = example@country
Я проверил несколько полезных ссылок, но не повезло, любая помощь приветствуется
https://docs.oracle.com/cd/E23095_01/Platform.93/ATGProgGuide/html/s0204propertiesfileformat01.html
Пакет утилит для извлечения реквизитов конфигурации.
package SFToJava.Utils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
@Configuration
public class configUtility {
@Autowired
private Environment env;
public String getProperty(String pPropertyKey) {
return env.getProperty(pPropertyKey);
}
}
файл свойств:
password = example@country
Я получаю данные в своем классе обслуживанияследующим образом:
loginParams.add(new BasicNameValuePair("client_id",configUtil.getProperty("consumerKey")));
loginParams.add(new BasicNameValuePair("client_secret", configUtil.getProperty("consumerSecret")));
loginParams.add(new BasicNameValuePair("username", configUtil.getProperty("username")));
loginParams.add(new BasicNameValuePair("password", configUtil.getProperty("password")));
Я предполагаю, что пароль должен иметь "example @ country" при анализе в списке, а не только "example".
fyi.я могу подключиться к Salesforce, напрямую используя пароль, как показано ниже
private static final String username = "******";
private static final String password = "example@coutnry";
private static final String consumerKey = "*************8";
private static final String consumerSecret = "************";
loginParams.add(new BasicNameValuePair("client_id", consumerKey));
loginParams.add(new
BasicNameValuePair("client_secret", consumerSecret));
loginParams.add(new
BasicNameValuePair("grant_type", "password"));
loginParams.add(new
BasicNameValuePair("username", username));
loginParams.add(new
BasicNameValuePair("password", password));