Message sending to JMS through MQ gives error-Transport scheme NOT recognized:

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Message sending to JMS through MQ gives error-Transport scheme NOT recognized:

Puspak
Hi ,

I am relatively new to nifi .I have a requirment where i have to push some
messages to JMS (HornetQ).

When i push the message with below configuration in putJMS of nifi i am
getting the below error.

2019-06-13 09:30:31,701 ERROR [Timer-Driven Process Thread-7]
o.apache.nifi.processors.standard.PutJMS
PutJMS[id=4a3d7305-016b-1000-c244-a62fe67418b0] Failed to connect to JMS
Server due to javax.jms.JMSException: Could not create Transport. Reason:
java.io.IOException: Transport scheme NOT recognized: [http]:
javax.jms.JMSException: Could not create Transport. Reason:
java.io.IOException: Transport scheme NOT recognized: [http]
javax.jms.JMSException: Could not create Transport. Reason:
java.io.IOException: Transport scheme NOT recognized: [http]
        at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:36)
        at
org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:333)
        at
org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:346)
        at
org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:304)
        at
org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:244)
<http://apache-nifi-developer-list.39713.n7.nabble.com/file/t1140/putJMS-Config.jpg>



--
Sent from: http://apache-nifi-developer-list.39713.n7.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Message sending to JMS through MQ gives error-Transport scheme NOT recognized:

Koji Kawamura-2
Hello,

PutJMS is deprecated, PublishJMS is recommended instead.
PublishJMS uses JMSConnectionFactoryProvider Controller Service, in
which you can specify "MQ ConnectionFactory Implementation" and "MQ
Client Libraries path (i.e., /usr/jms/lib)".
You will need to download HornetQ from here, extract it and point the
lib dir at JMSConnectionFactoryProvider "MQ Client Libraries path".

I didn't have no experience with HornetQ, but I downloaded it and try
connecting PublishJMS to it.
However, unfortunately it seems that NiFi JMSConnectionFactoryProvider
doesn't support HornetQ currently.
Because HornetQConnectionFactory needs few application code to
initialize connection factory with service locator, example is
available in the link below.
While NiFi JMSConnectionFactoryProvider uses default constructor and
that can't initialize service locator.
https://gist.github.com/caandradeduarte/a527712241c1e1c6d86b171362b58b78

I think you need a custom JMSConnectionFactoryProviderDefinition
implementation to connect NiFi to HornetQ.
I may be wrong since this is the first time I used HornetQ..

Thanks,
Koji

On Thu, Jun 13, 2019 at 9:21 PM Puspak <[hidden email]> wrote:

>
> Hi ,
>
> I am relatively new to nifi .I have a requirment where i have to push some
> messages to JMS (HornetQ).
>
> When i push the message with below configuration in putJMS of nifi i am
> getting the below error.
>
> 2019-06-13 09:30:31,701 ERROR [Timer-Driven Process Thread-7]
> o.apache.nifi.processors.standard.PutJMS
> PutJMS[id=4a3d7305-016b-1000-c244-a62fe67418b0] Failed to connect to JMS
> Server due to javax.jms.JMSException: Could not create Transport. Reason:
> java.io.IOException: Transport scheme NOT recognized: [http]:
> javax.jms.JMSException: Could not create Transport. Reason:
> java.io.IOException: Transport scheme NOT recognized: [http]
> javax.jms.JMSException: Could not create Transport. Reason:
> java.io.IOException: Transport scheme NOT recognized: [http]
>         at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:36)
>         at
> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:333)
>         at
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:346)
>         at
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:304)
>         at
> org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:244)
> <http://apache-nifi-developer-list.39713.n7.nabble.com/file/t1140/putJMS-Config.jpg>
>
>
>
> --
> Sent from: http://apache-nifi-developer-list.39713.n7.nabble.com/
Reply | Threaded
Open this post in threaded view
|

Re: Message sending to JMS through MQ gives error-Transport scheme NOT recognized:

Koji Kawamura-2
Hi,

There is another NiFi JMS connection ControllerService, that is
JndiJmsConnectionFactoryProvider.
With PublishJMS and JndiJmsConnectionFactoryProvider, I was able to
send message to a HornetQ queue.

JndiJmsConnectionFactoryProvider config example:
- Initial Naming Factory Class: org.jnp.interfaces.NamingContextFactory
- Naming Provider URL: jnp://localhost:1099
- Connection Factory Name: /ConnectionFactory
- Naming Factory Libraries: /Users/koji/Downloads/hornetq-2.4.0.Final/lib

Hope this helps.
Koji

On Fri, Jun 14, 2019 at 10:23 AM Koji Kawamura <[hidden email]> wrote:

>
> Hello,
>
> PutJMS is deprecated, PublishJMS is recommended instead.
> PublishJMS uses JMSConnectionFactoryProvider Controller Service, in
> which you can specify "MQ ConnectionFactory Implementation" and "MQ
> Client Libraries path (i.e., /usr/jms/lib)".
> You will need to download HornetQ from here, extract it and point the
> lib dir at JMSConnectionFactoryProvider "MQ Client Libraries path".
>
> I didn't have no experience with HornetQ, but I downloaded it and try
> connecting PublishJMS to it.
> However, unfortunately it seems that NiFi JMSConnectionFactoryProvider
> doesn't support HornetQ currently.
> Because HornetQConnectionFactory needs few application code to
> initialize connection factory with service locator, example is
> available in the link below.
> While NiFi JMSConnectionFactoryProvider uses default constructor and
> that can't initialize service locator.
> https://gist.github.com/caandradeduarte/a527712241c1e1c6d86b171362b58b78
>
> I think you need a custom JMSConnectionFactoryProviderDefinition
> implementation to connect NiFi to HornetQ.
> I may be wrong since this is the first time I used HornetQ..
>
> Thanks,
> Koji
>
> On Thu, Jun 13, 2019 at 9:21 PM Puspak <[hidden email]> wrote:
> >
> > Hi ,
> >
> > I am relatively new to nifi .I have a requirment where i have to push some
> > messages to JMS (HornetQ).
> >
> > When i push the message with below configuration in putJMS of nifi i am
> > getting the below error.
> >
> > 2019-06-13 09:30:31,701 ERROR [Timer-Driven Process Thread-7]
> > o.apache.nifi.processors.standard.PutJMS
> > PutJMS[id=4a3d7305-016b-1000-c244-a62fe67418b0] Failed to connect to JMS
> > Server due to javax.jms.JMSException: Could not create Transport. Reason:
> > java.io.IOException: Transport scheme NOT recognized: [http]:
> > javax.jms.JMSException: Could not create Transport. Reason:
> > java.io.IOException: Transport scheme NOT recognized: [http]
> > javax.jms.JMSException: Could not create Transport. Reason:
> > java.io.IOException: Transport scheme NOT recognized: [http]
> >         at
> > org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:36)
> >         at
> > org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:333)
> >         at
> > org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:346)
> >         at
> > org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:304)
> >         at
> > org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:244)
> > <http://apache-nifi-developer-list.39713.n7.nabble.com/file/t1140/putJMS-Config.jpg>
> >
> >
> >
> > --
> > Sent from: http://apache-nifi-developer-list.39713.n7.nabble.com/