diff --git a/config/alfresco/subsystems/ActivitiesFeed/default/activities-feed-context.xml b/config/alfresco/subsystems/ActivitiesFeed/default/activities-feed-context.xml
index 2b0b6e4c32..ea0f9298dc 100644
--- a/config/alfresco/subsystems/ActivitiesFeed/default/activities-feed-context.xml
+++ b/config/alfresco/subsystems/ActivitiesFeed/default/activities-feed-context.xml
@@ -64,6 +64,7 @@
+
diff --git a/source/java/org/alfresco/repo/activities/feed/AbstractFeedGenerator.java b/source/java/org/alfresco/repo/activities/feed/AbstractFeedGenerator.java
index 98321fa01c..dbe2a82323 100644
--- a/source/java/org/alfresco/repo/activities/feed/AbstractFeedGenerator.java
+++ b/source/java/org/alfresco/repo/activities/feed/AbstractFeedGenerator.java
@@ -26,6 +26,7 @@ import org.alfresco.repo.lock.JobLockService.JobLockRefreshCallback;
import org.alfresco.service.cmr.security.AuthenticationService;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
+import org.alfresco.service.transaction.TransactionService;
import org.alfresco.util.PropertyCheck;
import org.alfresco.util.VmShutdownListener;
import org.apache.commons.logging.Log;
@@ -52,7 +53,7 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
private ActivityPostDAO postDAO;
private ActivityPostServiceImpl activityPostServiceImpl;
private AuthenticationService authenticationService;
-
+ private TransactionService transactionService;
private JobLockService jobLockService;
private String repoEndPoint; // http://hostname:port/webapp (eg. http://localhost:8080/alfresco)
@@ -112,8 +113,12 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
{
this.jobLockService = jobLockService;
}
-
+ public void setTransactionService(TransactionService transactionService)
+ {
+ this.transactionService = transactionService;
+ }
+
public RepoCtx getWebScriptsCtx()
{
return this.ctx;
@@ -148,6 +153,16 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
{
checkProperties();
+ // Avoid running when in read-only mode
+ if (!transactionService.getAllowWrite())
+ {
+ if (logger.isTraceEnabled())
+ {
+ logger.trace("Activities feed generator not running due to read-only server");
+ }
+ return;
+ }
+
String lockToken = null;
try