Hello, Your sample code works. Here's what you need in order to run.
1. The nmsprovider-activemq.config file is not necessary, since you are using the standard assemblies, so you can get rid of this if you want. It's an optional file, and I suggest not using it unless you are doing something advanced. 2. You need to have Apache.NMS.dll, Apache.NMS.ActiveMQ.dll, and Ionic.Zlib.dll in your execution folder. These are required. I suspect that you are missing the Ionic.Zlib.dll. The way I set up my project is that I add a reference to Apache.NMS.dll. I then add the Apache.NMS.ActiveMQ.dll and Ionic.Zlib.dll as content files that are copied to the output folder if they are newer, but I don't reference them directly. Best, Jim On Tue, Apr 9, 2013 at 8:28 AM, JavyRocks <javy.ro...@gmail.com> wrote: > Hi > It doesn't work either > > still get the same error > This is the stack trace > > at Apache.NMS.NMSConnectionFactory.CreateConnectionFactory(Uri > uriProvider, > Object[] constructorParams) in > c:\dev\NMS\src\main\csharp\NMSConnectionFactory.cs:line 123 > at Apache.NMS.NMSConnectionFactory..ctor(Uri uriProvider, Object[] > constructorParams) > > in c:\dev\NMS\src\main\csharp\NMSConnectionFactory.cs:line 86 > at ConexionActiveMQ.Program.Main(String[] args) > > in C:\Users\Administrator\documents\visual studio > 2010\Projects\ConexionActiveMQ\ConexionActiveMQ\Program.cs:line 54 > at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] > args) > at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence > assemblySecurity, String[] args) > at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() > at System.Threading.ThreadHelper.ThreadStart_Context(Object state) > at System.Threading.ExecutionContext.RunInternal(ExecutionContext > executionContext, ContextCallback callback, Object state, Boolean > preserveSyncCtx) > at System.Threading.ExecutionContext.Run(ExecutionContext > executionContext, ContextCallback callback, Object state, Boolean > preserveSyncCtx) > at System.Threading.ExecutionContext.Run(ExecutionContext > executionContext, ContextCallback callback, Object state) > tabish...@gmail.com wrote > > You need the Apache ActiveMQ NMS Provider. > > http://activemq.apache.org/nms/apachenmsactivemq-v156.html > > > > > > On 04/08/2013 07:44 PM, JavyRocks wrote: > >> *I still get the "No IConnectionFactory implementation found for > >> connection > >> URI: activemq:tcp://localhost:61616" Error. I've paste and include in > the > >> compile project the archive "nmsprovider-activemq.config" > >> I'm Working with .NET 4.0 and the references are > >> Apache.NMS-1.5.1-bin.zip\net-4.0\release > >> > >> The code is very estandar and simple but I can't get throw the > connection > >> error* > >> > >> using System; > >> using System.Collections.Generic; > >> using System.Linq; > >> using System.Text; > >> using Apache.NMS; > >> using Apache.NMS.Util; > >> using System.Collections; > >> using System.Reflection; > >> using System.IO; > >> > >> namespace ConexionActiveMQ > >> { > >> class Program > >> { > >> private static string[] GetConfigSearchPaths() > >> { > >> ArrayList pathList = new ArrayList(); > >> > >> // Check the current folder first. > >> pathList.Add(""); > >> AppDomain currentDomain = AppDomain.CurrentDomain; > >> > >> // Check the folder the assembly is located in. > >> > >> > >> > pathList.Add(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); > >> if (null != currentDomain.BaseDirectory) > >> { > >> pathList.Add(currentDomain.BaseDirectory); > >> } > >> > >> if (null != currentDomain.RelativeSearchPath) > >> { > >> pathList.Add(currentDomain.RelativeSearchPath); > >> } > >> > >> return (string[])pathList.ToArray(typeof(string)); > >> } > >> > >> static void Main(string[] args) > >> { > >> string[] direcciones; > >> direcciones = GetConfigSearchPaths(); > >> // Example connection strings: > >> // activemq:tcp://localhost:61616 > >> // stomp:tcp://activemqhost:61613 > >> // ems:tcp://tibcohost:7222 > >> // msmq://localhost > >> > >> Uri connecturi = new Uri("activemq:tcp://localhost:61616"); > >> > >> Console.WriteLine("About to connect to " + connecturi); > >> > >> // NOTE: ensure the nmsprovider-activemq.config file exists > >> in > >> the executable folder. > >> IConnectionFactory factory = new > >> NMSConnectionFactory(connecturi); > >> > >> using (IConnection connection = factory.CreateConnection()) > >> using (ISession session = connection.CreateSession()) > >> { > >> // Examples for getting a destination: > >> // > >> // Hard coded destinations: > >> // IDestination destination = > >> session.GetQueue("FOO.BAR"); > >> // Debug.Assert(destination is IQueue); > >> // IDestination destination = > >> session.GetTopic("FOO.BAR"); > >> // Debug.Assert(destination is ITopic); > >> // > >> // Embedded destination type in the name: > >> // IDestination destination = > >> SessionUtil.GetDestination(session, "queue://FOO.BAR"); > >> // Debug.Assert(destination is IQueue); > >> // IDestination destination = > >> SessionUtil.GetDestination(session, "topic://FOO.BAR"); > >> // Debug.Assert(destination is ITopic); > >> // > >> // Defaults to queue if type is not specified: > >> // IDestination destination = > >> SessionUtil.GetDestination(session, "FOO.BAR"); > >> // Debug.Assert(destination is IQueue); > >> // > >> // .NET 3.5 Supports Extension methods for a simplified > >> syntax: > >> // IDestination destination = > >> session.GetDestination("queue://FOO.BAR"); > >> // Debug.Assert(destination is IQueue); > >> // IDestination destination = > >> session.GetDestination("topic://FOO.BAR"); > >> // Debug.Assert(destination is ITopic); > >> > >> IDestination destination = > >> SessionUtil.GetDestination(session, "queue://FOO.BAR"); > >> Console.WriteLine("Using destination: " + destination); > >> > >> // Create a consumer and producer > >> using (IMessageConsumer consumer = > >> session.CreateConsumer(destination)) > >> using (IMessageProducer producer = > >> session.CreateProducer(destination)) > >> { > >> // Start the connection so that messages will be > >> processed. > >> connection.Start(); > >> //producer.Persisten = true; > >> > >> // Send a message > >> ITextMessage request = > >> session.CreateTextMessage("Hello > >> World!"); > >> request.NMSCorrelationID = "abc"; > >> request.Properties["NMSXGroupID"] = "cheese"; > >> request.Properties["myHeader"] = "Cheddar"; > >> > >> producer.Send(request); > >> > >> // Consume a message > >> ITextMessage message = consumer.Receive() as > >> ITextMessage; > >> if (message == null) > >> { > >> Console.WriteLine("No message received!"); > >> } > >> else > >> { > >> Console.WriteLine("Received message with ID: > " > >> + > >> message.NMSMessageId); > >> Console.WriteLine("Received message with text: > " > >> + > >> message.Text); > >> } > >> } > >> } > >> } > >> } > >> } > >> > >> > >> > >> > >> -- > >> View this message in context: > >> > http://activemq.2283324.n4.nabble.com/No-IConnectionFactory-implementation-found-for-connection-URI-activemq-tcp-localhost-61616-tp4665743.html > >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. > >> > > > > > > > > > > -- > > Tim Bish > > Sr Software Engineer | RedHat Inc. > > > tim.bish@ > > > | www.fusesource.com | www.redhat.com > > skype: tabish121 | twitter: @tabish121 > > blog: http://timbish.blogspot.com/ > > > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/No-IConnectionFactory-implementation-found-for-connection-URI-activemq-tcp-localhost-61616-tp4665743p4665767.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. >