java - Spring hangs when loading bean definitions -
i have following java code:
applicationcontext context = new classpathxmlapplicationcontext ("classpath:applicationcontext.xml");
and following application context:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"> <mvc:annotation-driven/> <context:component-scan base-package="in.ksharma"/> </beans>
spring hangs when loading file. application not respond.
to find out why took thread dump. seems hang inside tcp connect request:
connecttoaddress():213, plainsocketimpl {java.net} connect():200, plainsocketimpl {java.net} connect():366, sockssocketimpl {java.net} connect():529, socket {java.net} connect():478, socket {java.net} doconnect():163, networkclient {sun.net} openserver():411, httpclient {sun.net.www.http} openserver():525, httpclient {sun.net.www.http} <init>():208, httpclient {sun.net.www.http} new():291, httpclient {sun.net.www.http} new():310, httpclient {sun.net.www.http} getnewhttpclient():987, httpurlconnection {sun.net.www.protocol.http} plainconnect():923, httpurlconnection {sun.net.www.protocol.http} connect():841, httpurlconnection {sun.net.www.protocol.http} getinputstream():1195, httpurlconnection {sun.net.www.protocol.http} setupcurrententity():676, xmlentitymanager {com.sun.org.apache.xerces.internal.impl} startentity():1314, xmlentitymanager {com.sun.org.apache.xerces.internal.impl} startdocumententity():1266, xmlentitymanager {com.sun.org.apache.xerces.internal.impl} setinputsource():280, xmldocumentscannerimpl {com.sun.org.apache.xerces.internal.impl} parse():409, schemaparsingconfig {com.sun.org.apache.xerces.internal.impl.xs.opti} parse():491, schemaparsingconfig {com.sun.org.apache.xerces.internal.impl.xs.opti} parse():510, schemadomparser {com.sun.org.apache.xerces.internal.impl.xs.opti}
the address trying connect is:
www.springframework.org/162.159.245.187
what problem here?
check pom file. schema namespace have specified in application context correspond correct version of spring dependencies used?
what seems happening here spring tries load xsd
document spring jar
file unable due version mismatch. tries connect spring website , load there.
changing schema namespace correct version resolved problem:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">