Я пытаюсь создать боб java.util.concurrent.ThreadPoolExecutor
, ниже того, что у меня в весеннем конфигурационном файле:не в состоянии создать боб java.util.concurrent.ThreadPoolExecutor с использованием Spring
<bean id="threadPoolExector" class="java.util.concurrent.ThreadPoolExecutor" lazy-init="true" scope="singleton">
<property name="corePoolSize" value="${corePoolSize}"/>
<property name="maximumPoolSize" value="${maximumPoolSize}"/>
<property name="keepAliveTime" value="${keepAliveTime}"/>
<property name="unit" value="java.util.concurrent.TimeUnit.SECONDS"/>
<property name="workQueue" ref="abcBlockingQueueImpl"></property>
</bean>
<bean id="abcBlockingQueueImpl" class="my.package.AbcBlockingQueueImpl" lazy-init="true" scope="singleton"/>
Тогда я пытаюсь создать, как показано ниже:
ThreadPoolExecutor threadPoolExecutor = (ThreadPoolExecutor) applicationContext.getBean("threadPoolExector");
но я получаю ниже исключения, я знаю, что нет нет-Arg для ThreadPoolExecutor
, но я удивлен, что я получаю это исключение.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'threadPoolExector' defined in ServletContext resource [/WEB-INF/context/web-applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [java.util.concurrent.ThreadPoolExecutor]: No default constructor found; nested exception is java.lang.NoSuchMethodException: java.util.concurrent.ThreadPoolExecutor.<init>()
Я раньше использовал бобы весны, но это выглядит как странная проблема.
Да, я получил это, но даже если я продолжу «ThreadPoolExecutor», у меня все равно будет такая же проблема, и я не хочу создавать экземпляр «ThreadPoolExecutor» вручную или иметь «ThreadPoolExecutor» как экземпляр класса. Можно что-то сделать, я не получаю никакого выхода, кроме 2 того, о чем я говорил выше, чего я не хочу делать. – hagrawal
@hagrawal не нужно ничего расширять. Просто установите свойства с помощью конструктора-args, как и в Java-коде. (отредактированный ответ, чтобы показать его) – ppeterka
Хорошо, дайте 20 минут, я вернусь и попробую. – hagrawal