【问题标题】:Instantiate a priority queue with a comparator from spring使用 spring 中的比较器实例化优先级队列
【发布时间】:2014-07-05 06:04:37
【问题描述】:

作为学习 spring 的一部分,我正在尝试声明 MyMessageObject 对象的优先级队列 bean,但不断收到以下 BeanCreationException:“在 URL [file:/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。

我在这里做错了什么?

【问题讨论】:

    标签: java spring priority-queue comparator


    【解决方案1】:

    试试这个

    <bean id="messagesHeap" class="java.util.PriorityQueue">
        <constructor-arg value="100" />
        <constructor-arg ref="orderComparator" />
    </bean>
    

    【讨论】:

    • 谢谢,它有效!你能解释一下为什么省略 name 属性可以解决问题吗?
    • spring docs:这需要将调试符号存储在类文件中,以便自省参数名称!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多