Създайте екземпляр на приоритетна опашка с компаратор от пролетта

Като част от изучаването на пролетта, опитвам се да декларирам bean с приоритет на опашка на обекти MyMessageObject, но продължавам да получавам следното BeanCreationException: „Грешка при създаване на bean с име „messagesHeap“, дефинирано в URL [файл:/my.app.spring.xml ]: Не може да се разреши съответстващият конструктор"

Ето моите пролетни определения:

<bean id="messagesHeap" class="java.util.PriorityQueue">
    <constructor-arg type="int" name="initialCapacity" value="100" index="0"/>
    <constructor-arg name="comparator" type="java.util.Comparator" index="1"  ref="orderComparator"/>
</bean>

<bean id="orderComparator" class="com.my.myComparator"/>

Класът myComparator имплементира java.util.Comparator според изискванията.

Какво правя грешно тук?


person Jacob    schedule 05.07.2014    source източник


Отговори (1)


Опитайте тази

<bean id="messagesHeap" class="java.util.PriorityQueue">
    <constructor-arg value="100" />
    <constructor-arg ref="orderComparator" />
</bean>
person Evgeniy Dorofeev    schedule 05.07.2014
comment
Благодаря, работи! Можете ли да обясните защо пропускането на атрибута ‹i›name‹/i› решава проблема? - person Jacob; 05.07.2014
comment
spring docs: Това изисква символите за отстраняване на грешки да се съхраняват във файла на класа, за да се проверяват имената на аргументите! - person Evgeniy Dorofeev; 05.07.2014