Hello, I see I misunderstood. The stacktrace I posted earlier was for unmodified code.
Attached is another stacktrace, obtained after replacing all* @Transactional(**readOnly = true**)* with *@Transactional(transactionManager = "transactionManagerEvents", readOnly = true)*. The transaction manager seems to be selected correctly this time, *JpaCasEventRepository:getEventsOfTypeForPrincipal()* executes and returns a stream without throwing an exception, but a new one is thrown in *BaseAuthenticationRequestRiskCalculator:calculate()*, when the results are to be collected in this line: *val events = getCasTicketGrantingTicketCreatedEventsFor(principal.getId()).collect(Collectors.toList());* This also seems to happen when I delete the *@Transactional(**readOnly = true**)* lines altogether. I suspected I configured jpa wrongly, but when I drop tables *cas_event* and *events_properties*, add *ddlAuto=create* and run again, these tables get created. I have no idea for this one. Kind regards, Michał Nowakowski czwartek, 30 listopada 2023 o 10:29:16 UTC+1 Mohamed Amdouni napisał(a): > Hello, > > Your case is different from mine. Don't find an explanation why it > returns 2 transactionManagers especially if you annotated the methods with > the Qualifier... > > What if you add a @Primary TransactionManager bean, so it will be called > if there are more than one TransactionManager retreived... > > Best regards. > > Le mer. 29 nov. 2023 à 16:06, Michał Nowakowski <[email protected]> a > écrit : > >> Hello, >> >> The stacktrace doesn't get printed to logs, but I got it with a debugger. >> Please see the attachment. >> >> Also, I simplified my example a bit too much, there has to be at least >> one risk calculator enabled for error to occur. I use: >> >> *cas.authn.adaptive.risk.ip.enabled=true* >> >> >> Kind regards, >> >> Michał Nowakowski >> >> wtorek, 28 listopada 2023 o 15:46:09 UTC+1 Mohamed Amdouni napisał(a): >> >>> Hello, >>> >>> Would you please share the whole trace with caused by etc. >>> >>> I think it’s similar to what I have encountered using two jpa module : >>> see my question about a similar error. >>> >>> I think that it’s a bug in cas because it should use a default Primary >>> transaction manager when a spring integration default class uses >>> @Transactional without qualifier. >>> But better share your complete trace to check. >>> >>> Best regards. >>> >>> Le mar. 28 nov. 2023 à 14:25, Michał Nowakowski <[email protected]> a >>> écrit : >>> >>>> I seem to have an issue with 7.0.0-RC9 when combining >>>> cas-server-support-electrofence with cas-server-support-events-jpa. >>>> >>>> Example build: here >>>> <https://casinit.herokuapp.com/ui?artifactId=cas&casVersion=7.0.0-RC9&commandlineShellSupported=true&dependencies=webapp-tomcat,support-electrofence,support-events-jpa,support-json-service-registry&deploymentType=executable&description=WAR%20overlay%20to%20use%20as%20a%20starting%20template%20for%20Apereo%20CAS%20deployments.&dockerSupported=true&githubActionsSupported=true&groupId=org.apereo.cas&helmSupported=false&herokuSupported=false&javaVersion=11&language=java&name=cas&nativeImageSupported=false&openRewriteSupported=true&packageName=org.apereo&packaging=war&puppeteerSupported=true&type=cas-overlay&version=1.0.0> >>>> ; >>>> >>>> Example configuration: >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> *cas.events.jpa.driverClass=org.postgresql.Drivercas.events.jpa.dialect=org.hibernate.community.dialect.PostgreSQL95Dialectcas.events.jpa.url=jdbc:postgresql://localhost/cas7cas.events.jpa.user=CONFIGUREcas.events.jpa.password=CONFIGUREcas.service-registry.json.location=file:///etc/cas/config/services* >>>> >>>> At specified json location, there needs to be a JSON service, >>>> I used the example one from >>>> https://apereo.github.io/cas/development/services/JSON-Service-Management.html >>>> >>>> When I log in with default user and password, I get thrown back to >>>> login page. In logs, I can see WARN messages: >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> *2023-11-28 09:44:29,314 WARN >>>> [org.apereo.cas.web.flow.resolver.impl.DefaultCasDelegatingWebflowEventResolver] >>>> >>>> - <No qualifying bean of type >>>> 'org.springframework.transaction.TransactionManager' available: expected >>>> single matching bean but found 2: >>>> ticketTransactionManager,transactionManagerEvents >>>> DefaultListableBeanFactory.java:resolveNamedBean:1310 >>>> DefaultListableBeanFactory.java:resolveBean:484 >>>> DefaultListableBeanFactory.java:getBean:3392023-11-28 09:44:29,314 WARN >>>> [org.apereo.cas.web.flow.resolver.impl.DefaultCasDelegatingWebflowEventResolver] >>>> >>>> - <No qualifying bean of type >>>> 'org.springframework.transaction.TransactionManager' available: expected >>>> single matching bean but found 2: >>>> ticketTransactionManager,transactionManagerEvents >>>> DefaultListableBeanFactory.java:resolveNamedBean:1310 >>>> DefaultListableBeanFactory.java:resolveBean:484 >>>> DefaultListableBeanFactory.java:getBean:339* >>>> >>>> This seems to happen in the last line of >>>> BaseAuthenticationRequestRiskCalculator:getCasTicketGrantingTicketCreatedEventsFor(). >>>> When I remove electrofence from gradle file, I get the expected result, >>>> which is a "service not allowed" message. >>>> >>>> It seemed to me like `@Transactional(readOnly = true)` annotations in >>>> JpaCasEventRepository (it's the only place I can >>>> see this exact form of them) do not cooperate transactionManager >>>> parameter from @Transactional at the top of the class. >>>> Hovewer, adding transactionManager to every @Transactional there >>>> doesn't fix the issue, only messages differ: >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> *2023-11-28 11:26:44,019 WARN >>>> [org.apereo.cas.web.flow.resolver.impl.DefaultCasDelegatingWebflowEventResolver] >>>> >>>> - >>>> <org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl@21eae802 >>>> >>>> is closed AbstractLogicalConnectionImplementor.java:errorIfClosed:37 >>>> LogicalConnectionManagedImpl.java:getPhysicalConnection:142 >>>> StatementPreparerImpl.java:connection:542023-11-28 11:26:44,019 WARN >>>> [org.apereo.cas.web.flow.resolver.impl.DefaultCasDelegatingWebflowEventResolver] >>>> >>>> - >>>> <org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl@21eae802 >>>> >>>> is closed AbstractLogicalConnectionImplementor.java:errorIfClosed:37 >>>> LogicalConnectionManagedImpl.java:getPhysicalConnection:142 >>>> StatementPreparerImpl.java:connection:54* >>>> >>>> What am I doing wrong? >>>> >>>> Kind regards, >>>> Michał Nowakowski >>>> >>>> -- >>>> - Website: https://apereo.github.io/cas >>>> - Gitter Chatroom: https://gitter.im/apereo/cas >>>> - List Guidelines: https://goo.gl/1VRrw7 >>>> - Contributions: https://goo.gl/mh7qDG >>>> --- >>>> 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]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/a/apereo.org/d/msgid/cas-user/6a4a70cc-80fd-4836-beb0-029dd70a2807n%40apereo.org >>>> >>>> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/6a4a70cc-80fd-4836-beb0-029dd70a2807n%40apereo.org?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >> - Website: https://apereo.github.io/cas >> - Gitter Chatroom: https://gitter.im/apereo/cas >> - List Guidelines: https://goo.gl/1VRrw7 >> - Contributions: https://goo.gl/mh7qDG >> --- >> 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]. >> > To view this discussion on the web visit >> https://groups.google.com/a/apereo.org/d/msgid/cas-user/677322a1-242e-47d8-ab6e-2921c49448can%40apereo.org >> >> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/677322a1-242e-47d8-ab6e-2921c49448can%40apereo.org?utm_medium=email&utm_source=footer> >> . >> > -- - Website: https://apereo.github.io/cas - Gitter Chatroom: https://gitter.im/apereo/cas - List Guidelines: https://goo.gl/1VRrw7 - Contributions: https://goo.gl/mh7qDG --- 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]. To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/3d1f6222-9982-4896-a1a7-f8cc172fafcdn%40apereo.org.
<<attachment: stacktrace2.txt.zip>>
