mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud)
82289: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud) 81646: Merged V4.1-BUG-FIX (4.1.10) to V4.2-BUG-FIX (4.2.4) 81441: Merged DEV to V4.1-BUG-FIX 81113 : MNT-12145 : BM-0013 Soak test: Exception during generation of feeds org.springframework.dao.DataIntegrityViolationException. Added RetryingTransactionHelper (before the job lock is created), which would deal with the exception neatly, and disabled force writable flag. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@83202 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -85,7 +85,7 @@
|
||||
<!-- Local (non-grid-based) Feed Generator -->
|
||||
|
||||
<bean id="feedGenerator" class="org.alfresco.repo.activities.feed.local.LocalFeedGenerator" parent="baseFeedGenerator">
|
||||
<property name="feedTaskProcessor" ref="feedTaskProcessor"/>
|
||||
<property name="feedTaskProcessor" ref="FeedTaskProcessor"/>
|
||||
</bean>
|
||||
|
||||
<bean id="feedTaskProcessor" class="org.alfresco.repo.activities.feed.local.LocalFeedTaskProcessor">
|
||||
@@ -113,6 +113,20 @@
|
||||
|
||||
</bean>
|
||||
|
||||
<bean id="FeedTaskProcessor" class="org.springframework.aop.framework.ProxyFactoryBean">
|
||||
<property name="proxyTargetClass">
|
||||
<value>true</value>
|
||||
</property>
|
||||
<property name="target">
|
||||
<ref bean="feedTaskProcessor"/>
|
||||
</property>
|
||||
<property name="interceptorNames">
|
||||
<list>
|
||||
<idref bean="checkTxnAdvisor" />
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="feedNotifier" class="org.alfresco.repo.activities.feed.FeedNotifierImpl">
|
||||
<property name="personService" ref="PersonService"/>
|
||||
<property name="nodeService" ref="NodeService"/>
|
||||
|
@@ -164,7 +164,17 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
|
||||
return;
|
||||
}
|
||||
|
||||
//MNT-12145 : BM-0013 Soak test: Exception during generation of feeds org.springframework.dao.DataIntegrityViolationException.
|
||||
// run one job cycle
|
||||
RetryingTransactionHelper helper = transactionService.getRetryingTransactionHelper();
|
||||
|
||||
helper.doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback<Void>()
|
||||
{
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
|
||||
LockCallback lockCallback = new LockCallback();
|
||||
|
||||
String lockToken = null;
|
||||
try
|
||||
{
|
||||
@@ -177,19 +187,7 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
|
||||
logger.trace("Activities feed generator started");
|
||||
}
|
||||
|
||||
// run one job cycle
|
||||
RetryingTransactionHelper helper = transactionService.getRetryingTransactionHelper();
|
||||
// respect read-only server
|
||||
helper.setForceWritable(true);
|
||||
helper.doInTransaction(new RetryingTransactionHelper.RetryingTransactionCallback<Void>()
|
||||
{
|
||||
@Override
|
||||
public Void execute() throws Throwable
|
||||
{
|
||||
generate();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
if (logger.isTraceEnabled())
|
||||
{
|
||||
@@ -220,6 +218,9 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
|
||||
{
|
||||
releaseLock(lockCallback, lockToken);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}, false, false);
|
||||
}
|
||||
|
||||
protected abstract boolean generate() throws Exception;
|
||||
|
Reference in New Issue
Block a user