sofastack / sofa-jarslink

Jarslink is a sofa ark plugin used to manage multi-application deployment
Apache License 2.0
3.04k stars 706 forks source link

在spring MVC单元测中存在的问题 #78

Closed bruceywave closed 6 years ago

bruceywave commented 6 years ago

我做了测试,当脱离SpringMVC运行环境时,测试可以通过。但是当我结合SpringMVC环境进行单元测试时发现以下问题: 1.在context.refresh时,会将SpringMVC所有的上下文环境进行刷新,这样会不会导致事务依赖问题。 2.当新增模块后,刷新时,会重新加载resourceHandlerMapping,并且抛出异常 `@Bean public HandlerMapping resourceHandlerMapping() { Assert.state(this.applicationContext != null, "No ApplicationContext set"); Assert.state(this.servletContext != null, "No ServletContext set");

    ResourceHandlerRegistry registry = new ResourceHandlerRegistry(this.applicationContext,
            this.servletContext, mvcContentNegotiationManager(), mvcUrlPathHelper());`

创建这个bean时,Assert.state(this.servletContext != null, "No ServletContext set");这句抛出异常` 请问是我的配置出现问题,还是jarlink本身存在的问题? 对于以上的问题,还望指教? 另外,我现在使用的是hibernate + springMVC,当新增模块后,Hibernate会不会加载实体注解

kiral commented 6 years ago

springMVC和模块的集成这个没测试过。我们的做法是让系统集成springMVC,然后把流量转发给模块。参考文档中的最佳实践。模块集成SpringMvc还涉及到卸载的问题。

bruceywave commented 6 years ago

我的环境是springMVC,当模块加载Spring上下文时,context.refresh时,也会自动刷新SpringMVC的context,怎么按照你的最佳实践做呢