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 defaultGraph configuré 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 timeout configuré 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 defaultGraph configuré 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 timeout configuré 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. |