java.lang.NullPointerException

JIRA | Gregory DH Lee | 6 years ago
  1. 0

    Java Driver with replica sets

    Google Groups | 5 years ago | Roland Kargl
    java.lang.NullPointerException
  2. 0

    NullPointerExceptions after last night's deployment

    Google Groups | 6 years ago | bradford
    java.lang.NullPointerException
  3. 0

    [mongodb-user] Java Driver with replica sets

    Google Groups | 5 years ago | Roland Kargl
    java.lang.NullPointerException
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    [mongodb-user] NullPointerExceptions after last night's deployment

    Google Groups | 6 years ago | bradford
    java.lang.NullPointerException
  6. 0

    I had redeployed spring web application onto glassfish 3.1, I got endless NullPointerException at at com.mongodb.OutMessage.reset(OutMessage.java:73). (you can also refer this page - http://groups.google.com/group/mongodb-user/browse_thread/thread/a51a1f5f3850ba46/74272391a3ee37ab?hl=en&lnk=gst&q=endless#74272391a3ee37ab ) Here is server log: [#|2011-05-12T01:05:37.251+0900|SEVERE|glassfish3.1|com.mongodb.ReplicaSetS tatus|_ThreadID=27;_ThreadName=Thread-1;|unexpected error getting config from node: localhost:10001 java.lang.NullPointerException at com.mongodb.OutMessage.reset(OutMessage.java:73) at com.mongodb.OutMessage.<init>(OutMessage.java:51) at com.mongodb.OutMessage.query(OutMessage.java:38) at com.mongodb.DBPort.findOne(DBPort.java:142) at com.mongodb.ReplicaSetStatus$Node.update(ReplicaSetStatus.java:156) at com.mongodb.ReplicaSetStatus.updateAll(ReplicaSetStatus.java:277) at com.mongodb.ReplicaSetStatus$Updater.run(ReplicaSetStatus.java:238) |#] How to reproduce this issue: 1. deploy application to glassfish 2. redeploy same application to glassfish (or, drop the application from the glassfish) 3. you can get that exception endless I inject MongoDB Connecter as spring bean. <bean id="MongoConnector" class="jwdm.core.bean.MongoConnector" p:host="localhost" p:port="10001"> Here is full code of MongoConnector (as Spring bean): public class MongoConnector { private Mongo mongoDB; private String host; private String port; // Return an instance of Mongo public Mongo getMongo() { logger.debug("Retrieving MongoDB"); if (mongoDB == null) { try { List<ServerAddress> addrs = new ArrayList<ServerAddress>(); addrs.add(new ServerAddress(host, Integer.parseInt(port))); mongoDB = new Mongo(addrs); } catch (UnknownHostException e) { logger.error(e.toString()); } catch (MongoException e) { logger.error(e.toString()); } } return mongoDB; } // Retrieve a db public DB getDB(String dbname) { logger.debug("Retrieving db: " + dbname); return getMongo().getDB(dbname); } // Retrieve a collection public DBCollection getCollection(String dbname, String collection) { logger.debug("Retrieving collection: " + collection); return getDB(dbname).getCollection(collection); } ... getter , setter ... } </bean> Before using spring bean style, I was using static factory style without spring. But it produces same exception. Here is static factory style code: public class MongoDBFactory { protected static Logger logger = LoggerFactory.getLogger(MongoDBFactory.class); private static Mongo mongoDB; // Make sure no one can instantiate our factory private MongoDBFactory() { } // Return an instance of Mongo public static Mongo getMongo() { logger.debug("Retrieving MongoDB"); if (mongoDB == null) { try { List<ServerAddress> addrs = new ArrayList<ServerAddress>(); addrs.add(new ServerAddress("localhost", 10001)); //addrs.add(new ServerAddress("leewin12.cafe24.com", 10001)); mongoDB = new Mongo(addrs); } catch (UnknownHostException e) { logger.error(e.toString()); } catch (MongoException e) { logger.error(e.toString()); } } return mongoDB; } // Retrieve a db public static DB getDB(String dbname) { logger.debug("Retrieving db: " + dbname); return getMongo().getDB(dbname); } // Retrieve a collection public static DBCollection getCollection(String dbname, String collection) { logger.debug("Retrieving collection: " + collection); return getDB(dbname).getCollection(collection); } } Thank you for your helps, Greg

    JIRA | 6 years ago | Gregory DH Lee
    java.lang.NullPointerException

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.lang.NullPointerException

      No message provided

      at com.mongodb.OutMessage.reset()
    2. MongoDB Java Driver
      ReplicaSetStatus$Updater.run
      1. com.mongodb.OutMessage.reset(OutMessage.java:73)
      2. com.mongodb.OutMessage.<init>(OutMessage.java:51)
      3. com.mongodb.OutMessage.query(OutMessage.java:38)
      4. com.mongodb.DBPort.findOne(DBPort.java:142)
      5. com.mongodb.ReplicaSetStatus$Node.update(ReplicaSetStatus.java:156)
      6. com.mongodb.ReplicaSetStatus.updateAll(ReplicaSetStatus.java:277)
      7. com.mongodb.ReplicaSetStatus$Updater.run(ReplicaSetStatus.java:238)
      7 frames