Mathias Kluba avatar Mathias Kluba committed 053efec

first commit

Comments (0)

Files changed (76)

Empty file added.

TestSpringMessaging.2008.sln

+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestSpringMessaging", "TestSpringMessaging\TestSpringMessaging.2008.csproj", "{FE46B04B-5818-487F-B21C-68D552433677}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x86 = Debug|x86
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{FE46B04B-5818-487F-B21C-68D552433677}.Debug|x86.ActiveCfg = Debug|x86
+		{FE46B04B-5818-487F-B21C-68D552433677}.Debug|x86.Build.0 = Debug|x86
+		{FE46B04B-5818-487F-B21C-68D552433677}.Release|x86.ActiveCfg = Release|x86
+		{FE46B04B-5818-487F-B21C-68D552433677}.Release|x86.Build.0 = Release|x86
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(MonoDevelopProperties) = preSolution
+		StartupItem = TestSpringMessaging\TestSpringMessaging.2008.csproj
+	EndGlobalSection
+EndGlobal

TestSpringMessaging.gpState

+<?xml version="1.0" encoding="utf-8"?>
+<GuidancePackagesState xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/pag/gax-gpstate">
+  <Packages />
+</GuidancePackagesState>

TestSpringMessaging.sln

+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestSpringMessaging", "TestSpringMessaging\TestSpringMessaging.csproj", "{FE46B04B-5818-487F-B21C-68D552433677}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|x86 = Debug|x86
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{FE46B04B-5818-487F-B21C-68D552433677}.Debug|x86.ActiveCfg = Debug|x86
+		{FE46B04B-5818-487F-B21C-68D552433677}.Debug|x86.Build.0 = Debug|x86
+		{FE46B04B-5818-487F-B21C-68D552433677}.Release|x86.ActiveCfg = Release|x86
+		{FE46B04B-5818-487F-B21C-68D552433677}.Release|x86.Build.0 = Release|x86
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(MonoDevelopProperties) = preSolution
+		StartupItem = TestSpringMessaging\TestSpringMessaging.csproj
+	EndGlobalSection
+EndGlobal
Add a comment to this file

TestSpringMessaging.suo

Binary file added.

TestSpringMessaging.userprefs

+<Properties>
+  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|x86" />
+  <MonoDevelop.Ide.Workbench />
+  <MonoDevelop.Ide.DebuggingService.Breakpoints>
+    <BreakpointStore />
+  </MonoDevelop.Ide.DebuggingService.Breakpoints>
+  <MonoDevelop.Ide.DebuggingService.PinnedWatches />
+</Properties>

TestSpringMessaging/CreatePeopleWindowsAccountManager.cs

+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Common.Logging;
+using Apache.NMS;
+using Spring.Messaging.Nms.Core;
+using TestSpringMessaging.Messages;
+using TestSpringMessaging.Repositories;
+using TestSpringMessaging.Model;
+
+namespace TestSpringMessaging
+{
+    public class CreatePeopleWindowsAccountManager
+    {
+        private static readonly ILog logger = LogManager.GetLogger(typeof(CreatePeopleWindowsAccountManager));
+
+        public IAdAccountRepository AdAccountRepository { get; set; }
+
+        public CreatePeopleWindowsAccountResponse HandleMessage(CreatePeopleWindowsAccountRequest message)
+        {   
+            logger.InfoFormat("Account creation requested: ID={0} Firstname={1} Lastname={2}", message.RequestId, message.Firstname, message.Lastname);         
+
+            // compute the account
+            var account = new AdAccount();
+            account.Firstname = message.Firstname;
+            account.Lastname = message.Lastname;
+            account.SamAccountName = (message.Firstname[0]+message.Lastname+message.ArrivalDate.ToString("MMddyy")).ToLowerInvariant();
+
+            var existing = this.AdAccountRepository.FindBySamAccountName(account.SamAccountName);
+
+            if (existing != null)
+            {
+                return new CreatePeopleWindowsAccountResponse
+                {
+                    RequestId = message.RequestId,
+                    ErrorMessage = "account already exists: " + account.SamAccountName,
+                    Status = MessageStatus.Error
+                };
+            }
+
+            this.AdAccountRepository.CreateAccount(account);
+            
+            return new CreatePeopleWindowsAccountResponse
+            {
+                RequestId = message.RequestId,
+                CreatedAccountGuid = account.Guid,
+                Status = MessageStatus.OK
+            };
+        }
+    }
+}

TestSpringMessaging/Messages/CreatePeopleWindowsAccountRequest.cs

+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace TestSpringMessaging.Messages
+{
+    [Serializable]
+    public class CreatePeopleWindowsAccountRequest
+    {
+        public Guid RequestId { get; set; }
+
+        public string Firstname { get; set; }
+
+        public string Lastname { get; set; }
+
+        public DateTime ArrivalDate { get; set; }
+    }
+}

TestSpringMessaging/Messages/CreatePeopleWindowsAccountResponse.cs

+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace TestSpringMessaging.Messages
+{
+    public class CreatePeopleWindowsAccountResponse
+    {
+        public Guid RequestId { get; set; }
+
+        public Guid CreatedAccountGuid { get; set; }
+
+        public MessageStatus Status { get; set; }
+
+        public string ErrorMessage { get; set; }
+    }
+}

TestSpringMessaging/Messages/MessageStatus.cs

+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace TestSpringMessaging.Messages
+{
+    public enum MessageStatus
+    {
+        OK,
+        Error
+    }
+}

TestSpringMessaging/Model/AdAccount.cs

+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace TestSpringMessaging.Model
+{
+    public class AdAccount
+    {
+        public Guid Guid { get; set; }
+
+        public string Firstname { get; set; }
+
+        public string Lastname { get; set; }
+
+        public string SamAccountName { get; set; }
+    }
+}

TestSpringMessaging/Program.cs

+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using FluentSpring.Context;
+using Spring.Objects.Factory.Config;
+using Spring.Messaging.Nms.Listener;
+using Apache.NMS.ActiveMQ;
+using Spring.Context;
+using Spring.Context.Support;
+using FluentSpring.Context.Extensions;
+using Spring.Messaging.Nms.Core;
+using System.Threading;
+using TestSpringMessaging.Messages;
+using Apache.NMS;
+using Spring.Messaging.Nms.Listener.Adapter;
+using TestSpringMessaging.Repositories;
+using Spring.Messaging.Nms.Support.Converter;
+using Common.Logging;
+
+namespace TestSpringMessaging
+{
+    class Program
+    {
+        private static readonly ILog logger = LogManager.GetLogger(typeof(Program));
+
+        static void Main(string[] args)
+        {
+            FluentApplicationContext.Register<AdAccountRepository>();
+
+            //FluentApplicationContext.Register<IMessageConverter>(x => new XmlMessageConverter());
+            FluentApplicationContext.Register<IMessageConverter>(x => new SimpleMessageConverter());
+
+            FluentApplicationContext.Register(x => new VariablePlaceholderConfigurer
+            {
+                VariableSources = new List<IVariableSource>
+                {
+                    new ConfigSectionVariableSource()
+                }
+            });
+
+            FluentApplicationContext.Register(x => new SimpleMessageListenerContainer
+            {
+                DestinationName = "APP.REQUEST",
+                ConcurrentConsumers = 1,
+                MessageListener = new MessageListenerAdapter
+                {
+                    HandlerObject = new CreatePeopleWindowsAccountManager()
+                    {
+                        AdAccountRepository = x.GetObject<AdAccountRepository>()
+                    },
+                    //DefaultHandlerMethod = "HandleMessage",
+                    MessageConverter = x.GetObject<IMessageConverter>()
+                },
+                ConnectionFactory = x.GetObject<IConnectionFactory>()
+            });
+
+            FluentApplicationContext.Register<IConnectionFactory>(x => new ConnectionFactory("tcp://localhost:61616"));
+
+            FluentApplicationContext.Register(x => new NmsTemplate
+                {
+                    ConnectionFactory = x.GetObject<IConnectionFactory>(),
+                    MessageConverter = x.GetObject<IMessageConverter>()
+                });
+            
+            var template = ContextRegistry.GetContext().GetObject<NmsTemplate>();
+            var container = ContextRegistry.GetContext().GetObject<SimpleMessageListenerContainer>();
+            container.Start();
+
+            while (true)
+            {
+                var request = new CreatePeopleWindowsAccountRequest
+                {
+                    RequestId = Guid.NewGuid(),
+                    Firstname = "Mathias",
+                    Lastname = "Kluba",
+                    ArrivalDate = DateTime.Today
+                };
+                
+                template.ConvertAndSendWithDelegate("APP.REQUEST", request, m =>
+                {
+                    m.NMSCorrelationID = request.RequestId.ToString();
+                    m.NMSPriority = MsgPriority.Low;
+                    return m;
+                });
+
+                //var response = template.ReceiveAndConvert("APP.REQUEST") as CreatePeopleWindowsAccountResponse;
+
+                //logger.InfoFormat("Account creation response: Status={0} Message={1}", response.Status, response.ErrorMessage);
+
+                Thread.Sleep(3 * 1000);
+            }
+        }
+    }
+}

TestSpringMessaging/Properties/AssemblyInfo.cs

+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("TestSpringMessaging")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("TestSpringMessaging")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("a14d07a0-0cc1-45ad-81b1-28e456e34f50")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

TestSpringMessaging/Repositories/AdAccountRepository.cs

+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using TestSpringMessaging.Model;
+
+namespace TestSpringMessaging.Repositories
+{
+    public class AdAccountRepository : TestSpringMessaging.Repositories.IAdAccountRepository
+    {
+        private static IList<AdAccount> data = new List<AdAccount>();
+
+        public AdAccount FindBySamAccountName(string samAccountName)
+        {
+            lock (data)
+            {
+                return data.Where(a => a.SamAccountName.Equals(samAccountName)).FirstOrDefault();
+            }
+        }
+
+        public void CreateAccount(AdAccount account)
+        {
+            lock (data)
+            {
+                account.Guid = Guid.NewGuid();
+                data.Add(account);
+            }
+        }
+
+        public AdAccount FindByGuid(Guid accountUid)
+        {
+            lock (data)
+            {
+                return data.Where(a => a.Guid.Equals(accountUid)).FirstOrDefault();
+            }
+        }
+    }
+}

TestSpringMessaging/Repositories/IAdAccountRepository.cs

+using System;
+using TestSpringMessaging.Model;
+
+namespace TestSpringMessaging.Repositories
+{
+    public interface IAdAccountRepository
+    {
+        void CreateAccount(AdAccount account);
+
+        AdAccount FindBySamAccountName(string samAccountName);
+
+        AdAccount FindByGuid(Guid accountUid);
+    }
+}

TestSpringMessaging/SimplePublisher.cs

+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Spring.Messaging.Nms.Core;
+using Apache.NMS;
+using Apache.NMS.ActiveMQ;
+using Spring.Messaging.Nms.Support.Converter;
+using TestSpringMessaging.Messages;
+
+namespace TestSpringMessaging
+{
+    public class SimplePublisher
+    {
+        private readonly NmsTemplate template;
+
+        public SimplePublisher(NmsTemplate template)
+        {
+            this.template = template;
+        }
+
+        public void Publish(string ticker, double price)
+        {
+             var request = new CreatePeopleWindowsAccountRequest
+                    { 
+                        Guid = Guid.NewGuid(),
+                        Firstname = "Mathias",
+                        Lastname = "Kluba"
+                    };
+
+             template.ConvertAndSendWithDelegate("APP.REQUEST", request, m =>
+             {
+                 m.NMSCorrelationID = request.Guid.ToString();
+                 m.NMSPriority = MsgPriority.Low;
+
+                 return m;
+             });
+
+            template.SendWithDelegate("APP.STOCK.MARKETDATA", 
+                delegate(ISession session)
+                {
+                   
+
+                    XmlMessageConverter converter = new XmlMessageConverter();
+
+                    IMessage message = converter.ToMessage(request, session);
+                    message.NMSPriority = MsgPriority.Low;
+
+                    return message;
+                });
+        }
+    }
+}

TestSpringMessaging/TestSpringMessaging.2008.csproj

+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{FE46B04B-5818-487F-B21C-68D552433677}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>TestSpringMessaging</RootNamespace>
+    <AssemblyName>TestSpringMessaging</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <TargetFrameworkProfile>
+    </TargetFrameworkProfile>
+    <FileAlignment>512</FileAlignment>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <OldToolsVersion>3.5</OldToolsVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <PlatformTarget>x86</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <PlatformTarget>x86</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+    <Reference Include="Apache.NMS, Version=1.5.0.2194, Culture=neutral, PublicKeyToken=82756feee3957618">
+      <HintPath>..\..\..\lib\Apache.NMS-1.5.0-bin\net-3.5\release\Apache.NMS.dll</HintPath>
+    </Reference>
+    <Reference Include="Apache.NMS.ActiveMQ, Version=1.5.0.2235, Culture=neutral, PublicKeyToken=82756feee3957618">
+      <HintPath>..\..\..\lib\Apache.NMS.ActiveMQ-1.5.0-bin\build\net-3.5\release\Apache.NMS.ActiveMQ.dll</HintPath>
+    </Reference>
+    <Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\lib\Common.Logging-2.0.0\bin\net\2.0\release\Common.Logging.dll</HintPath>
+    </Reference>
+    <Reference Include="FluentSpring, Version=1.2.4.0, Culture=neutral, PublicKeyToken=null">
+      <HintPath>..\packages\FluentSpring.Net.1.2.4\lib\net35\FluentSpring.dll</HintPath>
+    </Reference>
+    <Reference Include="Spring.Core, Version=1.3.1.20711, Culture=neutral, PublicKeyToken=65e474d141e25e07">
+      <HintPath>..\packages\Spring.Core.1.3.1\lib\Net20\Spring.Core.dll</HintPath>
+    </Reference>
+    <Reference Include="Spring.Data, Version=1.3.1.20711, Culture=neutral, PublicKeyToken=65e474d141e25e07">
+      <HintPath>..\packages\FluentSpring.Net.1.2.4\lib\net35\Spring.Data.dll</HintPath>
+    </Reference>
+    <Reference Include="Spring.Messaging, Version=1.3.1.20711, Culture=neutral, PublicKeyToken=65e474d141e25e07">
+      <HintPath>..\..\..\lib\Spring.NET-1.3.1\bin\net\2.0\release\Spring.Messaging.dll</HintPath>
+    </Reference>
+    <Reference Include="Spring.Messaging.Nms, Version=1.3.1.20711, Culture=neutral, PublicKeyToken=65e474d141e25e07">
+      <HintPath>..\..\..\lib\Spring.NET-1.3.1\bin\net\2.0\release\Spring.Messaging.Nms.dll</HintPath>
+    </Reference>
+    <Reference Include="Spring.Scheduling.Quartz, Version=1.3.1.20711, Culture=neutral, PublicKeyToken=65e474d141e25e07">
+      <HintPath>..\..\..\lib\Spring.NET-1.3.1\bin\net\2.0\release\Spring.Scheduling.Quartz.dll</HintPath>
+    </Reference>
+    <Reference Include="Spring.Web, Version=1.3.1.20711, Culture=neutral, PublicKeyToken=65e474d141e25e07">
+      <HintPath>..\packages\FluentSpring.Net.1.2.4\lib\net35\Spring.Web.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Messages\CreatePeopleWindowsAccountRequest.cs" />
+    <Compile Include="Messages\CreatePeopleWindowsAccountResponse.cs" />
+    <Compile Include="Messages\MessageStatus.cs" />
+    <Compile Include="Model\AdAccount.cs" />
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="CreatePeopleWindowsAccountManager.cs" />
+    <Compile Include="Repositories\AdAccountRepository.cs" />
+    <Compile Include="Repositories\IAdAccountRepository.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="app.config" />
+    <None Include="packages.config" />
+  </ItemGroup>
+  <ItemGroup />
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>

TestSpringMessaging/TestSpringMessaging.csproj

+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{FE46B04B-5818-487F-B21C-68D552433677}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>TestSpringMessaging</RootNamespace>
+    <AssemblyName>TestSpringMessaging</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <TargetFrameworkProfile>
+    </TargetFrameworkProfile>
+    <FileAlignment>512</FileAlignment>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <OldToolsVersion>3.5</OldToolsVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <PlatformTarget>x86</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <PlatformTarget>x86</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+    <Reference Include="Apache.NMS, Version=1.5.0.2194, Culture=neutral, PublicKeyToken=82756feee3957618">
+      <HintPath>..\..\..\lib\Apache.NMS-1.5.0-bin\net-3.5\release\Apache.NMS.dll</HintPath>
+    </Reference>
+    <Reference Include="Apache.NMS.ActiveMQ, Version=1.5.0.2235, Culture=neutral, PublicKeyToken=82756feee3957618">
+      <HintPath>..\..\..\lib\Apache.NMS.ActiveMQ-1.5.0-bin\build\net-3.5\release\Apache.NMS.ActiveMQ.dll</HintPath>
+    </Reference>
+    <Reference Include="Common.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\lib\Common.Logging-2.0.0\bin\net\2.0\release\Common.Logging.dll</HintPath>
+    </Reference>
+    <Reference Include="FluentSpring, Version=1.2.4.0, Culture=neutral, PublicKeyToken=null">
+      <HintPath>..\packages\FluentSpring.Net.1.2.4\lib\net35\FluentSpring.dll</HintPath>
+    </Reference>
+    <Reference Include="Spring.Core, Version=1.3.1.20711, Culture=neutral, PublicKeyToken=65e474d141e25e07">
+      <HintPath>..\packages\Spring.Core.1.3.1\lib\Net20\Spring.Core.dll</HintPath>
+    </Reference>
+    <Reference Include="Spring.Data, Version=1.3.1.20711, Culture=neutral, PublicKeyToken=65e474d141e25e07">
+      <HintPath>..\packages\FluentSpring.Net.1.2.4\lib\net35\Spring.Data.dll</HintPath>
+    </Reference>
+    <Reference Include="Spring.Messaging, Version=1.3.1.20711, Culture=neutral, PublicKeyToken=65e474d141e25e07">
+      <HintPath>..\..\..\lib\Spring.NET-1.3.1\bin\net\2.0\release\Spring.Messaging.dll</HintPath>
+    </Reference>
+    <Reference Include="Spring.Messaging.Nms, Version=1.3.1.20711, Culture=neutral, PublicKeyToken=65e474d141e25e07">
+      <HintPath>..\..\..\lib\Spring.NET-1.3.1\bin\net\2.0\release\Spring.Messaging.Nms.dll</HintPath>
+    </Reference>
+    <Reference Include="Spring.Scheduling.Quartz, Version=1.3.1.20711, Culture=neutral, PublicKeyToken=65e474d141e25e07">
+      <HintPath>..\..\..\lib\Spring.NET-1.3.1\bin\net\2.0\release\Spring.Scheduling.Quartz.dll</HintPath>
+    </Reference>
+    <Reference Include="Spring.Web, Version=1.3.1.20711, Culture=neutral, PublicKeyToken=65e474d141e25e07">
+      <HintPath>..\packages\FluentSpring.Net.1.2.4\lib\net35\Spring.Web.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Messages\CreatePeopleWindowsAccountRequest.cs" />
+    <Compile Include="Messages\CreatePeopleWindowsAccountResponse.cs" />
+    <Compile Include="Messages\MessageStatus.cs" />
+    <Compile Include="Model\AdAccount.cs" />
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="CreatePeopleWindowsAccountManager.cs" />
+    <Compile Include="Repositories\AdAccountRepository.cs" />
+    <Compile Include="Repositories\IAdAccountRepository.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="app.config" />
+    <None Include="packages.config" />
+  </ItemGroup>
+  <ItemGroup />
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>

TestSpringMessaging/TestSpringMessaging.csproj.user

+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <ProjectView>ShowAllFiles</ProjectView>
+  </PropertyGroup>
+</Project>

TestSpringMessaging/TestSpringMessaging.csproj.vs10x

+This file contains Alternate Data Streams, storing configuration information used by CodeSMART 10 and VS10X Extensions.
+
+PLEASE DO NOT DELETE.
Add a comment to this file

TestSpringMessaging/TestSpringMessaging.pidb

Binary file added.

TestSpringMessaging/app.config

+<?xml version="1.0"?>
+<configuration>
+	<configSections>
+		<sectionGroup name="spring">
+			<section name="context" type="FluentSpring.Context.Support.FluentGenericApplicationContextHandler, FluentSpring"/>
+			<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core"/>
+		</sectionGroup>
+		<sectionGroup name="common">
+			<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging"/>
+		</sectionGroup>
+	</configSections>
+	<appSettings>
+		<add key="queue.url" value="tcp://localhost:61616"/>
+	</appSettings>
+	<common>
+		<logging>
+			<factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">
+				<arg key="level" value="INFO"/>
+				<arg key="showLogName" value="true"/>
+				<arg key="showDataTime" value="true"/>
+				<arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:fff"/>
+			</factoryAdapter>
+		</logging>
+	</common>
+	<startup>
+	</startup>
+	<spring>
+		<context>
+			<resource uri="config://spring/objects"/>
+		</context>
+		<objects xmlns="http://www.springframework.net"></objects>
+	</spring>
+	<runtime>
+		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+			<dependentAssembly>
+				<assemblyIdentity name="Apache.NMS" publicKeyToken="82756FEEE3957618" culture="neutral"/>
+				<bindingRedirect oldVersion="0.0.0.0-1.5.0.2194" newVersion="1.5.0.2194"/>
+			</dependentAssembly>
+			<dependentAssembly>
+				<assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e"/>
+				<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="2.0.0.0"/>
+			</dependentAssembly>
+		</assemblyBinding>
+	</runtime>
+</configuration>
Add a comment to this file

TestSpringMessaging/bin/Debug/Apache.NMS.ActiveMQ.dll

Binary file added.

Add a comment to this file

TestSpringMessaging/bin/Debug/Apache.NMS.ActiveMQ.pdb

Binary file added.

TestSpringMessaging/bin/Debug/Apache.NMS.ActiveMQ.xml

+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Apache.NMS.ActiveMQ</name>
+    </assembly>
+    <members>
+        <member name="T:Apache.NMS.ActiveMQ.Commands.BaseDataStructure">
+            <summary>
+            Base class for all DataStructure implementations
+            </summary>
+        </member>
+        <member name="T:Apache.NMS.ActiveMQ.Commands.DataStructure">
+            <summary>
+            An OpenWire command
+            </summary>
+        </member>
+        <member name="T:Apache.NMS.ActiveMQ.Commands.Command">
+            <summary>
+            An OpenWire command
+            </summary>
+        </member>
+        <member name="T:Apache.NMS.ActiveMQ.Commands.MarshallAware">
+            <summary>
+            Represents a marshallable entity
+            </summary>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.Message.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.Message.Clone">
+            
+             <summery>
+              Clone this object and return a new instance that the caller now owns.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.Message.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.Message.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.Message.IsMessage">
+            
+             <summery>
+              Return an answer of true to the isMessage() query.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSCorrelationID">
+            <summary>
+            The correlation ID used to correlate messages with conversations or long running business processes
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSDestination">
+            <summary>
+            The destination of the message
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSTimeToLive">
+            <summary>
+            The time in milliseconds that this message should expire in
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSMessageId">
+            <summary>
+            The message ID which is set by the provider
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSDeliveryMode">
+            <summary>
+            Whether or not this message is persistent
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSPriority">
+            <summary>
+            The Priority on this message
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSRedelivered">
+            <summary>
+            Returns true if this message has been redelivered to this or another consumer before being acknowledged successfully.
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSReplyTo">
+            <summary>
+            The destination that the consumer of this message should send replies to
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSTimestamp">
+            <summary>
+            The timestamp the broker added to the message
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSType">
+            <summary>
+            The type name of this message
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSXDeliveryCount">
+            <summary>
+            Returns the number of times this message has been redelivered to other consumers without being acknowledged successfully.
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSXGroupID">
+            <summary>
+            The Message Group ID used to group messages together to the same consumer for the same group ID value
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSXGroupSeq">
+            <summary>
+            The Message Group Sequence counter to indicate the position in a group
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQMessage.NMSXProducerTXID">
+            <summary>
+            Returns the ID of the producers transaction
+            </summary>
+        </member>
+        <member name="T:Apache.NMS.ActiveMQ.Commands.ActiveMQBytesMessage.LengthTrackerStream">
+            <summary>
+            Used when the message compression is enabled to track how many bytes
+            the EndianBinaryWriter actually writes to the stream before compression
+            so that the receiving client can read off the real bodylength from the
+            Message before the data is actually read.
+            </summary>
+        </member>
+        <member name="T:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination">
+            <summary>
+            Summary description for ActiveMQDestination.
+            </summary>
+        </member>
+        <member name="F:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.ACTIVEMQ_TOPIC">
+            <summary>
+            Topic Destination object
+            </summary>
+        </member>
+        <member name="F:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.ACTIVEMQ_TEMPORARY_TOPIC">
+            <summary>
+            Temporary Topic Destination object
+            </summary>
+        </member>
+        <member name="F:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.ACTIVEMQ_QUEUE">
+            <summary>
+            Queue Destination object
+            </summary>
+        </member>
+        <member name="F:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.ACTIVEMQ_TEMPORARY_QUEUE">
+            <summary>
+            Temporary Queue Destination object
+            </summary>
+        </member>
+        <member name="F:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.ADVISORY_PREFIX">
+            <summary>
+            prefix for Advisory message destinations
+            </summary>
+        </member>
+        <member name="F:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.CONSUMER_ADVISORY_PREFIX">
+            <summary>
+            prefix for consumer advisory destinations
+            </summary>
+        </member>
+        <member name="F:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.PRODUCER_ADVISORY_PREFIX">
+            <summary>
+            prefix for producer advisory destinations
+            </summary>
+        </member>
+        <member name="F:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.CONNECTION_ADVISORY_PREFIX">
+            <summary>
+            prefix for connection advisory destinations
+            </summary>
+        </member>
+        <member name="F:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.DEFAULT_ORDERED_TARGET">
+            <summary>
+            The default target for ordered destinations
+            </summary>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.#ctor">
+            <summary>
+            The Default Constructor
+            </summary>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.#ctor(System.String)">
+            <summary>
+            Construct the Destination with a defined physical name;
+            </summary>
+            <param name="name"></param>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.IsAdvisory">
+            <summary>
+            </summary>
+            <returns>Returns the advisory.</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.SetAdvisory(System.Boolean)">
+            <summary>
+            </summary>
+            <param name="advisory">The advisory to set.</param>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.IsConsumerAdvisory">
+            <summary>
+            </summary>
+            <returns>true if this is a destination for Consumer advisories</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.IsProducerAdvisory">
+            <summary>
+            </summary>
+            <returns>true if this is a destination for Producer advisories</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.IsConnectionAdvisory">
+            <summary>
+            </summary>
+            <returns>true if this is a destination for Connection advisories</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.IsExclusive">
+            <summary>
+            </summary>
+            <returns>Returns the exclusive.</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.SetExclusive(System.Boolean)">
+            <summary>
+            </summary>
+            <param name="exclusive">The exclusive to set.</param>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.IsOrdered">
+            <summary>
+            </summary>
+            <returns>Returns the ordered.</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.SetOrdered(System.Boolean)">
+            <summary>
+            </summary>
+            <param name="ordered">The ordered to set.</param>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.GetOrderedTarget">
+            <summary>
+            </summary>
+            <returns>Returns the orderedTarget.</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.SetOrderedTarget(System.String)">
+            <summary>
+            </summary>
+            <param name="orderedTarget">The orderedTarget to set.</param>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.Inspect(Apache.NMS.ActiveMQ.Commands.ActiveMQDestination)">
+            <summary>
+            A helper method to return a descriptive string for the topic or queue
+            </summary>
+            <param name="destination"></param>
+            <returns>a descriptive string for this queue or topic</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.Transform(Apache.NMS.IDestination)">
+            <summary>
+            </summary>
+            <param name="destination"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.CreateDestination(System.Int32,System.String)">
+            <summary>
+            Create a Destination
+            </summary>
+            <param name="type"></param>
+            <param name="pyhsicalName"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.CreateTemporaryName(System.String)">
+            <summary>
+            Create a temporary name from the clientId
+            </summary>
+            <param name="clientId"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.GetClientId(Apache.NMS.ActiveMQ.Commands.ActiveMQDestination)">
+            <summary>
+            From a temporary destination find the clientId of the Connection that created it
+            </summary>
+            <param name="destination"></param>
+            <returns>the clientId or null if not a temporary destination</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.CompareTo(System.Object)">
+            <summary>
+            </summary>
+            <param name="o">object to compare</param>
+            <returns>1 if this is less than o else 0 if they are equal or -1 if this is less than o</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.CompareTo(Apache.NMS.ActiveMQ.Commands.ActiveMQDestination)">
+            <summary>
+            Lets sort by name first then lets sort topics greater than queues
+            </summary>
+            <param name="that">another destination to compare against</param>
+            <returns>1 if this is less than o else 0 if they are equal or -1 if this is less than o</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.GetDestinationType">
+            <summary>
+            </summary>
+            <returns>Returns the Destination type</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.ToString">
+            <summary>
+            </summary>
+            <returns>string representation of this instance</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.GetHashCode">
+            <summary>
+            </summary>
+            <returns>hashCode for this instance</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.Equals(System.Object)">
+            <summary>
+            if the object passed in is equivalent, return true
+            </summary>
+            <param name="obj">the object to compare</param>
+            <returns>true if this instance and obj are equivalent</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.IsWildcard">
+            <summary>
+            </summary>
+            <returns>true if the destination matches multiple possible destinations</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.CreateDestination(System.String)">
+            <summary>
+            Factory method to create a child destination if this destination is a composite
+            </summary>
+            <param name="name"></param>
+            <returns>the created Destination</returns>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.Options">
+            <summary>
+            Dictionary of name/value pairs representing option values specified
+            in the URI used to create this Destination.  A null value is returned
+            if no options were specified.
+            </summary>
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ActiveMQDestination.IsComposite">
+            <summary>
+            Returns true if this destination represents a collection of
+            destinations; allowing a set of destinations to be published to or subscribed
+            from in one NMS operation.
+            <p/>
+            If this destination is a composite then you can call {@link #getChildDestinations()}
+            to return the list of child destinations.
+            </summary>
+        </member>
+        <member name="T:Apache.NMS.ActiveMQ.Commands.ActiveMQQueue">
+            <summary>
+            Summary description for ActiveMQQueue.
+            </summary>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQTempDestination.GetDestinationType">
+            <summary>
+            Method GetDestinationType
+            </summary>
+            <returns>An int</returns>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ActiveMQTempDestination.CreateDestination(System.String)">
+            <summary>
+            Method CreateDestination
+            </summary>
+            <returns>An ActiveMQDestination</returns>
+            <param name="name">A  String</param>
+        </member>
+        <member name="T:Apache.NMS.ActiveMQ.Commands.ActiveMQTempQueue">
+            <summary>
+            A Temporary Queue
+            </summary>
+        </member>
+        <member name="T:Apache.NMS.ActiveMQ.Commands.ActiveMQTempTopic">
+            <summary>
+            A Temporary Topic
+            </summary>
+        </member>
+        <member name="T:Apache.NMS.ActiveMQ.Commands.ActiveMQTopic">
+            <summary>
+            Summary description for ActiveMQTopic.
+            </summary>
+        </member>
+        <member name="T:Apache.NMS.ActiveMQ.Commands.BrokerError">
+            <summary>
+            Represents an exception on the broker
+            </summary>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.BrokerId.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.BrokerId.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.BrokerInfo.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.BrokerInfo.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.BrokerInfo.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.BrokerInfo.IsBrokerInfo">
+            
+             <summery>
+              Return an answer of true to the isBrokerInfo() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConnectionControl.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConnectionControl.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConnectionControl.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ConnectionControl.IsConnectionControl">
+            
+             <summery>
+              Return an answer of true to the isConnectionControl() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConnectionError.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConnectionError.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConnectionError.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ConnectionError.IsConnectionError">
+            
+             <summery>
+              Return an answer of true to the isConnectionError() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConnectionId.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConnectionId.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConnectionInfo.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConnectionInfo.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConnectionInfo.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ConnectionInfo.IsConnectionInfo">
+            
+             <summery>
+              Return an answer of true to the isConnectionInfo() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConsumerControl.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConsumerControl.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConsumerControl.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ConsumerControl.IsConsumerControl">
+            
+             <summery>
+              Return an answer of true to the isConsumerControl() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConsumerId.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConsumerId.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConsumerInfo.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConsumerInfo.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ConsumerInfo.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ConsumerInfo.IsConsumerInfo">
+            
+             <summery>
+              Return an answer of true to the isConsumerInfo() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ControlCommand.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ControlCommand.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ControlCommand.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.ControlCommand.IsControlCommand">
+            
+             <summery>
+              Return an answer of true to the isControlCommand() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.Response.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.Response.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.Response.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.Response.IsResponse">
+            
+             <summery>
+              Return an answer of true to the isResponse() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.DataArrayResponse.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.DataArrayResponse.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.DataResponse.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.DataResponse.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="T:Apache.NMS.ActiveMQ.Commands.DataStructureSupport">
+            <summary>
+            Summary description for DataStructureSupport.
+            </summary>
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.DestinationInfo.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.DestinationInfo.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.DestinationInfo.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.DestinationInfo.IsDestinationInfo">
+            
+             <summery>
+              Return an answer of true to the isDestinationInfo() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.DiscoveryEvent.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.DiscoveryEvent.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ExceptionResponse.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.ExceptionResponse.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.FlushCommand.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.FlushCommand.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.FlushCommand.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.FlushCommand.IsFlushCommand">
+            
+             <summery>
+              Return an answer of true to the isFlushCommand() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.IntegerResponse.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.IntegerResponse.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.JournalQueueAck.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.JournalQueueAck.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.JournalTopicAck.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.JournalTopicAck.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.JournalTrace.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.JournalTrace.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.JournalTransaction.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.JournalTransaction.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.KeepAliveInfo.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.KeepAliveInfo.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.KeepAliveInfo.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.KeepAliveInfo.IsKeepAliveInfo">
+            
+             <summery>
+              Return an answer of true to the isKeepAliveInfo() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.PartialCommand.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.PartialCommand.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.LastPartialCommand.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.LastPartialCommand.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.TransactionId.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.TransactionId.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.LocalTransactionId.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.LocalTransactionId.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.MessageAck.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.MessageAck.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.MessageAck.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.MessageAck.IsMessageAck">
+            
+             <summery>
+              Return an answer of true to the isMessageAck() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.MessageDispatch.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.MessageDispatch.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.MessageDispatch.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.MessageDispatch.IsMessageDispatch">
+            
+             <summery>
+              Return an answer of true to the isMessageDispatch() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.MessageDispatchNotification.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.MessageDispatchNotification.ToString">
+            
+             <summery>
+              Returns a string containing the information for this DataStructure
+              such as its type and value of its elements.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.MessageDispatchNotification.visit(Apache.NMS.ActiveMQ.State.ICommandVisitor)">
+            
+             <summery>
+              Allows a Visitor to visit this command and return a response to the
+              command based on the command type being visited.  The command will call
+              the proper processXXX method in the visitor.
+             </summery>
+            
+        </member>
+        <member name="P:Apache.NMS.ActiveMQ.Commands.MessageDispatchNotification.IsMessageDispatchNotification">
+            
+             <summery>
+              Return an answer of true to the isMessageDispatchNotification() query.
+             </summery>
+            
+        </member>
+        <member name="M:Apache.NMS.ActiveMQ.Commands.MessageId.GetDataStructureType">
+            
+             <summery>
+              Get the unique identifier that this object and its own
+              Marshaler share.
+             </summery>