Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mongo tries to connect automatically to port 27017(localhost)

I am using Spring Rest and Mongo in Maven to make a web service that connects to a server. The problem is that I haven't written any code for Mongo and it is trying to connect to localhost throwing me a MongoSocketOpenException. The only code I've written is a two line code that starts spring from main.This is the 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.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@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.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@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   

This is my 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> 

Finally I have to state that despite the exception the program works fine

Thanks in advance!

like image 560
Haris V Avatar asked Dec 22 '15 11:12

Haris V


People also ask

Can't connect to found database localhost 27017?

0.1 : 27017 ” is a general error message indicating that your client/driver cannot connect to a server on the specified hostname/IP and port. In this specific example, 127.0. 0.1 is the hostname or IP and 27017 is the port. Your connection from client to server is blocked by firewall or network configuration.

Why MongoDB Cannot connect to localhost?

MongoDB failed to connect to 127.0. 0.1(localhost) is the hostname and 27017 is the port number. There could be any reason for this error: Firewall or network configuration blocked you to connect to the server. The MongoDB server is not listening the IP or port.

What is MongoDB localhost URL?

connect('mongodb://localhost:27017/myapp'); This is the minimum needed to connect the myapp database running locally on the default port (27017). If connecting fails on your machine, try using 127.0. 0.1 instead of localhost .


1 Answers

Spring Boot has a feature called "auto configuration". In this case, as soon as the Mongo driver is detected on the classpath, the MongoAutoConfiguration is activated with default values, which point to localhost:27017. If you don't want that behaviour, you can now either configure the properties for MongoDB (see http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-mongodb for valid property keys) or disable the MongoAutoConfiguration:

@SpringBootApplication(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration.class}) 
like image 148
dunni Avatar answered Sep 22 '22 11:09

dunni