[ https://issues.apache.org/jira/browse/ISIS-2296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17050224#comment-17050224 ]
ASF subversion and git services commented on ISIS-2296: ------------------------------------------------------- Commit 790b2962f93b33cdce393a6118f2c2d8085f44e6 in isis's branch refs/heads/master from Andi Huber [ https://gitbox.apache.org/repos/asf?p=isis.git;h=790b296 ] ISIS-2296: sync adoc > @RequestScoped isn't honoured ... also use @TransactionScope instead of our > home-grown WithTransactionScope > ----------------------------------------------------------------------------------------------------------- > > Key: ISIS-2296 > URL: https://issues.apache.org/jira/browse/ISIS-2296 > Project: Isis > Issue Type: Bug > Reporter: Daniel Keir Haywood > Assignee: Andi Huber > Priority: Critical > Fix For: 2.0.0-M3 > > > @RequestScoped isn't honoured (don't see new instance each request) > The services are: > * AcceptHeadersService > * CommandContext > * InteractionContext > * Scratchpad > * PublisherDispatchServiceDefault > That's a big problem... I would expect them to be instantiated (and call > @PostConstruct/@PreDestroy) for each request. As it is, they seem to be > singletons. > Also, these three further domain services are annotated with @RequestScoped, > but also implement WithTransactionScope: > * ChangedObjectService > * QueryResultsCacheDefault > * MetricsServiceDefault > This callback is being called, so they are not memory leaking over time, but > they are not thread-safe for concurrent transactions. At any rate, we should > get rid of this home-grown transaction stuff and instead use Spring's > @TransactionScope > ~~~ > Also, AcceptHeadersServiceForRest (the RO implementation) although it is > annotated with @RequestScoped, seems to have its own thread-local. This > could probably be removed if it can be made to be properly request-scoped. > > -- This message was sent by Atlassian Jira (v8.3.4#803005)