Thanks for the prompt reply. | | This email has been sent from a virus-free computer protected by Avast. www.avast.com |
My processor set isn't QPID specific, as you say it is the protocol not the client provider that dictates how the connection is made to AMQP. I used the Apache Qpid JMS client for much the same reasons as you chose RabbitMQ, it was the client I had come across before and also it has been mandated at work that all new AMQP brokers will use the 0.10 protocol or later, and RabbitMQ only works with protocols upto 0.9.1 I discounted it. Also I found that AMQP protocol 0.10 uses a URL and a 'destination' and these two items hold all the information required to make the connection to the broker, whether that be with username/password or SSL.However, there are some legacy RabbitMQ brokers at work and I was asked to write a set of processors to work with these brokers, initially I tried to do it all in one bundle but it started to get a bit complex so I broke them out into separate bundles.I have looked at the source for your processor set and I have noticed that we have classes with the same names and the classpaths, so I will have to look at modifying mine slightly so that they don't clash. Again I would value any comments when you get chance to look through my code. Many ThanksDave David Great points and in a way confirms what I new all along. AMQP 0.9 and 1.0 might as well be given different names since it is not really an evolution of one from another, but rather two different specs. So, what I think we would need to do is work on the same set of processors for AMQP 1.0 version as a separate bundle. You can me them the same way since really soon the concept of bundle versioning will be coming to NiFi so we won’t be dependent on names as unique identifier. So if you can work on that please do so and let’s make it happen. CheersOleg Oleg That sounds really good to me. I will try and get on with the tests asap, if you don't mind I will have a look at how you have done yours.The Apache Qpid Client library also includes an internal 'broker' which I found I can instantiate in my Junit tests and hopefully this may a good way of testing the processors. Dave On Saturday, 6 February 2016, 23:04, Oleg Zhurakousky <ozhurakou...@hortonworks.com> wrote: I hate spell checker. The last sentence in previous response should read compliant instead of compliment. Sent from my iPhone > On Feb 6, 2016, at 17:46, Oleg Zhurakousky <ozhurakou...@hortonworks.com> > wrote: > > David > > Thank you so much for reaching out. > The reason why I am using RabbitMQ client library is because I am familiar > with it, but as you aware AMQP is a protocol-based specification therefore it > doesn’t mater which client library is used as long as they are compliant with > the protocol version and current implementation is based on AMQP 0.9.1. > Also, you are mentioning QPID client libraries. Do you have an opinion which > one is better since as I mentioned I just went with the one I know?. As far > as QPID JMS, are you saying that you are using QPID JMS layer to make AMQP > look like JMS? If so in my experience layering JMS over AMQP while possible > brings a lot of limitations of JMS. In any event would be nice to hear your > thoughts on that. > As far as your processor implementation. Sorry I didn’t have a chance to look > at them at the time of writing this response (will look later on), but do you > look at them as QPID specific (i.e., QPID vs RabbitMQ)? And if so what is in > them that is specific to QPID? The reason why I am asking (and you can see it > from discussion on JIRA) is that with this effort we are aiming for > processors that are compliment with specific protocol regardless of the > broker implementation used, so it must be neutral. > > Thanks for reaching out once again. > Cheers > Oleg > >> On Feb 6, 2016, at 5:19 PM, DAVID SMITH <davidrsm...@btinternet.com> wrote: >> >> Hi Guys >> | | This email has been sent from a virus-free computer protected by >> Avast. >> www.avast.com | >> >> >> As you may remember I have developed some processors that publish/subscribe >> to AMQP brokers, but I was having problems writing Junit tests for these >> processors. I was interested to see that you have been working on NiFi Pull >> Request 865. I have looked at your code for these processors, we are both >> using different property descriptors to allow messages to be published and >> pulled. I also noticed that you are using RabbitMQ libraries to connect to >> the broker, whereas I connect to the AMQP broker using the QPID JMS >> libraries. I can still see a use for my processors and I would still be >> interested getting my processors uploaded to run alongside yours in a future >> release of NiFi.I have tidied up my code and pushed it back to github: >> https://github.com/helicopterman22/nifi_amqp_processors.git >> I would appreciate your feedback Dave >> >> >> >> On Wednesday, 3 February 2016, 2:05, asfgit <g...@git.apache.org> wrote: >> >> >> Github user asfgit closed the pull request at: >> >> https://github.com/apache/nifi/pull/200 >> >> >> --- >> If your project is set up for it, you can reply to this email and have your >> reply appear on GitHub as well. If your project does not have this feature >> enabled and wishes so, or if the feature is enabled but not working, please >> contact infrastructure at infrastruct...@apache.org or file a JIRA ticket >> with INFRA. >> --- >