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/.