Toutes les méthodes de requête prennent en charge un paramètre de configuration de demande facultatif (RequestConfig ou InsertRequestConfig) pour personnaliser le comportement des requêtes effectuées à la base de données. Ce paramètre vous permet de spécifier divers réglages, tels que le nom du graphset, le délai d'attente, et l'hôte, afin d'adapter vos requêtes à vos besoins.
RequestConfig
RequestConfig définit les réglages nécessaires lors de l'envoi de requêtes non-d'insertion à la base de données.
public class Main {
    public static void main(String[] args) {
        UltipaConfiguration myConfig = UltipaConfiguration.config()
            // Exemple d'URI : .hosts("mqj4zouys.us-east-1.cloud.ultipa.com:60010")
            .hosts("192.168.1.85:60061,192.168.1.86:60061,192.168.1.87:60061")
            .username("<username>")
            .password("<password>");
        UltipaClientDriver driver = null;
        try {
            driver = new UltipaClientDriver(myConfig);
            Connection client = driver.getConnection();
            // Spécifie 'amz' comme graphset cible et règle l'utilisation du noeud leader du cluster
            RequestConfig requestConfig = new RequestConfig();
            requestConfig.setGraphName("amz");
            requestConfig.setUseMaster(true);
        
            Response response = client.uql("find().nodes() as nodes return nodes{*} limit 10", requestConfig);
            List<Node> nodeList = response.alias("nodes").asNodes();
            for(int i = 0; i < nodeList.size(); i ++){
                System.out.println("node " + i + " is: " + nodeList.get(i).toJson());
            }
        } finally {
            if (driver != null) {
                driver.close();
            }
        }
    }
}
RequestConfig a les champs suivants :
| Champ | Type | Par défaut | Description | 
|---|---|---|---|
| graphName | String | Nom du graph à utiliser, ou le defaultGraphconfiguré lors de l'établissement de la connexion s'il n'est pas défini. | |
| timeout | Integer | 15 | Délai d'attente en secondes pour la requête, ou le timeoutconfiguré lors de l'établissement de la connexion s'il n'est pas défini. | 
| host | String | Envoie la requête à un noeud hôte désigné, ou à un noeud hôte aléatoire s'il n'est pas défini. | |
| useMaster | Boolean | false | Envoie la requête au noeud leader pour garantir une lecture cohérente si défini à vrai. | 
| threadNum | Integer | Nombre de threads. | 
InsertRequestConfig
InsertRequestConfig définit les réglages nécessaires lors de l'envoi de requêtes d'insertion ou de suppression de données à la base de données.
public class Main {
    public static void main(String[] args) {
        UltipaConfiguration myConfig = UltipaConfiguration.config()
            // Exemple d'URI : .hosts("mqj4zouys.us-east-1.cloud.ultipa.com:60010")
            .hosts("192.168.1.85:60061,192.168.1.86:60061,192.168.1.87:60061")
            .username("<username>")
            .password("<password>");
        UltipaClientDriver driver = null;
        Connection client;
        try {
            driver = new UltipaClientDriver(myConfig);
            client = driver.getConnection();
            // Spécifie 'test' comme graphset cible et règle le mode d'insertion sur OVERWRITE
            InsertRequestConfig insertRequestConfig = new InsertRequestConfig();
            insertRequestConfig.setGraphName("test");
            insertRequestConfig.setInsertType(Ultipa.InsertType.OVERWRITE);
        
            List<Node> nodeList = new ArrayList<>();
            Node node1 = new Node();
            node1.setSchema("client");
            node1.setID("CLIENT00001");
            nodeList.add(node1);
            Node node2 = new Node();
            node2.setSchema("card");
            node2.setID("CARD00004");
            nodeList.add(node2);
          
            client.insertNodesBatchAuto(nodeList, insertRequestConfig);
        } finally {
            if (driver != null) {
                driver.close();
            }
        }
    }
}
InsertRequestConfig a les champs suivants :
| Champ | Type | Par défaut | Description | 
|---|---|---|---|
| graphName | String | Nom du graph à utiliser, ou le defaultGraphconfiguré lors de l'établissement de la connexion s'il n'est pas défini. | |
| timeout | Integer | 15 | Délai d'attente en secondes pour la requête, ou le timeoutconfiguré lors de l'établissement de la connexion s'il n'est pas défini. | 
| host | String | Envoie la requête à un noeud hôte désigné, ou à un noeud hôte aléatoire s'il n'est pas défini. | |
| useMaster | Boolean | false | Envoie la requête au noeud leader pour garantir une lecture cohérente si défini à vrai. | 
| insertType | Ultipa.InsertType | NORMAL | Mode d'insertion ( NORMAL,UPSERT,OVERWRITE) | 
| silent | Boolean | true | S'il faut rester silencieux après une insertion réussie, c'est-à-dire, s'il faut retourner les noeuds ou arêtes insérés. | 
| createNodeIfNotExist | Boolean | false | S'il faut créer les noeuds de début/fin d'une arête si les noeuds finaux n'existent pas dans le graph. | 
 
        