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:
@@ -153,13 +153,33 @@ public class AlfrescoJGroupsChannelFactory extends AbstractLifecycleBean
|
||||
}
|
||||
|
||||
/**
|
||||
* Close all channels. All the channels will continue to function, but will be replaced
|
||||
* internally with dummy channels. Effectively, all the cluster communications will be
|
||||
* closed down.
|
||||
* Close all channels. All the channels will be closed and will cease to function.
|
||||
*/
|
||||
private static void closeChannels()
|
||||
{
|
||||
changeClusterNamePrefix(null);
|
||||
for (Map.Entry<String, ChannelProxy> entry : channels.entrySet())
|
||||
{
|
||||
ChannelProxy channelProxy = entry.getValue();
|
||||
|
||||
// Close the channel via the proxy
|
||||
try
|
||||
{
|
||||
channelProxy.close();
|
||||
channelProxy.shutdown();
|
||||
if (logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("\n" +
|
||||
"Closed channel: " + channelProxy);
|
||||
}
|
||||
}
|
||||
catch (Throwable e)
|
||||
{
|
||||
logger.warn(
|
||||
"Unable to close channel: \n" +
|
||||
" Channel: " + channelProxy,
|
||||
e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -358,11 +378,13 @@ public class AlfrescoJGroupsChannelFactory extends AbstractLifecycleBean
|
||||
e);
|
||||
}
|
||||
// done
|
||||
if (logger.isDebugEnabled())
|
||||
if (logger.isInfoEnabled())
|
||||
{
|
||||
logger.debug("\n" +
|
||||
logger.info("\n" +
|
||||
"Created JChannelFactory: \n" +
|
||||
" configuration: " + AlfrescoJGroupsChannelFactory.configUrl);
|
||||
" Cluster Name: " + (AlfrescoJGroupsChannelFactory.clusterNamePrefix == null ? "" : AlfrescoJGroupsChannelFactory.clusterNamePrefix) + "\n" +
|
||||
" Stack Mapping: " + AlfrescoJGroupsChannelFactory.stacksByAppRegion + "\n" +
|
||||
" Configuration: " + AlfrescoJGroupsChannelFactory.configUrl);
|
||||
}
|
||||
return AlfrescoJGroupsChannelFactory.channelFactory;
|
||||
}
|
||||
@@ -394,6 +416,13 @@ public class AlfrescoJGroupsChannelFactory extends AbstractLifecycleBean
|
||||
try
|
||||
{
|
||||
oldChannel.close();
|
||||
oldChannel.shutdown();
|
||||
if (logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("\n" +
|
||||
"Closed old channel during channel rebuild: \n" +
|
||||
" Old channel: " + oldChannel);
|
||||
}
|
||||
}
|
||||
catch (Throwable e)
|
||||
{
|
||||
@@ -420,12 +449,15 @@ public class AlfrescoJGroupsChannelFactory extends AbstractLifecycleBean
|
||||
writeLock.lock();
|
||||
try
|
||||
{
|
||||
if (clusterNamePrefix == null || clusterNamePrefix.length() == 0)
|
||||
if (clusterNamePrefix == null || clusterNamePrefix.trim().length() == 0 || clusterNamePrefix.startsWith("${"))
|
||||
{
|
||||
// Clear everything out
|
||||
AlfrescoJGroupsChannelFactory.clusterNamePrefix = null;
|
||||
}
|
||||
AlfrescoJGroupsChannelFactory.clusterNamePrefix = clusterNamePrefix;
|
||||
else
|
||||
{
|
||||
AlfrescoJGroupsChannelFactory.clusterNamePrefix = clusterNamePrefix;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
@@ -490,11 +522,11 @@ public class AlfrescoJGroupsChannelFactory extends AbstractLifecycleBean
|
||||
}
|
||||
|
||||
/**
|
||||
* @see AlfrescoJGroupsChannelFactory#changeClusterName(String)
|
||||
* @see AlfrescoJGroupsChannelFactory#changeClusterNamePrefix(String)
|
||||
*/
|
||||
public void setClusterNamePrefix(String clusterNamePrefix)
|
||||
public void setClusterName(String clusterName)
|
||||
{
|
||||
AlfrescoJGroupsChannelFactory.changeClusterNamePrefix(clusterNamePrefix);
|
||||
AlfrescoJGroupsChannelFactory.changeClusterNamePrefix(clusterName);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -579,6 +611,8 @@ public class AlfrescoJGroupsChannelFactory extends AbstractLifecycleBean
|
||||
/**
|
||||
* Swap the channel. The old delegate will be disconnected before the swap occurs.
|
||||
* This guarantees data consistency, assuming that any failures will be handled.
|
||||
* <p>
|
||||
* Note that the old delegate is not closed or shutdown.
|
||||
*
|
||||
* @param the new delegate
|
||||
* @return the old, disconnected delegate
|
||||
@@ -593,8 +627,6 @@ public class AlfrescoJGroupsChannelFactory extends AbstractLifecycleBean
|
||||
}
|
||||
delegate.setUpHandler(null);
|
||||
|
||||
// Close the old delegate
|
||||
delegate.close();
|
||||
Channel oldDelegage = delegate;
|
||||
|
||||
// Assign the new delegate and carry the listeners over
|
||||
|
Reference in New Issue
Block a user