mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V3.1 to HEAD
Merged DEV/LIVECYCLE-3.1 to V3.1 12665: Merged V2.1-A to DEV\LIVECYCLE-3.1 8615: Cluster startup and property setting enhancements 8657: Fixed shutdown procedure for JGroups 8676: Enable system property overriding of more JGroups TCP stack properties - ${alfresco.tcp.start_port:7800} - ${alfresco.tcp.port_range:3} 8678: More logging of cluster view changes and channel factory config during startup 12667: Merged V2.1-A to DEV/LIVECYCLE-3.1 9188: Index recovery job only calls through if property 'alfresco.cluster.name' has been set 9197: Fixed unit test after bean property name change 12793: Merged V2.1-A to DEV/LIVECYCLE-3.1 7765: Requested mimetypes 8526: Updated Mimetypes 8610: Mimetype changes Many branding and other non-core changes were omitted 12848: Fixed JAWS-223: Adobe LC Hibernate Dialect Loading - Hibernate dialect can be null or empty and will be autodetected from the database metadata - Property 'hibernate.dialect' is set on the System - iBatis loading (activities) checks for 'hibernate.dialect' - SchemaBootstrap checks for 'hibernate.dialect' 12854: Merged V2.1-A to DEV/LIVECYCLE-3.1 8681: Fixed mimetype 'application/photoshop' 12856: Merged V2.1-A to DEV/LIVECYCLE-3.1 9008: Fixed ADB-64: NPE when applying aspect cm:mlDocument 12857: Merged V2.1-A to DEV/LIVECYCLE-3.1 9032: ACT-2303: "Namespace is displayed in the Node browser is www.alfresco.org ... ___________________________________________________________________ Modified: svn:mergeinfo Merged /alfresco/BRANCHES/V2.1-A:r7765,8526,8610,8615,8657,8676,8678,9188,9197 Merged /alfresco/BRANCHES/V3.1:r12894 Merged /alfresco/BRANCHES/DEV/LIVECYCLE-3.1:r12665,12667,12793,12848,12854,12856-12857 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13518 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -58,6 +58,7 @@ public class JGroupsKeepAliveHeartbeatReceiver extends ReceiverAdapter
|
||||
private final JGroupsKeepAliveHeartbeatSender heartbeatSender;
|
||||
private final Channel channel;
|
||||
private boolean stopped;
|
||||
private View lastView;
|
||||
private final ThreadPoolExecutor threadPool;
|
||||
private final Set<String> rmiUrlsProcessingQueue;
|
||||
|
||||
@@ -189,9 +190,28 @@ public class JGroupsKeepAliveHeartbeatReceiver extends ReceiverAdapter
|
||||
@Override
|
||||
public void viewAccepted(View newView)
|
||||
{
|
||||
if (logger.isDebugEnabled())
|
||||
if (EqualsHelper.nullSafeEquals(lastView, newView))
|
||||
{
|
||||
logger.debug("Cluster view changed: " + newView);
|
||||
// No change, so ignore
|
||||
return;
|
||||
}
|
||||
int lastSize = (lastView == null) ? 0 : lastView.getMembers().size();
|
||||
int newSize = newView.getMembers().size();
|
||||
// Report
|
||||
if (newSize < lastSize)
|
||||
{
|
||||
logger.warn("\n" +
|
||||
"New cluster view with fewer members: \n" +
|
||||
" Last View: " + lastView + "\n" +
|
||||
" New View: " + newView);
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.info("\n" +
|
||||
"New cluster view with additional members: \n" +
|
||||
" Last View: " + lastView + "\n" +
|
||||
" New View: " + newView);
|
||||
}
|
||||
lastView = newView;
|
||||
}
|
||||
}
|
||||
|
@@ -31,6 +31,7 @@ import net.sf.ehcache.CacheManager;
|
||||
import net.sf.ehcache.distribution.CachePeer;
|
||||
|
||||
import org.alfresco.repo.jgroups.AlfrescoJGroupsChannelFactory;
|
||||
import org.alfresco.util.VmShutdownListener;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.jgroups.Address;
|
||||
@@ -60,6 +61,8 @@ public final class JGroupsKeepAliveHeartbeatSender
|
||||
lastHeartbeatSendUrls = heartbeatUrls;
|
||||
}
|
||||
|
||||
private VmShutdownListener vmShutdownListener;
|
||||
|
||||
private final CacheManager cacheManager;
|
||||
private final Channel heartbeatChannel;
|
||||
private long heartBeatInterval;
|
||||
@@ -77,7 +80,7 @@ public final class JGroupsKeepAliveHeartbeatSender
|
||||
Channel heartbeatChannel,
|
||||
long heartBeatInterval)
|
||||
{
|
||||
|
||||
this.vmShutdownListener = new VmShutdownListener("JGroupsKeepAliveHeartbeatSender");
|
||||
this.cacheManager = cacheManager;
|
||||
this.heartbeatChannel = heartbeatChannel;
|
||||
this.heartBeatInterval = heartBeatInterval;
|
||||
@@ -112,6 +115,7 @@ public final class JGroupsKeepAliveHeartbeatSender
|
||||
public void init()
|
||||
{
|
||||
serverThread = new HeartbeatSenderThread();
|
||||
serverThread.setDaemon(true);
|
||||
serverThread.start();
|
||||
}
|
||||
|
||||
@@ -149,7 +153,7 @@ public final class JGroupsKeepAliveHeartbeatSender
|
||||
logger.debug("\n" +
|
||||
"Starting cache peer URLs heartbeat");
|
||||
}
|
||||
while (!stopped)
|
||||
while (!stopped && !vmShutdownListener.isVmShuttingDown())
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -172,6 +176,11 @@ public final class JGroupsKeepAliveHeartbeatSender
|
||||
{
|
||||
logger.debug("Heartbeat sending failed: ", e);
|
||||
}
|
||||
// Quick exit if necessary
|
||||
if (stopped || vmShutdownListener.isVmShuttingDown())
|
||||
{
|
||||
break;
|
||||
}
|
||||
// Wait for the next heartbeat
|
||||
synchronized (this)
|
||||
{
|
||||
|
Reference in New Issue
Block a user