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 -->
|
<!-- Local (non-grid-based) Feed Generator -->
|
||||||
|
|
||||||
<bean id="feedGenerator" class="org.alfresco.repo.activities.feed.local.LocalFeedGenerator" parent="baseFeedGenerator">
|
<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>
|
||||||
|
|
||||||
<bean id="feedTaskProcessor" class="org.alfresco.repo.activities.feed.local.LocalFeedTaskProcessor">
|
<bean id="feedTaskProcessor" class="org.alfresco.repo.activities.feed.local.LocalFeedTaskProcessor">
|
||||||
@@ -113,6 +113,20 @@
|
|||||||
|
|
||||||
</bean>
|
</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">
|
<bean id="feedNotifier" class="org.alfresco.repo.activities.feed.FeedNotifierImpl">
|
||||||
<property name="personService" ref="PersonService"/>
|
<property name="personService" ref="PersonService"/>
|
||||||
<property name="nodeService" ref="NodeService"/>
|
<property name="nodeService" ref="NodeService"/>
|
||||||
|
@@ -164,7 +164,17 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
|
|||||||
return;
|
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();
|
LockCallback lockCallback = new LockCallback();
|
||||||
|
|
||||||
String lockToken = null;
|
String lockToken = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -177,19 +187,7 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
|
|||||||
logger.trace("Activities feed generator started");
|
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();
|
generate();
|
||||||
return null;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (logger.isTraceEnabled())
|
if (logger.isTraceEnabled())
|
||||||
{
|
{
|
||||||
@@ -220,6 +218,9 @@ public abstract class AbstractFeedGenerator implements FeedGenerator
|
|||||||
{
|
{
|
||||||
releaseLock(lockCallback, lockToken);
|
releaseLock(lockCallback, lockToken);
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract boolean generate() throws Exception;
|
protected abstract boolean generate() throws Exception;
|
||||||
|
Reference in New Issue
Block a user