lsac / nifi-jms-jndi

Apache License 2.0
2 stars 2 forks source link

Solace NIFI JMSConsumer #1

Open bcook2017 opened 7 years ago

bcook2017 commented 7 years ago

the site I'm trying consume messages from (running Solace JMS) is seeing the client (NiFi ConsumeJMA processor) continually unbinding/binding to the queue with a reason of "Client issued unbind". And the client is unable to consume all of the data and it is resulting in "Messages expired to discard". In my simple client application where I don't use NiFi, I keep the connection open for a period of time and don't see this issue. Any help would be great.

lsac commented 7 years ago

Nifi default run schedule is Timer driven scheduling strategy. If default is unchanged, Nifi starts and stops processors all the time. You may refer to Apache NiFi User Guide for detailed information.

|

Apache NiFi User Guide

Apache NiFi Team

|

|

|

 The message contains confidential and/or legally privileged information and is intended for use by the indicated addressee.

If you are not the intended addressee: (a) any disclosure, reproduction, distribution or action you take because of it is strictly prohibited; (b) please return the complete message to the sender; and (c) this message is not a solicitation for purchase or sale or an agreement of any kind whatsoever that binds the sender.

On Thursday, June 15, 2017, 6:09:37 PM EDT, bcook2017 notifications@github.com wrote:

the site I'm trying consume messages from (running Solace JMS) is seeing the client (NiFi ConsumeJMA processor) continually unbinding/binding to the queue with a reason of "Client issued unbind". And the client is unable to consume all of the data and it is resulting in "Messages expired to discard". In my simple client application where I don't use NiFi, I keep the connection open for a period of time and don't see this issue. Any help would be great.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

bcook2017 commented 7 years ago

Thanks for the quick response.

So I only see Timer Driven and Cron Driven, no event-driven, so how can you set the process to start, but not stop?

How do other use ConsumeJMS with Solace?

Thanks,

Bob

On Jun 15, 2017, at 6:30 PM, Wayne Sang notifications@github.com<mailto:notifications@github.com> wrote:

Nifi default run schedule Timer driven scheduling strategy. If default is unchanged, Nifi starts and stops processors all the time. You may refer to Apache NiFi User Guide for detailed information.

|

Apache NiFi User Guide

Apache NiFi Team

|

|

|

The message contains confidential and/or legally privileged information and is intended for use by the indicated addressee.

If you are not the intended addressee: (a) any disclosure, reproduction, distribution or action you take because of it is strictly prohibited; (b) please return the complete message to the sender; and (c) this message is not a solicitation for purchase or sale or an agreement of any kind whatsoever that binds the sender.

On Thursday, June 15, 2017, 6:09:37 PM EDT, bcook2017 notifications@github.com<mailto:notifications@github.com> wrote:

the site I'm trying consume messages from (running Solace JMS) is seeing the client (NiFi ConsumeJMA processor) continually unbinding/binding to the queue with a reason of "Client issued unbind". And the client is unable to consume all of the data and it is resulting in "Messages expired to discard". In my simple client application where I don't use NiFi, I keep the connection open for a period of time and don't see this issue. Any help would be great.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/lsac/nifi-jms-jndi/issues/1#issuecomment-308883358, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AcGlraiPwiLAFzq0WZUnk64lFTJEnGKYks5sEbCegaJpZM4N7zUs.

lsac commented 7 years ago

When run schedule is set to 10 seconds, the connection is started at 10 sec intervals and shut down by the timer process scheduler. The log below may help. 2017-06-15 22:58:29,103 INFO [Timer-Driven Process Thread-5] com.solacesystems.jms.SolSession SolSession started. 2017-06-15 22:58:30,107 INFO [Timer-Driven Process Thread-5] com.solacesystems.jms.SolSession SolSession stopped. 2017-06-15 22:58:41,108 INFO [Timer-Driven Process Thread-5] com.solacesystems.jms.SolSession SolSession started. 2017-06-15 22:58:42,112 INFO [Timer-Driven Process Thread-5] com.solacesystems.jms.SolSession SolSession stopped. 2017-06-15 22:58:53,113 INFO [Timer-Driven Process Thread-5] com.solacesystems.jms.SolSession SolSession started. 2017-06-15 22:58:54,118 INFO [Timer-Driven Process Thread-5] com.solacesystems.jms.SolSession SolSession stopped. 

 The message contains confidential and/or legally privileged information and is intended for use by the indicated addressee.

If you are not the intended addressee: (a) any disclosure, reproduction, distribution or action you take because of it is strictly prohibited; (b) please return the complete message to the sender; and (c) this message is not a solicitation for purchase or sale or an agreement of any kind whatsoever that binds the sender.

On Thursday, June 15, 2017, 8:32:19 PM EDT, bcook2017 notifications@github.com wrote:

Thanks for the quick response.

So I only see Timer Driven and Cron Driven, no event-driven, so how can you set the process to start, but not stop?

How do other use ConsumeJMS with Solace?

Thanks,

Bob

On Jun 15, 2017, at 6:30 PM, Wayne Sang notifications@github.com<mailto:notifications@github.com> wrote:

Nifi default run schedule Timer driven scheduling strategy. If default is unchanged, Nifi starts and stops processors all the time. You may refer to Apache NiFi User Guide for detailed information.

|

Apache NiFi User Guide

Apache NiFi Team

|

|

|

The message contains confidential and/or legally privileged information and is intended for use by the indicated addressee.

If you are not the intended addressee: (a) any disclosure, reproduction, distribution or action you take because of it is strictly prohibited; (b) please return the complete message to the sender; and (c) this message is not a solicitation for purchase or sale or an agreement of any kind whatsoever that binds the sender.

On Thursday, June 15, 2017, 6:09:37 PM EDT, bcook2017 notifications@github.com<mailto:notifications@github.com> wrote:

the site I'm trying consume messages from (running Solace JMS) is seeing the client (NiFi ConsumeJMA processor) continually unbinding/binding to the queue with a reason of "Client issued unbind". And the client is unable to consume all of the data and it is resulting in "Messages expired to discard". In my simple client application where I don't use NiFi, I keep the connection open for a period of time and don't see this issue. Any help would be great.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/lsac/nifi-jms-jndi/issues/1#issuecomment-308883358, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AcGlraiPwiLAFzq0WZUnk64lFTJEnGKYks5sEbCegaJpZM4N7zUs.

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub, or mute the thread.

bcook2017 commented 7 years ago

Back from vacation. We tried seeing the schedule to 10 seconds, and the people controlling the Solace JMS Server responded, "The unbinding is now every 10 seconds and the client is unable to consume all of the messages.”

I then tried setting run schedule to 2 seconds, and still not consuming all messages.

"I just took a look at the endpoint and messages are expiring to discard.”

I have a JMS Client (not a NiFi processor) that when I keep the connection open, I have no issues with consuming all the messages. So I’m wondering if we change the NiFi processor to stay open for “10 seconds” and set the run schedule to 10 seconds if that would help. Or do we need to ask the provider of the Service (we don’t control the Solace JMS Server, we’re just a consumer) to change some type of Solace configuration setting.

Any suggestions, as we’d like to use NiFi if we can.

Thanks,

Bob

On Jun 15, 2017, at 11:04 PM, Wayne Sang notifications@github.com<mailto:notifications@github.com> wrote:

When run schedule is set to 10 seconds, the connection is started at 10 sec intervals and shut down by the timer process thread. The log below may help. 2017-06-15 22:58:29,103 INFO [Timer-Driven Process Thread-5] com.solacesystems.jms.SolSession SolSession started. 2017-06-15 22:58:30,107 INFO [Timer-Driven Process Thread-5] com.solacesystems.jms.SolSession SolSession stopped. 2017-06-15 22:58:41,108 INFO [Timer-Driven Process Thread-5] com.solacesystems.jms.SolSession SolSession started. 2017-06-15 22:58:42,112 INFO [Timer-Driven Process Thread-5] com.solacesystems.jms.SolSession SolSession stopped. 2017-06-15 22:58:53,113 INFO [Timer-Driven Process Thread-5] com.solacesystems.jms.SolSession SolSession started. 2017-06-15 22:58:54,118 INFO [Timer-Driven Process Thread-5] com.solacesystems.jms.SolSession SolSession stopped.

The message contains confidential and/or legally privileged information and is intended for use by the indicated addressee.

If you are not the intended addressee: (a) any disclosure, reproduction, distribution or action you take because of it is strictly prohibited; (b) please return the complete message to the sender; and (c) this message is not a solicitation for purchase or sale or an agreement of any kind whatsoever that binds the sender.

On Thursday, June 15, 2017, 8:32:19 PM EDT, bcook2017 notifications@github.com<mailto:notifications@github.com> wrote:

Thanks for the quick response.

So I only see Timer Driven and Cron Driven, no event-driven, so how can you set the process to start, but not stop?

How do other use ConsumeJMS with Solace?

Thanks,

Bob

On Jun 15, 2017, at 6:30 PM, Wayne Sang notifications@github.com<mailto:notifications@github.commailto:notifications@github.com> wrote:

Nifi default run schedule Timer driven scheduling strategy. If default is unchanged, Nifi starts and stops processors all the time. You may refer to Apache NiFi User Guide for detailed information.

|

Apache NiFi User Guide

Apache NiFi Team

|

|

|

The message contains confidential and/or legally privileged information and is intended for use by the indicated addressee.

If you are not the intended addressee: (a) any disclosure, reproduction, distribution or action you take because of it is strictly prohibited; (b) please return the complete message to the sender; and (c) this message is not a solicitation for purchase or sale or an agreement of any kind whatsoever that binds the sender.

On Thursday, June 15, 2017, 6:09:37 PM EDT, bcook2017 notifications@github.com<mailto:notifications@github.commailto:notifications@github.com> wrote:

the site I'm trying consume messages from (running Solace JMS) is seeing the client (NiFi ConsumeJMA processor) continually unbinding/binding to the queue with a reason of "Client issued unbind". And the client is unable to consume all of the data and it is resulting in "Messages expired to discard". In my simple client application where I don't use NiFi, I keep the connection open for a period of time and don't see this issue. Any help would be great.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/lsac/nifi-jms-jndi/issues/1#issuecomment-308883358, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AcGlraiPwiLAFzq0WZUnk64lFTJEnGKYks5sEbCegaJpZM4N7zUs.

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/lsac/nifi-jms-jndi/issues/1#issuecomment-308920545, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AcGlrQA48Y_JUaZafqeRzeerYluOhppzks5sEfDBgaJpZM4N7zUs.

lsac commented 7 years ago

Nifi scheduler does the bind and unbind calls. I'd look into Nifi source code and search for related keywords. The JNDI handler does adhere NiFi design pattern and integrity by instantiate a connection factory. The rest is handled by NiFi.

lsac commented 7 years ago

Site-to-Site protocol is a good alternative at https://nifi.apache.org/docs/nifi-docs/html/user-guide.html#site-to-site. A standalone Solace consumer can send messages to Nifi via Site-to-Site protocol - hence the consumer can keep Solace connection open once online.

rakeshjain1213 commented 4 years ago

Even we are facing the same issue.