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
		}
  ]
}

Essas propriedades são carregas assim que o Resource Adapter inicializa e ficam disponíveis no Admin console. Após definidas, é importante que as futuras alterações dessas propriedades sejam realizadas apenas no Admin console.

Last updated

Was this helpful?