ok, so I should use the same config as defined in the Service-Management webapp 
(http://jasig.github.io/cas/4.1.x/installation/Service-Management.html)?
But then I need to define a different „transactionManager" bean in this case, 
as it is already defined for the ticketRegistry.

Like so?

deployerConfigContext.xml:


 <tx:annotation-driven transaction-manager=„serviceTransactionManager"/>

<util:list id="packagesToScan">    
  <value>org.jasig.cas.services</value>
</util:list>

<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:org.hibernate.dialect.HSQLDialect}</prop>
            <prop key="hibernate.hbm2ddl.auto“>update</prop>
            <prop key="hibernate.jdbc.batch_size">${database.batchSize:1}</prop>
        </props>
    </property>
</bean>

<bean id="serviceTransactionManager" 
class=„org.springframework.orm.jpa.JpaTransactionManager"
p:entityManagerFactory-ref="entityManagerFactory" />

<tx:advice id="txAdvice" transaction-manager="serviceTransactionManager">
    <tx:attributes>
        <tx:method name="delete*" read-only="false"/>
        <tx:method name="save*" read-only="false"/>
        <tx:method name="update*" read-only="false"/>
        <tx:method name="get*" read-only="true"/>
        <tx:method name="*" />
    </tx:attributes>
</tx:advice>


Robert


> Am 01.12.2015 um 17:15 schrieb Misagh Moayyed <[email protected]>:
> 
> No you should not have to use the same transaction manager. 
> 
> - Misagh
> 
>> On Dec 1, 2015, at 8:00 AM, Robert Oschwald <[email protected]> wrote:
>> 
>> 
>> As I use the JPA Ticket Registry and the JPA Service Registry in my CAS 
>> 4.1.2 Server, I assume I need to use the same transactionManager for 
>> TicketRegistry and ServiceRegistry.
>> 
>> Therefore I set in the CAS-Server deployerConfigContext:
>> 
>> <bean id="serviceRegistryDao" 
>> class="org.jasig.cas.services.JpaServiceRegistryDaoImpl" />
>> 
>> and in the CAS-Server ticketRegistry.xml I added the pointcut and 
>> packagesToScan accordingly for the ServiceRegistry:
>> 
>> <util:list id="packagesToScan">
>>   <value>org.jasig.cas.ticket</value>
>>   <value>org.jasig.cas.adaptors.jdbc</value>
>>   <value>org.jasig.cas.services</value>
>> </util:list>
>> 
>> <aop:config>
>>   <aop:pointcut id="ticketRegistryOperations" expression="execution(* 
>> org.jasig.cas.ticket.registry.JpaTicketRegistry.*(..))"/>
>>   <aop:pointcut id="ticketRegistryLockingOperations" expression="execution(* 
>> org.jasig.cas.ticket.registry.support.JpaLockingStrategy.*(..))"/>
>>   <aop:pointcut id="serviceRegistryOperations" expression="execution(* 
>> org.jasig.cas.services.JpaServiceRegistryDaoImpl.*(..))"/>
>>   <aop:advisor advice-ref="txAdvice" 
>> pointcut-ref="ticketRegistryOperations"/>
>>   <aop:advisor advice-ref="txAdvice" 
>> pointcut-ref="ticketRegistryLockingOperations"/>
>>   <aop:advisor advice-ref="txAdvice" 
>> pointcut-ref="serviceRegistryOperations"/>
>> </aop:config>
>> 
>> 
>> but I receive error:
>> 
>> Caused by: java.lang.IllegalArgumentException: 
>> org.hibernate.hql.internal.ast.QuerySyntaxException: 
>> AbstractRegisteredService is not mapped [select r from 
>> AbstractRegisteredService r]
>>      at 
>> org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1750)
>>      at 
>> org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677)
>>      at 
>> org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1683)
>>      at 
>> org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:350)
>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>      at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>      at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>      at java.lang.reflect.Method.invoke(Method.java:606)
>>      at 
>> org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:291)
>>      at com.sun.proxy.$Proxy34.createQuery(Unknown Source)
>>      at 
>> org.jasig.cas.services.JpaServiceRegistryDaoImpl.load(JpaServiceRegistryDaoImpl.java:50)
>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>      at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>      at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>      at java.lang.reflect.Method.invoke(Method.java:606)
>>      at 
>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
>>      at 
>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
>>      at 
>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
>>      at 
>> org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
>>      at 
>> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
>>      at 
>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
>>      at 
>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
>>      at 
>> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
>>      at 
>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
>>      at 
>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
>>      at com.sun.proxy.$Proxy35.load(Unknown Source)
>>      at 
>> org.jasig.cas.services.DefaultServicesManagerImpl.load(DefaultServicesManagerImpl.java:165)
>>      at 
>> org.jasig.cas.services.DefaultServicesManagerImpl.<init>(DefaultServicesManagerImpl.java:60)
>>      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>>      at 
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>      at 
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>      at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>>      at 
>> org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
>>      ... 85 more
>> Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: 
>> AbstractRegisteredService is not mapped [select r from 
>> AbstractRegisteredService r]
>>      at 
>> org.hibernate.hql.internal.ast.QuerySyntaxException.generateQueryException(QuerySyntaxException.java:96)
>>      at 
>> org.hibernate.QueryException.wrapWithQueryString(QueryException.java:120)
>>      at 
>> org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:234)
>>      at 
>> org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:158)
>>      at 
>> org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:131)
>>      at 
>> org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:93)
>>      at 
>> org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:167)
>>      at 
>> org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:301)
>>      at 
>> org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:236)
>>      at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1836)
>>      at 
>> org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:342)
>>      ... 114 more
>> Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: 
>> AbstractRegisteredService is not mapped
>>      at 
>> org.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:189)
>>      at 
>> org.hibernate.hql.internal.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:109)
>>      at 
>> org.hibernate.hql.internal.ast.tree.FromClause.addFromElement(FromClause.java:95)
>>      at 
>> org.hibernate.hql.internal.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:338)
>>      at 
>> org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3678)
>>      at 
>> org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3567)
>>      at 
>> org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:708)
>>      at 
>> org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:564)
>>      at 
>> org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:301)
>>      at 
>> org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:249)
>>      at 
>> org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:278)
>>      at 
>> org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:206)
>>      ... 122 more
>> >
>> 
>> 
>> Any hints?
>> 
>> 
>> Robert
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "CAS Community" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> Visit this group at http://groups.google.com/a/apereo.org/group/cas-user/.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "CAS Community" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> Visit this group at http://groups.google.com/a/apereo.org/group/cas-user/.

-- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at http://groups.google.com/a/apereo.org/group/cas-user/.

Reply via email to