Gli oggetti PreparedStatement sono thread-safe. Puoi mutarli (impostando il livello di coerenza predefinito per esempio) in modi che potrebbero portare a incongruenze se più thread lo facevano simultaneamente, ma questa è una cosa ancor più importante.
Le istruzioni preparate sono fondamentalmente wrapper attorno a un ID e metadati e il server manterrà l'istruzione preparata per tutto il tempo che è attivo (ma un arresto anomalo del nodo o riavvio significherà che è stato perso e deve essere ripreparato). In teoria una dichiarazione preparata può essere serializzata e deserializzata da qualche altra parte e funziona ancora, un po 'non la consiglierei.
Le istruzioni preparate sono locali a un nodo e, come ho già detto, non sopravvivono a riavvii, quindi se le manterrai intorno devi essere sicuro di pulirle quando le connessioni falliscono oi nodi si riavviano. Cercherò di esaminarli allo stesso modo in cui estensioni le connessioni, ricrearle su connessioni e ricollegamenti. Forse non un ottimo consiglio, ma dipende molto da come è strutturata la tua applicazione.
Penso che le istruzioni preparate non siano solo specifiche del nodo, ma siano condivise tra i cluster di Cassandra. – pinkpanther