diff --git a/source/java/org/alfresco/repo/activities/feed/FeedNotifierImpl.java b/source/java/org/alfresco/repo/activities/feed/FeedNotifierImpl.java index 52ed3a7b64..e8fbc4b5f9 100644 --- a/source/java/org/alfresco/repo/activities/feed/FeedNotifierImpl.java +++ b/source/java/org/alfresco/repo/activities/feed/FeedNotifierImpl.java @@ -346,12 +346,13 @@ public class FeedNotifierImpl implements FeedNotifier, ApplicationContextAware public void beforeProcess() throws Throwable { + AuthenticationUtil.pushAuthentication(); AuthenticationUtil.setFullyAuthenticatedUser(currentUser); } public void afterProcess() throws Throwable { - AuthenticationUtil.clearCurrentSecurityContext(); + AuthenticationUtil.popAuthentication(); } public void process(final PersonInfo person) throws Throwable diff --git a/source/test-java/org/alfresco/repo/activities/feed/FeedNotifierTest.java b/source/test-java/org/alfresco/repo/activities/feed/FeedNotifierTest.java index 4d07b5ca2a..d7cbc05e48 100644 --- a/source/test-java/org/alfresco/repo/activities/feed/FeedNotifierTest.java +++ b/source/test-java/org/alfresco/repo/activities/feed/FeedNotifierTest.java @@ -248,6 +248,24 @@ public class FeedNotifierTest maxSequence = postDAO.getMaxActivitySeq(); } } + + /** + * MNT-13625 test + */ + @Test + public void testNumThread() throws Exception + { + AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getSystemUserName()); + generateActivities(); + // set activities.feedNotifier.numThreads property to 1 + feedNotifier.setNumThreads(1); + feedNotifier.execute(1); + assertTrue(errorProneActionExecutor.getNumSuccess() > 0); + // set activities.feedNotifier.numThreads property to 4 + feedNotifier.setNumThreads(4); + feedNotifier.execute(1); + assertTrue(errorProneActionExecutor.getNumSuccess() > 0); + } /** * ALF-16155 test