Driver 4.10.1 class loading issue with Spring Boot

XMLWordPrintableJSON

    • Type: Question
    • Resolution: Done
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • None
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • None
    • None

      Hi Team,

      We are Facing Error While Upgrading Mongo Atlas DB 6.1 from Java Spring boot Driver 4.10.1 Version. Please Help in Solution.

      Error: 

      Date of Miliseconds is :- 10 Feb 2022 18:36:16:093 +0530
      
      6935 [http-nio-8190-exec-2] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: com/mongodb/internal/diagnostics/logging/Loggers] with root cause
      
      java.lang.ClassNotFoundException: com.mongodb.internal.diagnostics.logging.Loggers
      
      at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
      
      at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
      
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
      
      at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
      
      at com.mongodb.client.internal.MongoClientImpl.<clinit>(MongoClientImpl.java:65)
      
      at com.mongodb.client.MongoClients.create(MongoClients.java:108)
      
      at com.mongodb.client.MongoClients.create(MongoClients.java:93)
      
      at com.mongodb.client.MongoClients.create(MongoClients.java:78)
      
      at com.mongodb.client.MongoClients.create(MongoClients.java:61)
      
      at com.choice.payprem.MongoDBConnection.getLatestDataFromMongoDB(MongoDBConnection.java:75)
      
      at com.choice.payprem.services.PaypremMongoServiceImpl.fetchRecentResumeJourneyData(PaypremMongoServiceImpl.java:413)
      
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      
      at java.lang.reflect.Method.invoke(Method.java:498)
      
      at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
      
      at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
      
      at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
      
      at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
      
      at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
      
      at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
      
      at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
      
      at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
      
      at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
      
      at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
      
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
      
      at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
      
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
      
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
      
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
      
      at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
      
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
      
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
      
      at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
      
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
      
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
      
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
      
      at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
      
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
      
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
      
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
      
      at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
      
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
      
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
      
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
      
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
      
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
      
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
      
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
      
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
      
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
      
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
      
      at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
      
      at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
      
      at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895)
      
      at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1722)
      
      at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
      
      at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
      
      at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
      
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      
      at java.lang.Thread.run(Thread.java:748)
      

      POM File:

      <dependencies>
      
      <dependency>
      
      <groupId>org.springframework.boot</groupId>
      
      <artifactId>spring-boot-starter-data-rest</artifactId>
      
      </dependency>
      
      <dependency>
      
      <groupId>org.springframework.boot</groupId>
      
      <artifactId>spring-boot-starter-jersey</artifactId>
      
      </dependency>
      
      <dependency>
      
      <groupId>org.springframework.boot</groupId>
      
      <artifactId>spring-boot-starter-web</artifactId>
      
      </dependency>
      
      <dependency>
      
      <groupId>org.springframework.boot</groupId>
      
      <artifactId>spring-boot-starter-tomcat</artifactId>
      
      <scope>provided</scope>
      
      </dependency>
      
      <dependency>
      
      <groupId>org.springframework.boot</groupId>
      
      <artifactId>spring-boot-starter-test</artifactId>
      
      <scope>test</scope>
      
      </dependency>
      
      <!-- https://mvnrepository.com/artifact/org.mongodb/mongodb-driver-sync -->
      
      <dependency>
      
      <groupId>org.mongodb</groupId>
      
      <artifactId>mongodb-driver-sync</artifactId>
      
      <version>4.10.2</version>
      
      </dependency>
      
      <dependency>
      
      <groupId>org.springframework.boot</groupId>
      
      <artifactId>spring-boot-configuration-processor</artifactId>
      
      <version>2.0.1.RELEASE</version>
      
      </dependency>
      
       
      
      <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
      
      <dependency>
      
      <groupId>com.google.code.gson</groupId>
      
      <artifactId>gson</artifactId>
      
      <version>2.8.9</version>
      
      </dependency>
      
      <dependency>
      
          <groupId>ch.qos.logback</groupId>
      
          <artifactId>logback-classic</artifactId>
      
          <version>1.2.11</version>
      
        </dependency>
      
       
      
      </dependencies>
      

       

      Code to Connect: 

      *public* JSONArray getLatestDataFromMongoDB(String database, String collection, Bson filter) {
      
       
      
      MongoClient mongoClient = *null*;
      
      JSONArray jrr = *new* JSONArray();
      
      *try* {
      
      mongoClient = MongoClients.{_}create{_}(_uri_);
      
       
      
      System.*_out_*.println("Connection Created");
      
      MongoCollection<Document> mongoCollection = handleDbConnection(mongoClient, database, collection);
      
       System.*_out_*.println("Connection Created Mongo Collection");
      
       
      
      FindIterable<Document> documents = mongoCollection.find(filter);
      
       
      
      *if* (documents == *null* || documents.first() == *null*) {
      
      System.*_err_*.println("No Data Found");
      
      } *else* {
      
      *for* (Document document : documents) {
      
       Document jsonDocument = document;
      
      JSONObject jb = *new* JSONObject(jsonDocument.toJson());
      
      System.*_out_*.println("jb - " + jb);
      
      jrr.put(jb);
      
      }
      
      }
      
      } *catch* (Exception e) {
      
      System.*_err_*.println("Exception Found" + e.getMessage());
      
      e.printStackTrace();
      
      *return* {*}null{*};
      
       } *finally* {
      
      *if* (mongoClient != *null*) {
      
      *try* {
      
      mongoClient.close();
      
      } *catch* (Exception e) {
      
      }
      
      }
      
      }
      
      *return* jrr;
      
      }
      
      *private* *static* String _uri_ = "mongodb://pa****:0ASf********@pl-1-ap-south-1.wohyz.mongodb.net:1024,pl-1-ap-south-1.wohyz.mongodb.net:1025,pl-1-ap-south-1.wohyz.mongodb.net:1026/?replicaSet=atla*-61gala-s*ard-0&ssl=true&authSource=admin";
      
      *private* MongoClient mongoClient = *null*;
      
      *import* org.bson.Document;
      
      *import* org.bson.conversions.Bson;
      
      *import* org.springframework.boot.configurationprocessor.json.JSONArray;
      
      *import* org.springframework.boot.configurationprocessor.json.JSONObject;
      
      *import* org.springframework.data.rest.webmvc.ResourceNotFoundException;
      
       
      
      *import* com.mongodb.client.FindIterable;
      
      *import* com.mongodb.client.MongoClient;
      
      *import* com.mongodb.client.MongoClients;
      
      *import* com.mongodb.client.MongoCollection;
      
      *import* com.mongodb.client.MongoDatabase;
      
      *import* com.mongodb.client.model.UpdateOptions;
      
      *import* com.mongodb.client.result.UpdateResult;
      

       

            Assignee:
            Slav Babanin
            Reporter:
            Sher Singh
            None
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: