Je tente d'écrire à mongodb à partir d'une application déployée dans JBOSS, c'est ce que je reçois, y at-il quelque chose que je dois faire dans mongodb? Cela semble être un problème de simultanéité des discussions dans les forums.Exception exécutant la commande isMaster sur mongodb
14:00:07,083 WARNING [com.mongodb.tcp] (Camel (camel-2) thread #3 - JmsConsumer[barTopic]) Exception executing isMaster command on /127.0.0.1:27017: java.lang.NullPointerException
at com.mongodb.DBPort._open(DBPort.java:203) [mongo-java-driver-2.9.1.jar:]
at com.mongodb.DBPort.go(DBPort.java:107) [mongo-java-driver-2.9.1.jar:]
at com.mongodb.DBPort.go(DBPort.java:88) [mongo-java-driver-2.9.1.jar:]
at com.mongodb.DBPort.findOne(DBPort.java:143) [mongo-java-driver-2.9.1.jar:]
at com.mongodb.DBPort.runCommand(DBPort.java:148) [mongo-java-driver-2.9.1.jar:]
at com.mongodb.DBTCPConnector.initDirectConnection(DBTCPConnector.java:539) [mongo-java-driver-2.9.1.jar:]
at com.mongodb.Mongo.getMaxBsonObjectSize(Mongo.java:600) [mongo-java-driver-2.9.1.jar:]
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:233) [mongo-java-driver-2.9.1.jar:]
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:205) [mongo-java-driver-2.9.1.jar:]
at com.mongodb.DBCollection.insert(DBCollection.java:57) [mongo-java-driver-2.9.1.jar:]
at com.mongodb.DBCollection.insert(DBCollection.java:100) [mongo-java-driver-2.9.1.jar:]
at com.magick.magicktrader.BarServiceBean.addBarToMongoDB(BarServiceBean.java:196) [magicktrader.jar:0.6.0-SNAPSHOT]
at com.magick.magicktrader.BarServiceBean.getBar(BarServiceBean.java:40) [magicktrader.jar:0.6.0-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_10]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_10]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_10]
at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_10]
La méthode call
MongoURI uri = null;
uri = new MongoURI("mongodb://localhost:27017");
try{
mongo = new Mongo(uri);
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//prop.getProperty("database")
db = mongo.getDB("charts");
db.requestStart();
//prop.getProperty("collection")
dbCollection = db.getCollection("bars");
/**
* Bar Structure - attributes
*
* symbol,low,high
* open,close,time
* volume;
**/
for (Bar bar : barList) {
document = new BasicDBObject();
document.put("symbol", bar.getSymbol());
document.put("low", bar.getLow());
document.put("high", bar.getHigh());
document.put("open", bar.getOpen());
document.put("close", bar.getClose());
document.put("time", bar.getTime());
document.put("volume", bar.getVolume());
//dbCollection.insert(document);
//prop.getProperty("collection").trim()
dbCollection.getCollection("bars");
dbCollection.save(document, WriteConcern.NORMAL);
}
De quel problème de concurrence parlez-vous? Un problème avec le pilote Java? Qu'est-ce que "écrire" essayez-vous? –
@Mark Hillick, en quelque sorte je suis mélangé, j'ai un appel de méthode qui fonctionne quand je fais une méthode principale, mais ne fonctionne pas quand je lance ceci dans jboss, laissez-moi ajouter l'appel de méthode dans la question, initialement jboss, mais j'ai fourni les dépendances du module mais je suis toujours coincé –
Je ne suis pas familier avec jboss donc je ne peux pas vraiment vous aider, désolé :(Votre méthode crée une seconde instance de MongoDB, il ne devrait y avoir qu'une seule instance MongoDB créée. –