Я пытаюсь подключить API Rest к memcached, используя Spring MVC для установки и получения данных по memcached, которые я получил из API.В настоящее время получаю эту ошибку:
SEVERE: Сбой инициализации контекста org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка создания бина с именем 'consumerController': Неудовлетворенная зависимость, выраженная через поле 'memcachedClient': Нет квалифицирующего бинатипа [net.spy.memcached.MemcachedClient] найден для зависимости [net.spy.memcached.MemcachedClient]: ожидается как минимум 1 компонент, который считается кандидатом на автопровод для этой зависимости.Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Autowired (обязательно = true)};вложенное исключение - org.springframework.beans.factory.NoSuchBeanDefinitionException: не найден квалифицирующий компонент типа [net.spy.memcached.MemcachedClient] для зависимости [net.spy.memcached.MemcachedClient]: ожидается, что по крайней мере 1 компонент, который квалифицируется как автоматическийдля этой зависимости.Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Autowired (обязательно = true)}
ConsumerController:
import net.spy.memcached.MemcachedClient;
@RestController
public class consumerController {
@Autowired
private MemcachedClient memcachedClient;
@RequestMapping(value="/queues/{queueName}/thread-counts/{threadCount}", method = RequestMethod.GET)
public void setThreadCount(@PathVariable String queueName, @PathVariable int threadCount) {
System.out.println("Queue name is "+queueName);
System.out.println("Thread count is "+threadCount);
//memcachedClient.set(queueName, 0, threadCount);
memcachedClient.add(queueName, 0, threadCount); //Adding value to memcached
}
@RequestMapping(value="/queues/{queueName}/thread-counts", method = RequestMethod.GET)
public void getThreadCount(@PathVariable String queueName) {
System.out.println("Queue value is"+queueName);
int threadCount = (Integer)memcachedClient.get(queueName);//Getting value from memcached
System.out.println("Thread count for " + queueName + " is " + threadCount);
}
}
ConsumerConfiguration:
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "msg91.consumers.consumer")
public class consumerConfiguration {
}
ConsumerInitializer:
public class consumerInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { consumerConfiguration.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return null;
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
}
Spring-dispatcher-servlet.xml:
<bean id="memcachedClient"
class="net.spy.memchached.MemchachedClient">
<property name="servers" value="127.0.0.1:11211"/>
<property name="protocol" value="BINARY"/>
Pom.xml:
<dependency>
<groupId>com.google.code.simple-spring-memcached</groupId>
<artifactId>spymemcached-provider</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>com.google.code.simple-spring-memcached</groupId>
<artifactId>spring-cache</artifactId>
<version>3.2.0</version>
</dependency>
Подскажите пожалуйста, что я делаю не так в этом и как устранить эту ошибку