[ 
https://issues.apache.org/jira/browse/NIFI-614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15193480#comment-15193480
 ] 

Michael Moser commented on NIFI-614:
------------------------------------

I don't question the brilliance of [~ozhurakousky]'s code, but this is not how 
I expected the JMS ConnectionFactory Service to be designed.

1. The JMS broker URI is configured in the Service.  If I have a NiFi talking 
to 10 ActiveMQ brokers, then I must have 10 processors and 10 controller 
services?  I would have liked to have 1 ActiveMQ controller service and 10 
processors using that service. I would have liked the processor to pass the URI 
into the service, keeping the URI in the processor configuration.

2. I need to specify the ActiveMQ ConnectionFactory implementation in the 
service.  I expect that Java developers can find this information but for a 
non-Java system admin, this will not be easy.  This will add to our 
documentation burden, and we will get a lot more support questions from those 
who don't read docs.

3. I need to specify a path to find the ActiveMQ library jars in the service.  
I expect that even Java developers will make mistakes with this.  What if the 
provider jar has dependencies on other jars?  How will I know what jars I need 
to put in the library path?

I envisioned the JMS ConnectionFactory Service would have a simple API for 
processors to ask for JMS connections.  The processor would provide the URI and 
would pick which Service implementation it wanted to use.  NiFi could provide 
an ActiveMQ ConnectionFactory Service but let others implement their own 
Service using providers that they need.

> Create a JMS ConnectionFactory controller service and refactor JMS processors 
> to use it
> ---------------------------------------------------------------------------------------
>
>                 Key: NIFI-614
>                 URL: https://issues.apache.org/jira/browse/NIFI-614
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>    Affects Versions: 0.1.0
>            Reporter: Michael Moser
>            Assignee: Oleg Zhurakousky
>              Labels: JMS
>             Fix For: 0.6.0
>
>
> It is difficult to extend the standard JMS processors to use a different JMS 
> provider besides the included ActiveMQ.  Improve the process of adding 
> support for other JMS providers.
> Create a JMS ConnectionFactoryService API in nifi-standard-services.  Create 
> an ActiveMQConnectionFactoryService with the ActiveMQ implementation in 
> nifi-standard-services.  Modify the JMS processors in 
> nifi-standard-processors to use a ConnectionFactoryService to pick the JMS 
> Provider to use.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to