J'ai le problème suivant: je veux faire une liste de modèles Cassandra à partir d'une liste de sessions. Cependant, le problème est qu'à l'exécution je comprends que l'objet de la session est nul. Le code i utilise est le suivant:Cassandra session null à l'exécution
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.cassandra.config.CassandraClusterFactoryBean;
import org.springframework.data.cassandra.config.CassandraSessionFactoryBean;
import org.springframework.data.cassandra.config.SchemaAction;
import org.springframework.data.cassandra.convert.CassandraConverter;
import org.springframework.data.cassandra.core.CassandraOperations;
import org.springframework.data.cassandra.core.CassandraTemplate;
import org.springframework.stereotype.Component;
@Component
public class KeyspaceSession {
@Autowired
@Qualifier("cluster")
CassandraClusterFactoryBean cluster;
@Autowired
@Qualifier("converter")
CassandraConverter converter;
public List<CassandraOperations> getTemplates(){
List<CassandraOperations> listOfTemplates = new ArrayList<>();
for(CassandraKeyspaces keyspace : CassandraKeyspaces.values()){
CassandraSessionFactoryBean session = new CassandraSessionFactoryBean();
session.setCluster(cluster.getObject());
session.setKeyspaceName(keyspace.getKeyspace());
session.setConverter(converter);
session.setSchemaAction(SchemaAction.CREATE_IF_NOT_EXISTS);
CassandraOperations op = new CassandraTemplate(session.getObject());
listOfTemplates.add(op);
}
return listOfTemplates;
}
}
Je reçois la réponse suivante du serveur:
{
"timestamp": 1505204641753,
"status": 500,
"error": "Internal Server Error",
"exception": "java.lang.IllegalArgumentException",
"message": "Session must not be null",
"path": "/getUser/10/pl"
}
J'ai une classe de configuration qui le fait, c'est pourquoi je suis injectais le cluster et le convertisseur: – Carolik
L'idée est que je veux générer les modèles et les sessions de façon dynamique et les parcourir et utiliser celui qui convient en fonction du besoin. Jusqu'à présent, je n'ai pu avoir plus de sessions en créant plusieurs modèles dans la classe Configuration, mais maintenant je veux générer la session et le modèle correspondant de manière dinamique en lisant les espaces de clés à partir d'un fichier de propriétés. – Carolik
D'accord, je comprends mieux maintenant. Cependant, cela va au-delà de mes connaissances, j'espère que quelqu'un d'autre peut vous aider. –