0

我定义了以下 Spring Bean:

<bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.TicketGrantingTicketExpirationPolicy"
      c:maxTimeToLive="${tgt.maxTimeToLiveInSeconds:32400}" c:timeToKill="${tgt.timeToKillInSeconds:32400}" c:timeUnit-ref="SECONDS" />

那对应于这个 bean。使用上述配置,我得到以下异常:

SEVERE: Exception starting filter springSecurityFilterChain
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grantingTicketExpirationPolicy' defined in ServletContext resource [/WEB-INF/spring-configuration/ticketExpirationPolicies.xml]: Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:250)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1075)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:979)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)
    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)
    <long stack trace omitted for brevity>
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

所以我所做的就是从这个示例文件中复制并更改:

<bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.TicketGrantingTicketExpirationPolicy"
      c:maxTimeToLive="${tgt.maxTimeToLiveInSeconds:28800}" c:timeToKill="${tgt.timeToKillInSeconds:7200}" c:timeUnit-ref="SECONDS" />

至:

<bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.TicketGrantingTicketExpirationPolicy"
      c:maxTimeToLive="${tgt.maxTimeToLiveInSeconds:32400}" c:timeToKill="${tgt.timeToKillInSeconds:32400}" c:timeUnit-ref="SECONDS" />

我哪里错了?

4

1 回答 1

-1

带有您正在使用的参数的构造函数可能不存在。查看TicketGrantingTicketExpirationPolicy可用的构造函数并进行相应调整。

于 2015-02-02T20:39:53.120 回答