<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Re: Does NiFi ConsumeJMS Processor supports OpenJMS? in Archives of Support Questions (Read Only)</title>
    <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Does-NiFi-ConsumeJMS-Processor-supports-OpenJMS/m-p/158952#M45009</link>
    <description>&lt;P&gt;Nirmal&lt;/P&gt;&lt;P&gt;Just to close the loop here in HCC, i'll summarize from the Apache NiFi mailng-list response I've posted a few minutes ago&lt;/P&gt;&lt;P&gt;The NPE is due to the fact that we are invoking a default constructor for whatever connection factory class is provided (i.e., ‘org.exolab.jms.client.JmsConnectionFactory’). And that works for most major JMS providers (ActiveMQ, IBM, Tibco, Weblogic etc.). However for OpenJMS after looking at the code it is rather clear that the default constructor was not exposed to be actually used by the developers, rather internal serialization use. &lt;/P&gt;&lt;P&gt;/**&lt;/P&gt;&lt;P&gt;     * Default constructor required for serialization&lt;/P&gt;&lt;P&gt;     */&lt;/P&gt;&lt;P&gt;    public JmsConnectionFactory() {&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;Not sure why it was done this way . . ., but the NPE is due to the fact that the server proxy class is null so when it attempts to do Class.forName(proxyClassName) in getProxy() method it fails with NPE.&lt;/P&gt;&lt;P&gt;One other thing I noticed is that all OpenJMS examples are based on obtaining ConnectionFactory from JNDI for which we currently do not have support.&lt;/P&gt;&lt;P&gt;Please raise the JIRA if you believe that it’s important to add such feature.&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;Oleg&lt;/P&gt;</description>
    <pubDate>Tue, 01 Nov 2016 21:25:32 GMT</pubDate>
    <dc:creator>ozhurakousky</dc:creator>
    <dc:date>2016-11-01T21:25:32Z</dc:date>
    <item>
      <title>Does NiFi ConsumeJMS Processor supports OpenJMS?</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Does-NiFi-ConsumeJMS-Processor-supports-OpenJMS/m-p/158951#M45008</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I am trying to read messages from &lt;STRONG&gt;openjms-0.7.7&lt;/STRONG&gt; using the &lt;STRONG&gt;ConsumeJMS &lt;/STRONG&gt;Processor but getting following exception:&lt;/P&gt;&lt;P&gt;2016-11-01 14:28:19,540 ERROR [Timer-Driven Process Thread-9] o.apache.nifi.jms.processors.ConsumeJMS ConsumeJMS - JMSConsumer[destination:queue1; pub-sub:false;] ConsumeJMS - JMSConsumer[destination:queue1; pub-sub:false;] failed to process session due to org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is javax.jms.JMSException: Failed to create proxy: java.lang.NullPointerException: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is javax.jms.JMSException: Failed to create proxy: java.lang.NullPointerException
2016-11-01 14:28:19,543 ERROR [Timer-Driven Process Thread-9] o.apache.nifi.jms.processors.ConsumeJMS
org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is &lt;STRONG&gt;javax.jms.JMSException: Failed to create proxy: java.lang.NullPointerException&lt;/STRONG&gt;
        at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316) ~[na:na]
        at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:169) ~[na:na]
        at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:497) ~[na:na]
        at org.springframework.jms.core.JmsTemplate.receiveSelected(JmsTemplate.java:764) ~[na:na]
        at org.springframework.jms.core.JmsTemplate.receive(JmsTemplate.java:738) ~[na:na]
        at org.springframework.jms.core.JmsTemplate.receive(JmsTemplate.java:727) ~[na:na]
        at org.apache.nifi.jms.processors.JMSConsumer.consume(JMSConsumer.java:65) ~[na:na]
        at org.apache.nifi.jms.processors.ConsumeJMS.rendezvousWithJms(ConsumeJMS.java:79) ~[na:na]
        at org.apache.nifi.jms.processors.AbstractJMSProcessor.onTrigger(AbstractJMSProcessor.java:136) ~[na:na]
        at org.apache.nifi.jms.processors.ConsumeJMS.onTrigger(ConsumeJMS.java:50) ~[na:na]
        at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) ~[nifi-api-1.0.0.jar:1.0.0]
        at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1064) ~[nifi-framework-core-1.0.0.jar:1.0.0]
        at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136) [nifi-framework-core-1.0.0.jar:1.0.0]
        at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47) [nifi-framework-core-1.0.0.jar:1.0.0]
        at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:132) [nifi-framework-core-1.0.0.jar:1.0.0]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_45]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_45]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_45]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_45]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_45]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
&lt;STRONG&gt;Caused by: javax.jms.JMSException: Failed to create proxy: java.lang.NullPointerException&lt;/STRONG&gt;
        at org.exolab.jms.client.JmsConnectionFactory.getProxy(JmsConnectionFactory.java:169) ~[na:na]
        at org.exolab.jms.client.JmsConnection.&amp;lt;init&amp;gt;(JmsConnection.java:174) ~[na:na]
        at org.exolab.jms.client.JmsConnectionFactory.createConnection(JmsConnectionFactory.java:284) ~[na:na]
        at org.exolab.jms.client.JmsConnectionFactory.createConnection(JmsConnectionFactory.java:266) ~[na:na]
        at org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter.doCreateConnection(UserCredentialsConnectionFactoryAdapter.java:181) ~[na:na]
        at org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter.createConnection(UserCredentialsConnectionFactoryAdapter.java:152) ~[na:na]
        at org.springframework.jms.connection.SingleConnectionFactory.doCreateConnection(SingleConnectionFactory.java:365) ~[na:na]
        at org.springframework.jms.connection.SingleConnectionFactory.initConnection(SingleConnectionFactory.java:305) ~[na:na]
        at org.springframework.jms.connection.SingleConnectionFactory.getConnection(SingleConnectionFactory.java:283) ~[na:na]
        at org.springframework.jms.connection.SingleConnectionFactory.createConnection(SingleConnectionFactory.java:224) ~[na:na]
        at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:180) ~[na:na]
        at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:484) ~[na:na]
        ... 19 common frames omitted&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="9027-consumejms.png" style="width: 595px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/20798iA7B18A4B8AD39DFA/image-size/medium?v=v2&amp;amp;px=400" role="button" title="9027-consumejms.png" alt="9027-consumejms.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I have configured the &lt;STRONG&gt;JMSConnectionFactoryProvider &lt;/STRONG&gt;with the following properties:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;MQ ConnectionFactory Implementation&lt;/TD&gt;&lt;TD&gt;org.exolab.jms.client.JmsConnectionFactory&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;Actual &lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;MQ Client Libraries path (i.e., /usr/jms/lib)&lt;/TD&gt;&lt;TD&gt;/user/nirmal/OpenJMS/openjms-0.7.7/lib&lt;/TD&gt;&lt;TD&gt;&lt;EM&gt;The lib directory for OpenJMS&lt;/EM&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;I also tried org.exolab.jms.client.JmsXAConnectionFactory in the above #1 property but again the same exception logs.&lt;/P&gt;&lt;P&gt;Not sure if somebody tested the ConsumeJMS / PublishJMS processors with OpenJMS?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;-Nirmal&lt;/P&gt;</description>
      <pubDate>Sun, 18 Aug 2019 12:08:36 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Does-NiFi-ConsumeJMS-Processor-supports-OpenJMS/m-p/158951#M45008</guid>
      <dc:creator>nirmal_hbti</dc:creator>
      <dc:date>2019-08-18T12:08:36Z</dc:date>
    </item>
    <item>
      <title>Re: Does NiFi ConsumeJMS Processor supports OpenJMS?</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Does-NiFi-ConsumeJMS-Processor-supports-OpenJMS/m-p/158952#M45009</link>
      <description>&lt;P&gt;Nirmal&lt;/P&gt;&lt;P&gt;Just to close the loop here in HCC, i'll summarize from the Apache NiFi mailng-list response I've posted a few minutes ago&lt;/P&gt;&lt;P&gt;The NPE is due to the fact that we are invoking a default constructor for whatever connection factory class is provided (i.e., ‘org.exolab.jms.client.JmsConnectionFactory’). And that works for most major JMS providers (ActiveMQ, IBM, Tibco, Weblogic etc.). However for OpenJMS after looking at the code it is rather clear that the default constructor was not exposed to be actually used by the developers, rather internal serialization use. &lt;/P&gt;&lt;P&gt;/**&lt;/P&gt;&lt;P&gt;     * Default constructor required for serialization&lt;/P&gt;&lt;P&gt;     */&lt;/P&gt;&lt;P&gt;    public JmsConnectionFactory() {&lt;/P&gt;&lt;P&gt;    }&lt;/P&gt;&lt;P&gt;Not sure why it was done this way . . ., but the NPE is due to the fact that the server proxy class is null so when it attempts to do Class.forName(proxyClassName) in getProxy() method it fails with NPE.&lt;/P&gt;&lt;P&gt;One other thing I noticed is that all OpenJMS examples are based on obtaining ConnectionFactory from JNDI for which we currently do not have support.&lt;/P&gt;&lt;P&gt;Please raise the JIRA if you believe that it’s important to add such feature.&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;Oleg&lt;/P&gt;</description>
      <pubDate>Tue, 01 Nov 2016 21:25:32 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Does-NiFi-ConsumeJMS-Processor-supports-OpenJMS/m-p/158952#M45009</guid>
      <dc:creator>ozhurakousky</dc:creator>
      <dc:date>2016-11-01T21:25:32Z</dc:date>
    </item>
  </channel>
</rss>

