Java Spring MVC和Spring任务配置异常
我有一个SpringMVC应用程序。我试图在一个类中配置@async方法,但在我放置Java Spring MVC和Spring任务配置异常,java,spring,spring-mvc,Java,Spring,Spring Mvc,我有一个SpringMVC应用程序。我试图在一个类中配置@async方法,但在我放置 <task:executor id="taskExecutorPool" pool-size="10"/> <task:annotation-driven executor="taskExecutorPool"/> 弹簧配置 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:
<task:executor id="taskExecutorPool" pool-size="10"/>
<task:annotation-driven executor="taskExecutorPool"/>
弹簧配置
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:task="http://www.springframework.org/schema/task"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd">
<mvc:annotation-driven/>
<context:annotation-config/>
<task:executor id="taskExecutorPool" pool-size="10"/>
<task:annotation-driven executor="taskExecutorPool"/>
课程
@Component
public class RestClient {
@Async
public <T> T asyncGet(String restPath, Map<String, ?> params, Class<T> cls){
UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUriString(getEBizCareRestURL(restPath));
for(String key : params.keySet()){
uriBuilder.queryParam(key, params.get(key));
}
return restTemplate.getForEntity(uriBuilder.build().toUri(), cls).getBody();
}
}
<properties>
<spring.version>3.2.6.RELEASE</spring.version>
<junit.version>4.11</junit.version>
<jdk.version>1.6.0_29</jdk.version>
<jetty.version>8.1.8.v20121106</jetty.version>
<jstl.version>1.2</jstl.version>
<loggingFramework.version>1.0</loggingFramework.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
@组件
公共类RestClient{
@异步的
公共T asyncGet(字符串restPath、映射参数、类cls){
UriComponentsBuilder uriBuilder=UriComponentsBuilder.fromUristing(getEBizCareRestURL(restPath));
for(字符串键:params.keySet()){
queryParam(key,params.get(key));
}
返回restTemplate.getForEntity(uriBuilder.build().toUri(),cls.getBody();
}
}
Maven依赖关系
@Component
public class RestClient {
@Async
public <T> T asyncGet(String restPath, Map<String, ?> params, Class<T> cls){
UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUriString(getEBizCareRestURL(restPath));
for(String key : params.keySet()){
uriBuilder.queryParam(key, params.get(key));
}
return restTemplate.getForEntity(uriBuilder.build().toUri(), cls).getBody();
}
}
<properties>
<spring.version>3.2.6.RELEASE</spring.version>
<junit.version>4.11</junit.version>
<jdk.version>1.6.0_29</jdk.version>
<jetty.version>8.1.8.v20121106</jetty.version>
<jstl.version>1.2</jstl.version>
<loggingFramework.version>1.0</loggingFramework.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
3.2.6.1发布
4.11
1.6.0_29
8.1.8.v20121106
1.2
1
org.springframework
弹簧芯
${spring.version}
org.springframework
spring上下文
${spring.version}
org.springframework
春豆
${spring.version}
org.springframework
弹簧式
${spring.version}
org.springframework
弹簧网
${spring.version}
org.springframework
SpringWebMVC
${spring.version}
org.springframework
春季方面
${spring.version}
org.springframework
春季aop
${spring.version}
例外情况:-
<Jul 15, 2014 12:17:30 AM CDT> <Warning> <HTTP> <BEA-101162> <User defined listener org.springframework.web.context.ContextLoaderListener failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.context.annotation.internalAsyncAnnotationProcessor': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/core/Ordered.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.context.annotation.internalAsyncAnnotationProcessor': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/core/Ordered
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:529)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
Truncated. see log file for complete stacktrace
Caused By: java.lang.NoClassDefFoundError: org/springframework/core/Ordered
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:343)
Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassNotFoundException: org.springframework.core.Ordered
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
Truncated. see log file for complete stacktrace
错误令人惊讶:当它存在于pom中声明的spring-core
工件中时,classloader找不到org.springframework.core.Ordered
。。。您的web服务器中是否有其他版本的spring库(似乎是weblogic
),或者是由您的应用程序的另一部分带来的?我也这么认为,但在阅读您的注释后,我在类路径中再次验证了spring库,但在类路径中没有找到任何其他版本的spring。