Propriedades
Frequentemente, é necessário definir configurações específicas para o correto funcionamento de um Resource Adapter. Essas configurações podem incluir credenciais, URLs ou qualquer outra informação essencial para sua execução.
Para evitar o uso de valores fixos no código (hardcode) ou a dependência de arquivos de configuração no servidor onde o Resource Adapter está hospedado, é possível definir um conjunto de propriedades diretamente no Admin Console. Essas propriedades são sincronizadas automaticamente com o Resource Adapter, tornando o processo mais seguro, prático e flexível.
O trecho de código abaixo demonstra o uso destas propriedades:
import java.util.Map;
import org.springframework.stereotype.Component;
import com.blazon.resourceadapter.api.provisioning.account.operations.CreateAccountOperation;
import com.blazon.resourceadapter.api.provisioning.dto.ProvisioningResult;
import com.blazon.resourceadapter.api.provisioning.tracking.util.Tracking;
import com.blazon.resourceadapter.api.properties.PropertiesService;
@Component
public class CreateAccount extends CreateAccountOperation {
@Autowired
private PropertiesService properties;
@Override
public ProvisioningResult createAccount(Map<String, Object> account, Tracking tracking) {
String url = (String) properties.get("api.url");
String username = (String) properties.get("api.username");
String password = (String) properties.get("api.password");
return null;
}
}
Sempre que for necessário acessar alguma propriedade, utilize a injeção da API PropertiesService
. Ela fornece acesso a todas as propriedades configuradas no Resource Adapter.
Definindo as properties do Resource Adapter
As properties que um Resource Adapter utiliza, devem ser definidas no arquivo resource-adapter.properties
. Esse arquivo fica localizado na pasta settings, na raíz do container do Resource Adapter. Abaixo temos um exemplo de configuração baseado no trecho de código anterior:
{
"Description" : "Resource Adapter properties definitions",
"properties" : [
{
"name" : "api.url",
"description" : "",
"value" : "http://localhost:8080/api",
"encrypt" : false
},
{
"name" : "api.usename",
"description" : "",
"value" : "api_user",
"encrypt" : false
},
{
"name" : "api.password",
"description" : "",
"value" : "$#!#$#@%",
"encrypt" : false
}
]
}
Last updated
Was this helpful?