it-swarm.com.de

Mongo versucht, automatisch eine Verbindung zum Port 27017 (localhost) herzustellen.

Ich verwende Spring Rest und Mongo in Maven, um einen Webdienst zu erstellen, der eine Verbindung zu einem Server herstellt. Das Problem ist, dass ich keinen Code für Mongo geschrieben habe und es versucht, sich mit localhost zu verbinden und mir eine MongoSocketOpenException zu werfen. Der einzige Code, den ich geschrieben habe, ist ein aus zwei Zeilen bestehender Code, der von main ausgeht. Dies ist der Stacktrace:

2015-12-22 12:46:43.193  INFO 5720 --- [           main] fhirepsos.ws.Server                      : Starting Server on HarisPC with PID 5720 (C:\Users\Haris\workspace\FHIRtoepSOSConversion\target\classes started by Haris in C:\Users\Haris\workspace\FHIRtoepSOSConversion)
2015-12-22 12:46:43.197  INFO 5720 --- [           main] fhirepsos.ws.Server                      : No profiles are active
2015-12-22 12:46:43.260  INFO 5720 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot[email protected]31f924f5: startup date [Tue Dec 22 12:46:43 EET 2015]; root of context hierarchy
2015-12-22 12:46:44.007  INFO 5720 --- [           main] o.s.b.f.s.DefaultListableBeanFactory     : Overriding bean definition for bean 'beanNameViewResolver' with a different definition: replacing [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration$WhitelabelErrorViewConfiguration; factoryMethodName=beanNameViewResolver; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/web/ErrorMvcAutoConfiguration$WhitelabelErrorViewConfiguration.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter; factoryMethodName=beanNameViewResolver; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter.class]]
2015-12-22 12:46:44.735  INFO 5720 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 9001 (http)
2015-12-22 12:46:44.750  INFO 5720 --- [           main] o.Apache.catalina.core.StandardService   : Starting service Tomcat
2015-12-22 12:46:44.751  INFO 5720 --- [           main] org.Apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.0.28
2015-12-22 12:46:44.865  INFO 5720 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2015-12-22 12:46:44.866  INFO 5720 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1610 ms
2015-12-22 12:46:45.161  INFO 5720 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean        : Mapping servlet: 'dispatcherServlet' to [/]
2015-12-22 12:46:45.166  INFO 5720 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'characterEncodingFilter' to: [/*]
2015-12-22 12:46:45.166  INFO 5720 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2015-12-22 12:46:45.167  INFO 5720 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2015-12-22 12:46:45.167  INFO 5720 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'requestContextFilter' to: [/*]
2015-12-22 12:46:45.393  INFO 5720 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot[email protected]31f924f5: startup date [Tue Dec 22 12:46:43 EET 2015]; root of context hierarchy
2015-12-22 12:46:45.467  INFO 5720 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<Java.util.Map<Java.lang.String, Java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2015-12-22 12:46:45.468  INFO 5720 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest)
2015-12-22 12:46:45.499  INFO 5720 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2015-12-22 12:46:45.499  INFO 5720 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2015-12-22 12:46:45.539  INFO 5720 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2015-12-22 12:46:45.726  INFO 5720 --- [           main] org.mongodb.driver.cluster               : Cluster created with settings {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
2015-12-22 12:46:45.796  INFO 5720 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2015-12-22 12:46:45.874  INFO 5720 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 9001 (http)
2015-12-22 12:46:45.878  INFO 5720 --- [           main] fhirepsos.ws.Server                      : Started Server in 3.033 seconds (JVM running for 3.383)
2015-12-22 12:46:46.764  INFO 5720 --- [localhost:27017] org.mongodb.driver.cluster               : Exception in monitor thread while connecting to server localhost:27017

com.mongodb.MongoSocketOpenException: Exception opening socket
    at com.mongodb.connection.SocketStream.open(SocketStream.Java:63) ~[mongo-Java-driver-3.2.0.jar:na]
    at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.Java:114) ~[mongo-Java-driver-3.2.0.jar:na]
    at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.Java:128) ~[mongo-Java-driver-3.2.0.jar:na]
    at Java.lang.Thread.run(Unknown Source) [na:1.8.0_65]
Caused by: Java.net.ConnectException: Connection refused: connect
    at Java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_65]
    at Java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) ~[na:1.8.0_65]
    at Java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) ~[na:1.8.0_65]
    at Java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) ~[na:1.8.0_65]
    at Java.net.AbstractPlainSocketImpl.connect(Unknown Source) ~[na:1.8.0_65]
    at Java.net.PlainSocketImpl.connect(Unknown Source) ~[na:1.8.0_65]
    at Java.net.SocksSocketImpl.connect(Unknown Source) ~[na:1.8.0_65]
    at Java.net.Socket.connect(Unknown Source) ~[na:1.8.0_65]
    at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.Java:50) ~[mongo-Java-driver-3.2.0.jar:na]
    at com.mongodb.connection.SocketStream.open(SocketStream.Java:58) ~[mongo-Java-driver-3.2.0.jar:na]
    ... 3 common frames omitted  

Das ist meine pom.xml

<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>fhirepsos.ws</groupId>
  <artifactId>FHIRtoepSOSConversion</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>FHIR to epSOS Conversion</name>
  <parent>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-parent</artifactId>
       <version>1.3.0.RELEASE</version>
  </parent>
  <dependencies>
   <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
   </dependency> 
   <dependency>
       <groupId>org.mongodb</groupId>
       <artifactId>mongo-Java-driver</artifactId>
       <version>3.2.0</version>
   </dependency>     
   <dependency>
       <groupId>ca.uhn.hapi.fhir</groupId>
       <artifactId>hapi-fhir-base</artifactId>
       <version>1.3</version>
   </dependency>
   <dependency>
       <groupId>ca.uhn.hapi.fhir</groupId>
       <artifactId>hapi-fhir-structures-dstu2</artifactId>
       <version>1.3</version>
   </dependency>        
  </dependencies>
  <properties>
      <Java.version>1.8</Java.version>
  </properties>
  <build>
      <plugins>
          <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
      </plugins>
  </build>
  <repositories>
      <repository>
          <id>spring-releases</id>
          <url>https://repo.spring.io/libs-release</url>
      </repository>
  </repositories>
  <pluginRepositories>
      <pluginRepository>
          <id>spring-releases</id>
          <url>https://repo.spring.io/libs-release</url>
      </pluginRepository>
  </pluginRepositories>  
</project>

Abschließend muss ich feststellen, dass das Programm trotz der Ausnahme gut funktioniert

Danke im Voraus!

19
Haris V

Spring Boot verfügt über eine Funktion namens "Autokonfiguration". Sobald der Mongo-Treiber im Klassenpfad erkannt wird, wird die MongoAutoConfiguration mit Standardwerten aktiviert, die auf localhost zeigen: 27017. Wenn Sie dieses Verhalten nicht wünschen, können Sie jetzt die Eigenschaften für MongoDB konfigurieren (siehe http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-mongodb für gültige Eigenschaftsschlüssel) oder deaktivieren Sie die MongoAutoConfiguration:

@SpringBootApplication(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})
52
dunni

Spring Boot löst diese Ausnahme aus, wenn Mongo DB nicht ausgeführt wird. Bitte stellen Sie sicher, dass Mongodb läuft. Nach dem Start von Mongo DB wurde es für mich gelöst.

2
chanduthedev

für Springboot sollten Sie Ihrer application.property die folgende Konfiguration hinzufügen

spring.data.mongodb.Host=localhost(your mongo server)
spring.data.mongodb.port=27017(mongo port)
0
gredezcici

versuchen Sie auch, Ihrer application.property Folgendes hinzuzufügen

spring.data.mongodb.Host=mongoserver
spring.data.mongodb.port=27017
0
gredezcici