2016-01-12 9 views
1

У меня есть базовая настройка проекта Spring 4 MVC. После запуска сервера сайт доступен и работает до тех пор, пока я что-то не изменю в коде, и позже он не отвечает на любые запросы (GET/POST) из браузера, когда я нажимаю ссылки на своем сайте для навигации. Когда я нажимаю войти в систему я получаю следующее в моей консоли,Проект Spring MVC не отвечает на запросы браузера после изменения кода

DEBUG DispatcherServlet:861 - DispatcherServlet with name 'dispatcherServlet' processing GET request for [/springapp/login] 
[artifact:mvn] 2016-01-12 14:06:25 DEBUG RequestMappingHandlerMapping:318 - Looking up handler method for path /login 

URL-адрес для входа в мое приложение http://localhost:8080/springapp/login.

То же самое "Поиск метода обработчика для пути /something" сообщение отображается для любых последующих запросов, но на локальном сервере нет ответа. Я ждал 15 минут, но никакого ответа не было. Я использую встроенный причал как мой сервер в затмении. Я отключил брандмауэр и удалил антивирус, но это не помогает.

web.xml

<servlet> 
<servlet-name>densoServlet</servlet-name> 
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/config/springContext.xml</param-value> 
    </init-param> 
</servlet> 

<servlet-mapping> 
    <servlet-name>densoServlet</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

springContext.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans profile="dev" 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" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> 

    <mvc:annotation-driven /> 

    <context:component-scan base-package="com.springapp"> 
     <context:include-filter type="regex" expression="(service|controller|dao)\..*"/> 
    </context:component-scan> 

    <context:property-placeholder location="classpath*:*.properties"/> 

    <tx:annotation-driven transaction-manager="transactionManager" /> 

    <mvc:resources mapping="css/**" location="/WEB-INF/css/" /> 
    <mvc:resources mapping="js/**" location="/WEB-INF/js/" /> 

    <bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver"> 
     <property name="prefix" value="/WEB-INF/templates/" /> 
     <property name="suffix" value=".html" /> 
     <property name="templateMode" value="HTML5" /> 
     <property name="cacheable" value="false" /> 
    </bean> 

    <bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine"> 
     <property name="templateResolver" ref="templateResolver" /> 
     <property name="additionalDialects"> 
      <set> 
       <bean class="org.thymeleaf.extras.springsecurity4.dialect.SpringSecurityDialect"/> 
      </set> 
    </property> 
    </bean> 

    <bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver"> 
     <property name="templateEngine" ref="templateEngine" /> 
     <property name="characterEncoding" value="UTF-8"/> 
     <property name="order" value="1" /> 
    </bean> 

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" > 
     <property name="prefix" value="/WEB-INF/templates/"/> 
     <property name="suffix" value=".jsp"/> 
     <property name="viewNames" value="*jsp" /> 
     <property name="order" value="2"/> 
    </bean> 

    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"> 
     <property name="defaultLocale" value="en"/> 
    </bean> 

    <mvc:interceptors> 
     <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> 
      <property name="paramName" value="lang"/> 
     </bean> 
    </mvc:interceptors> 

    <bean name="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
     <property name="basename" value="classpath:i18n/messages" /> 
     <property name="useCodeAsDefaultMessage" value="true" /> 
     <property name="defaultEncoding" value="UTF-8"/> 
    </bean> 

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="driverClassName" value="${db.driverClassName}" /> 
     <property name="url" value="${db.url}" /> 
     <property name="username" value="${db.username}" /> 
     <property name="password" value="${db.password}" /> 
    </bean> 

    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
     <property name="dataSource" ref="dataSource" /> 
    </bean> 

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="typeAliasesPackage" value="com.springapp.model"/> 
     <property name="mapperLocations" value="classpath*:com/springapp/mappers/*.xml" /> 
    </bean> 

    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> 
     <constructor-arg index="0" ref="sqlSessionFactory" /> 
    </bean> 

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 
     <property name="basePackage" value="com.springapp.mappers" /> 
    </bean> 

</beans> 

Мой встроенный Maven-молы конфигурации,

pom.xml

<plugin> 
    <groupId>org.eclipse.jetty</groupId> 
    <artifactId>jetty-maven-plugin</artifactId> 
    <version>${jetty.version}</version> 
    <configuration> 
     <systemProperties> 
      <systemProperty> 
       <name>spring.profiles.active</name> 
       <value>dev</value> 
      </systemProperty> 
     </systemProperties> 
     <stopKey>siteStop</stopKey> 
     <stopPort>9191</stopPort> 
     <httpConnector> 
      <host>0.0.0.0</host> 
      <port>8080</port> 
     </httpConnector> 
    </configuration> 
</plugin> 

Я должен перезапустить сервер каждый ti мне проверить мой код, который занимает много времени. Что может блокировать ответ с сервера?

EDIT: Сервер перестает отвечать только при внесении изменений в код. После остановки сервера он бросает нить не может быть остановлена,

[artifact:mvn] DEBUG DisposableBeanAdapter:327 - Invoking destroy method 'close' on bean with name 'sqlSession' 
[artifact:mvn] WARN DisposableBeanAdapter:361 - Invocation of destroy method 'close' failed on bean with name 'sqlSession' 
[artifact:mvn] java.lang.UnsupportedOperationException: Manual close is not allowed over a Spring managed SqlSession 
[artifact:mvn] at org.mybatis.spring.SqlSessionTemplate.close(SqlSessionTemplate.java:333) 
[artifact:mvn] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[artifact:mvn] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
[artifact:mvn] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
[artifact:mvn] at java.lang.reflect.Method.invoke(Method.java:606) 
[artifact:mvn] at org.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter.java:354) 
[artifact:mvn] at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:277) 
[artifact:mvn] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578) 
[artifact:mvn] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554) 
[artifact:mvn] at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:972) 
[artifact:mvn] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523) 
[artifact:mvn] at org.springframework.beans.factory.support.AbstractBeanFactory.destroySingletons(AbstractBeanFactory.java) 
[artifact:mvn] at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:979) 
[artifact:mvn] at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1006) 
[artifact:mvn] at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:982) 
[artifact:mvn] at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:934) 
[artifact:mvn] at org.springframework.web.servlet.FrameworkServlet.destroy(FrameworkServlet.java:829) 
[artifact:mvn] at org.eclipse.jetty.servlet.ServletHolder.destroyInstance(ServletHolder.java:449) 
[artifact:mvn] at org.eclipse.jetty.servlet.ServletHolder.doStop(ServletHolder.java:421) 
[artifact:mvn] at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:143) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:162) 
[artifact:mvn] at org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:73) 
[artifact:mvn] at org.eclipse.jetty.servlet.ServletHandler.doStop(ServletHandler.java:230) 
[artifact:mvn] at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:143) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:162) 
[artifact:mvn] at org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:73) 
[artifact:mvn] at org.eclipse.jetty.security.SecurityHandler.doStop(SecurityHandler.java:411) 
[artifact:mvn] at org.eclipse.jetty.security.ConstraintSecurityHandler.doStop(ConstraintSecurityHandler.java:457) 
[artifact:mvn] at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:143) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:162) 
[artifact:mvn] at org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:73) 
[artifact:mvn] at org.eclipse.jetty.server.session.SessionHandler.doStop(SessionHandler.java:127) 
[artifact:mvn] at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:143) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:162) 
[artifact:mvn] at org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:73) 
[artifact:mvn] at org.eclipse.jetty.server.handler.ContextHandler.doStop(ContextHandler.java:834) 
[artifact:mvn] at org.eclipse.jetty.servlet.ServletContextHandler.doStop(ServletContextHandler.java:258) 
[artifact:mvn] at org.eclipse.jetty.webapp.WebAppContext.doStop(WebAppContext.java:523) 
[artifact:mvn] at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStop(JettyWebAppContext.java:388) 
[artifact:mvn] at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:143) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:162) 
[artifact:mvn] at org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:73) 
[artifact:mvn] at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:143) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:162) 
[artifact:mvn] at org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:73) 
[artifact:mvn] at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:143) 
[artifact:mvn] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:162) 
[artifact:mvn] at org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:73) 
[artifact:mvn] at org.eclipse.jetty.server.Server.doStop(Server.java:468) 
[artifact:mvn] at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89) 
[artifact:mvn] at org.eclipse.jetty.server.ShutdownMonitor$ShutdownMonitorRunnable.stopLifeCycles(ShutdownMonitor.java:273) 
[artifact:mvn] at org.eclipse.jetty.server.ShutdownMonitor$ShutdownMonitorRunnable.run(ShutdownMonitor.java:172) 
[artifact:mvn] at java.lang.Thread.run(Thread.java:745) 
[artifact:mvn] [INFO] Jetty server exiting. 
[artifact:mvn] [INFO] ------------------------------------------------------------------------ 
[artifact:mvn] [INFO] BUILD SUCCESS 
[artifact:mvn] [INFO] ------------------------------------------------------------------------ 
[artifact:mvn] [INFO] Total time: 1:15:15.551s 
[artifact:mvn] 2016-01-12 16:13:03.560:WARN:oejut.QueuedThreadPool:ShutdownMonitor: qtp340358109{STOPPING,8<=19<=200,i=0,q=2} Couldn't stop Thread[qtp340358109-58,5,main] 
[artifact:mvn] 2016-01-12 16:13:03.560:WARN:oejut.QueuedThreadPool:ShutdownMonitor: qtp340358109{STOPPING,8<=19<=200,i=0,q=2} Couldn't stop Thread[qtp340358109-80,5,main] 
[artifact:mvn] [INFO] Final Memory: 33M/342M 
[artifact:mvn] [INFO] ------------------------------------------------------------------------ 
BUILD SUCCESSFUL 
Total time: 75 minutes 20 seconds 

Update:

Я испытал то же самое рабочее место в других системах он работает нормально там. Таким образом, код здесь не проблема. Это не затмение, так как я использовал STS и не получил никакого ответа. Я взял дамп Thread на eclipse pid, используя JVisualVM JDK, и следующая строка отслеживания потоков, http://pastebin.com/9HQFSebM

+0

Вы пытались проверить, достигли ли запросы к серверу? Значит, поиск находит правильные контроллеры? Может быть, некоторые скрыты от ошибок журнала OOM? – Nadir

+0

Да, у меня нет проблем с этим. Все работает отлично после запуска сервера. – Lucky

+0

Запустите jconsole и проверьте работоспособность вашего сервера. –

ответ

0

После очень долгого времени я выяснил, в чем проблема. Обратившись к команде поддержки Jrebel по их предложению, я использовал старую версию (JRebel Legacy Agent 6.2.1 (201506091436)) jrebel.

Обновление до последней версии (JRebel Legacy Agent 6.2.3) решило мою проблему. Похоже, что были исправлены ошибки с более новой версией, в которой я не был обновлен.

 Смежные вопросы

  • Нет связанных вопросов^_^