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]> 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}"
> 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 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