diff --git a/OpenSim/Grid/GridServer/GridMessagingModule.cs b/OpenSim/Grid/GridServer/GridMessagingModule.cs index 2a26f249bc..16623e7df3 100644 --- a/OpenSim/Grid/GridServer/GridMessagingModule.cs +++ b/OpenSim/Grid/GridServer/GridMessagingModule.cs @@ -71,6 +71,9 @@ namespace OpenSim.Grid.GridServer m_gridDBService = gridDBService; m_gridCore = gridCore; m_config = config; + + m_gridCore.RegisterInterface(this); + RegisterHandlers(); } @@ -84,7 +87,6 @@ namespace OpenSim.Grid.GridServer //have these in separate method as some servers restart the http server and reregister all the handlers. m_httpServer = m_gridCore.GetHttpServer(); - m_gridCore.RegisterInterface(this); // Message Server ---> Grid Server m_httpServer.AddXmlRPCHandler("register_messageserver", XmlRPCRegisterMessageServer); m_httpServer.AddXmlRPCHandler("deregister_messageserver", XmlRPCDeRegisterMessageServer); diff --git a/OpenSim/Grid/GridServer/GridXmlRpcModule.cs b/OpenSim/Grid/GridServer/GridXmlRpcModule.cs index 8998b5526b..874b57f72e 100644 --- a/OpenSim/Grid/GridServer/GridXmlRpcModule.cs +++ b/OpenSim/Grid/GridServer/GridXmlRpcModule.cs @@ -50,6 +50,7 @@ namespace OpenSim.Grid.GridServer protected GridConfig m_config; + protected IGridMessagingModule m_messagingServerMapper; /// /// Used to notify old regions as to which OpenSim version to upgrade to /// @@ -78,7 +79,11 @@ namespace OpenSim.Grid.GridServer public void PostInitialise() { - + IGridMessagingModule messagingModule; + if (m_gridCore.TryGet(out messagingModule)) + { + m_messagingServerMapper = messagingModule; + } } public void RegisterHandlers() @@ -391,10 +396,12 @@ namespace OpenSim.Grid.GridServer responseData["messageserver_count"] = 0; - IGridMessagingModule messagingModule; - if (m_gridCore.TryGet(out messagingModule)) + // IGridMessagingModule messagingModule; + // if (m_gridCore.TryGet(out messagingModule)) + //{ + if(m_messagingServerMapper != null) { - List messageServers = messagingModule.MessageServers; + List messageServers = m_messagingServerMapper.MessageServers; responseData["messageserver_count"] = messageServers.Count; for (int i = 0; i < messageServers.Count; i++)