You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/07/16 22:35:11 UTC
svn commit: r1611181 - in /qpid/trunk/qpid/java:
bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/
broker-core/src/main/java/org/apache/qpid/server/model/
broker-core/src/main/java/org/apache/qpid/server/model/adapter/ broker-co...
Author: rgodfrey
Date: Wed Jul 16 20:35:11 2014
New Revision: 1611181
URL: http://svn.apache.org/r1611181
Log:
QPID-5787 : [Java Broker] Management can observe a child object before its constructor has completed
Modified:
qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObjectTypeFactory.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java?rev=1611181&r1=1611180&r2=1611181&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java Wed Jul 16 20:35:11 2014
@@ -686,6 +686,7 @@ public class BDBHAVirtualHostNodeImpl ex
private void recoverRemoteReplicationNode(ReplicationNode node)
{
BDBHARemoteReplicationNodeImpl remoteNode = new BDBHARemoteReplicationNodeImpl(BDBHAVirtualHostNodeImpl.this, nodeToAttributes(node), getReplicatedEnvironmentFacade());
+ remoteNode.registerWithParents();
remoteNode.open();
getEventLogger().message(getVirtualHostNodeLogSubject(), HighAvailabilityMessages.ATTACHED(remoteNode.getName(), getGroupName(), String.valueOf(remoteNode.getState())));
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1611181&r1=1611180&r2=1611181&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java Wed Jul 16 20:35:11 2014
@@ -237,14 +237,6 @@ public abstract class AbstractConfigured
_childrenByName.put(childClass, new ConcurrentHashMap<String, ConfiguredObject<?>>());
}
- for(ConfiguredObject<?> parent : parents.values())
- {
- if(parent instanceof AbstractConfiguredObject<?>)
- {
- ((AbstractConfiguredObject<?>)parent).registerChild(this);
- }
- }
-
for(Map.Entry<Class<? extends ConfiguredObject>, ConfiguredObject<?>> entry : parents.entrySet())
{
addParent((Class<ConfiguredObject<?>>) entry.getKey(), entry.getValue());
@@ -405,6 +397,17 @@ public abstract class AbstractConfigured
}
}
+ public void registerWithParents()
+ {
+ for(ConfiguredObject<?> parent : _parents.values())
+ {
+ if(parent instanceof AbstractConfiguredObject<?>)
+ {
+ ((AbstractConfiguredObject<?>)parent).registerChild(this);
+ }
+ }
+ }
+
protected void closeChildren()
{
applyToChildren(new Action<ConfiguredObject<?>>()
@@ -453,6 +456,7 @@ public abstract class AbstractConfigured
{
if(_dynamicState.compareAndSet(DynamicState.UNINIT, DynamicState.OPENED))
{
+ registerWithParents();
final AuthenticatedPrincipal currentUser = SecurityManager.getCurrentUser();
if(currentUser != null)
{
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObjectTypeFactory.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObjectTypeFactory.java?rev=1611181&r1=1611180&r2=1611181&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObjectTypeFactory.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObjectTypeFactory.java Wed Jul 16 20:35:11 2014
@@ -109,7 +109,9 @@ abstract public class AbstractConfigured
{
Map<String,Object> attributesWithId = new HashMap<String, Object>(getRecord().getAttributes());
attributesWithId.put(ConfiguredObject.ID, getRecord().getId());
- return createInstance(attributesWithId, getParents());
+ X instance = createInstance(attributesWithId, getParents());
+ instance.registerWithParents();
+ return instance;
}
}
}
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java?rev=1611181&r1=1611180&r2=1611181&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java Wed Jul 16 20:35:11 2014
@@ -61,7 +61,6 @@ public final class ConnectionAdapter ext
deleted();
}
});
- open();
conn.addSessionListener(this);
}
@@ -215,6 +214,7 @@ public final class ConnectionAdapter ext
public void sessionAdded(final AMQSessionModel<?, ?> session)
{
SessionAdapter adapter = new SessionAdapter(this, session);
+ adapter.create();
childAdded(adapter);
}
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java?rev=1611181&r1=1611180&r2=1611181&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProviderImpl.java Wed Jul 16 20:35:11 2014
@@ -146,6 +146,7 @@ public class FileBasedGroupProviderImpl
attrMap.put(Group.NAME, group.getName());
GroupAdapter groupAdapter = new GroupAdapter(attrMap);
principals.add(groupAdapter);
+ groupAdapter.registerWithParents();
groupAdapter.open();
}
@@ -407,6 +408,7 @@ public class FileBasedGroupProviderImpl
attrMap.put(GroupMember.ID,id);
attrMap.put(GroupMember.NAME, principal.getName());
GroupMemberAdapter groupMemberAdapter = new GroupMemberAdapter(attrMap);
+ groupMemberAdapter.registerWithParents();
groupMemberAdapter.open();
members.add(groupMemberAdapter);
}
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java?rev=1611181&r1=1611180&r2=1611181&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java Wed Jul 16 20:35:11 2014
@@ -78,7 +78,6 @@ final class SessionAdapter extends Abstr
}
});
- open();
}
private static Map<String, Object> createAttributes(final AMQSessionModel session)
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java?rev=1611181&r1=1611180&r2=1611181&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManager.java Wed Jul 16 20:35:11 2014
@@ -110,6 +110,7 @@ public abstract class PrincipalDatabaseA
for (Principal user : users)
{
PrincipalAdapter principalAdapter = new PrincipalAdapter(user);
+ principalAdapter.registerWithParents();
principalAdapter.open();
_userMap.put(user, principalAdapter);
}
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java?rev=1611181&r1=1611180&r2=1611181&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java Wed Jul 16 20:35:11 2014
@@ -768,7 +768,8 @@ public abstract class AbstractVirtualHos
connection.block();
}
- Connection c = new ConnectionAdapter(connection);
+ ConnectionAdapter c = new ConnectionAdapter(connection);
+ c.create();
childAdded(c);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org