Hi Jay,

The first dependency seems to be autoresolved because I have a 
spring-context-support-4.1.6.RELEASE.jar file in the lib directory. 
However, I could fix it by replacing the 
org.springframework.scheduling.quartz.SimpleTriggerBean class to 
org.springframework.scheduling.quartz.SimpleTriggerFactoryBean. It 
shouldn't be changed in the documentation, as it is incorrect now.

Fixing this I have a new exception:

    org.springframework.beans.factory.BeanCreationException: Error
    creating bean with name 'ticketRegistryCleaner' defined in
    ServletContext resource
    [/WEB-INF/spring-configuration/ticketRegistry.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:236)
         at
    
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1139)
         at
    
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1042)
         at
    
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
         at
    
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
         at
    
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
         at
    
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
         at
    
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
         at
    
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
         at
    
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)
         at
    
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
         at
    
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
         at
    
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
         at
    
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
         at
    
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
         at
    
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
         at
    
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
         at
    org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
         at
    
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
         at
    org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
         at
    org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
         at
    org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
         at
    org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
         at
    java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
         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)

I tried adding the second dependency you mentioned, but it made no 
difference. This bean is exactly equal as the one defined by default in 
the ticketRegistry.xml file. Any hint why this exception is being thrown 
now?

Thanks.

Nicolás

El 20/09/15 a las 19:17, Jay escribió:
> Seems you are missing a maven dependecy for the class 
> org.springframework.scheduling.quartz.SimpleTriggerBean
>
>
> <dependency>
>     <groupId>org.springframework</groupId>
>     <artifactId>spring-support</artifactId>
>     <version>2.0.6</version>
> </dependency>
>
> or something like
> <dependency>
>                   <groupId>org.quartz-scheduler</groupId>
>                   <artifactId>quartz</artifactId>
>                   <version>1.8.5</version>
>               </dependency>
> Search on google for that class maven depency... like the below link
>
> https://www.google.co.uk/search?q=org.springframework.scheduling.quartz.SimpleTriggerBean+maven&ie=utf-8&oe=utf-8&gws_rd=cr&ei=RPf-VZ2PL4qua8mujbAP
>
> Cheers
> Jay
>
>
>
>
> On Sun, Sep 20, 2015 at 6:47 PM, Nicolás <[email protected] 
> <mailto:[email protected]>> wrote:
>
>     Hi,
>
>     I'm running CAS 4.1.0 and trying to configure ticketing via MySQL,
>     because we want to deploy this version for HA. For that, I've done
>     the following steps:
>
>     1) ticketRegistry.xml file: Basically the same as
>     http://jasig.github.io/cas/4.1.x/installation/JPA-Ticket-Registry.html
>     says in Configuration + Connection pooling.
>
>         <?xml version="1.0" encoding="UTF-8"?>
>         <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>         <http://www.w3.org/2001/XMLSchema-instance>
>                xmlns:p="http://www.springframework.org/schema/p";
>         <http://www.springframework.org/schema/p>
>                xmlns:c="http://www.springframework.org/schema/c";
>         <http://www.springframework.org/schema/c>
>                xmlns:tx="http://www.springframework.org/schema/tx";
>         <http://www.springframework.org/schema/tx>
>                xmlns:util="http://www.springframework.org/schema/util";
>         <http://www.springframework.org/schema/util>
>                xmlns="http://www.springframework.org/schema/beans";
>         <http://www.springframework.org/schema/beans>
>               
>         xsi:schemaLocation="http://www.springframework.org/schema/beans
>         http://www.springframework.org/schema/beans/spring-beans.xsd
>         http://www.springframework.org/schema/tx
>         http://www.springframework.org/schema/tx/spring-tx.xsd
>         http://www.springframework.org/schema/util
>         http://www.springframework.org/schema/util/spring-util.xsd";>
>             <description>
>                 Configuration for the default TicketRegistry which
>         stores the tickets in-memory and cleans them out as specified
>                 intervals.
>             </description>
>
>             <bean id="ticketRegistry"
>         class="org.jasig.cas.ticket.registry.JpaTicketRegistry" />
>
>             <bean
>         
> class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
>
>             <util:list id="packagesToScan">
>         <value>org.jasig.cas.services</value>
>                 <value>org.jasig.cas.ticket</value>
>         <value>org.jasig.cas.adaptors.jdbc</value>
>             </util:list>
>
>             <bean
>         class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"
>                 id="jpaVendorAdapter"
>                 p:generateDdl="true"
>                 p:showSql="true" />
>
>             <bean id="entityManagerFactory"
>         
> class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
>                 p:dataSource-ref="dataSource"
>                 p:jpaVendorAdapter-ref="jpaVendorAdapter"
>                 p:packagesToScan-ref="packagesToScan">
>                 <property name="jpaProperties">
>                   <props>
>                     <prop
>         key="hibernate.dialect">${database.dialect}</prop>
>                     <prop key="hibernate.hbm2ddl.auto">create-drop</prop>
>                     <prop
>         key="hibernate.jdbc.batch_size">${database.batchSize}</prop>
>                   </props>
>                 </property>
>             </bean>
>
>             <bean id="transactionManager"
>         class="org.springframework.orm.jpa.JpaTransactionManager"
>         p:entityManagerFactory-ref="entityManagerFactory" />
>
>             <tx:annotation-driven
>         transaction-manager="transactionManager" />
>
>             <bean id="ticketRegistryCleaner"
>         
> class="org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner"
>                   c:ticketRegistry-ref="ticketRegistry"
>                   c:lockingStrategy-ref="cleanerLock"
>                   c:logoutManager-ref="logoutManager" />
>
>             <bean id="cleanerLock"
>         class="org.jasig.cas.ticket.registry.support.JpaLockingStrategy"
>                     p:uniqueId="${host.name <http://host.name>}"
>         p:applicationId="cas-ticket-registry-cleaner" />
>
>             <bean id="jobDetailTicketRegistryCleaner"
>         
> class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>                     p:targetObject-ref="ticketRegistryCleaner"
>                     p:targetMethod="clean" />
>
>             <bean id="triggerJobDetailTicketRegistryCleaner"
>         class="org.springframework.scheduling.quartz.SimpleTriggerBean"
>         p:jobDetail-ref="jobDetailTicketRegistryCleaner"
>                     p:startDelay="20000"
>                     p:repeatInterval="5000000" />
>
>             <bean id="dataSource"
>         class="com.mchange.v2.c3p0.ComboPooledDataSource"
>                   p:driverClass="${database.driverClass}"
>                   p:jdbcUrl="${database.url}"
>                   p:user="${database.user}"
>                   p:password="${database.password}"
>                   p:initialPoolSize="${database.pool.minSize}"
>                   p:minPoolSize="${database.pool.minSize}"
>                   p:maxPoolSize="${database.pool.maxSize}"
>         p:maxIdleTimeExcessConnections="${database.pool.maxIdleTime}"
>                   p:checkoutTimeout="${database.pool.maxWait}"
>         p:acquireIncrement="${database.pool.acquireIncrement}"
>         p:acquireRetryAttempts="${database.pool.acquireRetryAttempts}"
>         p:acquireRetryDelay="${database.pool.acquireRetryDelay}"
>         p:idleConnectionTestPeriod="${database.pool.idleConnectionTestPeriod}"
>         p:preferredTestQuery="${database.pool.connectionHealthQuery}"
>                   />
>         </beans>
>
>     2) cas.properties:
>
>         database.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
>         database.driverClass=com.mysql.jdbc.Driver
>         database.url=jdbc:mysql://localhost/cas?ssl=false
>         database.user=cas
>         database.password=mypassword
>
>     The rest, as defined in the PostgreSQL example on
>     http://jasig.github.io/cas/4.1.x/installation/JPA-Ticket-Registry.html
>
>     3) pom.xml:
>
>             <dependency>
>                  <groupId>org.jasig.cas</groupId>
>     <artifactId>cas-server-support-jdbc</artifactId>
>                  <version>${cas.version}</version>
>             </dependency>
>             <dependency>
>                 <groupId>org.hibernate</groupId>
>     <artifactId>hibernate-core</artifactId>
>     <version>${hibernate.core.version}</version>
>                 <scope>runtime</scope>
>             </dependency>
>             <dependency>
>                 <groupId>org.hibernate</groupId>
>     <artifactId>hibernate-entitymanager</artifactId>
>     <version>${hibernate.core.version}</version>
>                 <scope>runtime</scope>
>             </dependency>
>             <dependency>
>                 <groupId>mysql</groupId>
>     <artifactId>mysql-connector-java</artifactId>
>     <version>${mysql.connector.version}</version>
>             </dependency>
>             <dependency>
>                 <groupId>commons-dbcp</groupId>
>     <artifactId>commons-dbcp</artifactId>
>     <version>${commons.dbcp.version}</version>
>                 <scope>runtime</scope>
>             </dependency>
>             <dependency>
>                 <groupId>c3p0</groupId>
>                 <artifactId>c3p0</artifactId>
>                 <version>${c3p0.version}</version>
>                 <scope>runtime</scope>
>             </dependency>
>
>     <hibernate.core.version>4.3.10.Final</hibernate.core.version>
>     <mysql.connector.version>5.1.6</mysql.connector.version>
>     <commons.dbcp.version>1.4</commons.dbcp.version>
>             <c3p0.version>0.9.1.2</c3p0.version>
>
>     The problem happens when deploying the app, in the logs I see the
>     following exception. I tried even different versions of the
>     dependencies and nothing seems to help. Seems to me that there's
>     some unmet dependency but I can't find out which one is it. Any
>     help or tip is really appreciated:
>
>         sep 20, 2015 6:39:58 PM
>         org.hibernate.tool.hbm2ddl.SchemaExport execute
>         INFO: HHH000230: Schema export complete
>         2015-09-20 18:40:01,264 WARN
>         [org.springframework.web.context.support.XmlWebApplicationContext]
>         - <Exception encountered during context initialization -
>         cancelling refresh attempt
>         org.springframework.beans.factory.BeanCreationException: Error
>         creating bean with name 'ticketRegistry': Injection of
>         persistence dependencies failed; nested exception is
>         org.springframework.beans.factory.CannotLoadBeanClassException: Cannot
>         find class
>         [org.springframework.scheduling.quartz.SimpleTriggerBean] for
>         bean with name 'triggerJobDetailTicketRegistryCleaner' defined
>         in ServletContext resource
>         [/WEB-INF/spring-configuration/ticketRegistry.xml]; nested
>         exception is java.lang.ClassNotFoundException:
>         org.springframework.scheduling.quartz.SimpleTriggerBean
>             at
>         
> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:357)
>             at
>         
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1210)
>             at
>         
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
>             at
>         
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
>             at
>         
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
>             at
>         
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
>             at
>         
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
>             at
>         
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
>             at
>         
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)
>             at
>         
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
>             at
>         
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
>             at
>         
> org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
>             at
>         
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
>             at
>         
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
>             at
>         
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
>             at
>         
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
>             at
>         org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>             at
>         
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
>             at
>         
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
>             at
>         org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
>             at
>         org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
>             at
>         
> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
>             at
>         
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>             at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>             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)
>         Caused by:
>         org.springframework.beans.factory.CannotLoadBeanClassException: Cannot
>         find class
>         [org.springframework.scheduling.quartz.SimpleTriggerBean] for
>         bean with name 'triggerJobDetailTicketRegistryCleaner' defined
>         in ServletContext resource
>         [/WEB-INF/spring-configuration/ticketRegistry.xml]; nested
>         exception is java.lang.ClassNotFoundException:
>         org.springframework.scheduling.quartz.SimpleTriggerBean
>             at
>         
> org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1328)
>             at
>         
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:622)
>             at
>         
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:591)
>             at
>         
> org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1397)
>             at
>         
> org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:434)
>             at
>         
> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:412)
>             at
>         
> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:398)
>             at
>         
> org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:143)
>             at
>         
> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findDefaultEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:562)
>             at
>         
> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:531)
>             at
>         
> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.resolveEntityManager(PersistenceAnnotationBeanPostProcessor.java:697)
>             at
>         
> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.getResourceToInject(PersistenceAnnotationBeanPostProcessor.java:670)
>             at
>         
> org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:169)
>             at
>         
> org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
>             at
>         
> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:354)
>             ... 26 more
>         Caused by: java.lang.ClassNotFoundException:
>         org.springframework.scheduling.quartz.SimpleTriggerBean
>             at
>         
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
>             at
>         
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
>             at
>         org.springframework.util.ClassUtils.forName(ClassUtils.java:249)
>             at
>         
> org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:395)
>             at
>         
> org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1349)
>             at
>         
> org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1320)
>             ... 40 more
>
>
>     -- 
>     You are currently subscribed [email protected] 
> <mailto:[email protected]>  as:[email protected] 
> <mailto:[email protected]>
>     To unsubscribe, change settings or access archives, 
> seehttp://www.ja-sig.org/wiki/display/JSG/cas-user
>
>
> -- 
> You are currently subscribed to [email protected] as: [email protected]
> To unsubscribe, change settings or access archives, see 
> http://www.ja-sig.org/wiki/display/JSG/cas-user


-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to