Commit Graph

65 Commits

Author SHA1 Message Date
Mike Thomsen 589a1c24d1
NIFI-9124 Refactored nifi-jms-bundle to use JUnit 5
- NIFI-9122 Refactored nifi-influxdb-bundle to use JUnit 5
- NIFI-9121 Refactored nifi-ignite-bundle to use JUnit 5
- NIFI-9120 Refactored nifi-html-bundle to use JUnit 5
- NIFI-9119 Refactored nifi-hl7-bundle to use JUnit 5
- NIFI-9118 Refactored nifi-hive-bundle to use JUnit 5
- NIFI-9117 Refactored nifi-hbase-bundle to use JUnit 5
- NIFI-9116 Refactored nifi-hazelcast-bundle to use JUnit 5
- NIFI-9114 Refactored nifi-hadoop-bundle to use JUnit 5
- Added DisabledOnOs(OS.WINDOWS) to Hive tests with @TempDir from JUnit 5 due to Windows-specific problems in JUnit 5

This closes #5791

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2022-02-28 10:39:47 -06:00
Peter Turcsanyi 24c0c39ebb
NIFI-9261: Make ActiveMQ client configurable via SSL Context Service in JMSConnectionFactoryProvider
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #5425.
2021-10-01 09:29:02 +02:00
Mark Payne baf29e59f1
NIFI-9009: Created VerifiableProcessor, VerifiableControllerService, VerifiableReportingTask components; implemented backend work to call the methods. Added REST APIs and created/updated data models for component configuration verification
Signed-off-by: Joe Gresock <jgresock@gmail.com>

This closes #5288
2021-09-22 19:00:23 -04:00
Peter Turcsanyi 4240a9f285
NIFI-9238: Mapped JMSConnectionFactoryProvider properties to Qpid JMS client setters
NIFI-9238: Added documentation

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #5408.
2021-09-22 19:49:32 +02:00
Mark Payne ecacfdaa4c NIFI-8469: Introduced ProcessSession.commitAsync and updated processors to use it. Deprecated ProcessSession.commit()
- Updated Mock Framework to now fail tests that use ProcessSession.commit() unless they first call TestRunner.setAllowSynchronousSessionCommits(true)
- Updated stateless nifi in order to make use of async session commits
- Fixed bug that caused stateless to not properly handle Additional Classpath URLs and bug that caused warnings about validation to get generated when a flow that used controller services was initialized. While this is not really in scope of NIFI-8469, it was found when testing and blocked further progress so addresssed here.
- If Processor fails to progress when run from stateless, trigger from start of flow until that is no longer the case
- Introduced notion of TransactionThresholds that can limit the amount of data that a flow will bring in for a given invocation of stateless dataflow
- Several new system-level tests
2021-05-19 08:51:16 -04:00
exceptionfactory 4db50f2f40
NIFI-8502 Upgraded Spring Framework to 5.3.6
- Upgraded Spring Framework references from version 4.3.30 to 5.3.6
- Upgraded Spring Security from version 4.2.20 to 5.4.6
- Upgraded Spring Data Redis from 2.1.16 to 2.5.0
- Upgraded Jedis from 2.9.0 to 3.6.0 to match Spring Data Redis 2.5.0
- Upgraded Easy Rules from 3.4.0 to 4.1.0 to support Spring 5
- Upgraded Hortonworks Schema Registry Client from 0.8.1 to 0.9.1 to support Spring 5
- Refactored ThreadPoolRequestReplicatorFactoryBean to implement DisposableBean to handle executor shutdown

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #5066.
2021-05-12 12:49:01 +02:00
Mark Payne 7d1d536da6
NIFI-8206: Added identifiesExternalResource() method to PropertyDescriptor.Builder and implemented functionality.
- Updated components to make use of new feature

NIFI-8206: Added a ResourceType of TEXT. This requires that the ResourceReferenceFactory know which types are allowed in order to create the ResourceReference. PropertyValue needs to then have the PropertyDescriptor available to it. This resulted in highlighting many bugs in unit tests where components were not exposing property descriptors via getSupportedPropertyDescriptors() or were evaluating Expression Language using the wrong scope, so fixed many unit tests/components to properly declare Expression Language scope when using it

NIFI-8206: Removed problematic unit test that required directory names with special characters that are not allowed on some operating systems

This closes #4890.

Signed-off-by: Bryan Bende <bbende@apache.org>
2021-04-12 11:48:04 -04:00
exceptionfactory 817f621d6f NIFI-8096 Deprecated ClientAuth references in SSLContextService
- Added SSLContextService.createContext() and refactored referencing components
- Removed references to ClientAuth from SslContextFactory methods

This closes #4737.

Signed-off-by: Mark Payne <markap14@hotmail.com>
2021-01-06 16:24:26 -05:00
Andy LoPresto 9370571131
NIFI-7804 Split nifi-security-utils into sub-module for nifi-security… (#4533)
* NIFI-7804 Split nifi-security-utils into sub-module for nifi-security-utils-api (no external dependencies).
Separated interface and implementation of TlsConfiguration.
Reabsorbed nifi-security-xml-config into nifi-security-utils.

* NIFI-7804 Resolved failing unit test on Java 8.
Removed accidental module dependency.

* NIFI-7804 Resolved failing unit test.

* NIFI-7804 Removed legacy dependency.

* NIFI-7804 Marked nifi-security-utils-api as provided and overrode with compile scope in specific modules which are not children of nifi-standard-services-api-nar.
2020-09-17 12:52:22 -04:00
Peter Turcsanyi cdd766d649
NIFI-7671: Support Message Selector in ConsumeJMS processor
Also fixed some display names and variable names.

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #4432.
2020-07-27 12:50:44 +02:00
Gardella Juan Pablo e1584207d1 NIFI-7563: Optimize the usage of JMS sessions and message producers
The introduced changes prevent creating unnecesary sessions and producers
in some scenarios.

This closes #4378.

Signed-off-by: Joey Frazee <jfrazee@apache.org>
2020-07-03 16:43:29 -05:00
Andy LoPresto 441781cec5
NIFI-7407 Replaced SSLContextFactory references to "TLS" with "TLSv1.2" (in shared constant).
Changed JettyServer default SSL initialization and updated unit test.
Removed SecurityStoreTypes (unused).
Added StringUtils inverted blank and empty checks.
Added TlsConfiguration container object.
Enhanced KeystoreType enum.
Added clean #createSSLContext() method to serve as base method for special cases/other method signatures.
Added utility methods in KeyStoreUtils.
Added generic TlsException for callers that cannot resolve TLS-specific exceptions.
Added utility methods for component object debugging.
Enforced TLS protocol version on cluster comms socket creation.
Added utility method for SSL server socket creation.
Refactored (Server)SocketConfigurationFactoryBean to store relevant NiFiProperties in TlsConfiguration instead of stateful SSLContextFactory (Cluster comms now enforce modern TLS protocol version).
Removed duplicate SSLContextFactory.
Switched duplicate SslContextFactory to wrap shared SSLContextFactory.
Refactored SslContextFactoryTest for clarity (will move any unique tests to nifi-security-utils class test).
Added further validation & boundary checking in uses of TlsConfiguration.
Provided SSLSocketFactory accessor in SslContextFactory.
Refactored OkHttpReplicationClient tuple method.
Refactored OcspCertificateValidator TLS logic.
Added utility method to apply TLS configs to OkHttpClientBuilder.
Removed references to duplicate SslContextFactory.
Removed unnecessary SslContextFactory.
Moved OkHttpClientUtils to nifi-web-util module.
Updated module dependencies.
Removed now empty nifi-security module.
Enforced TLS protocol selection on LB server socket.
Enforced TLS protocol selection on S2S server socket.
Applied specified TLS protocol versions to S2S socket creation.
Completed removal of legacy SSLContext creation methods from only remaining SslContextFactory.
Replaced references to creation methods throughout codebase.
Replaced references to unnecessary NiFiProperties file reads throughout tests.
Removed duplicate ClientAuth enum from SSLContextService and changed all references to SslContextFactory.ClientAuth.
Suppressed repeated TLS exceptions in cluster, S2S, and load balance socket listeners.
Cleaned up legacy code.
Added external timing check to timing test assertion.
Made RestrictedSSLContextService TLS protocol versions allowable values explicit.
Enabled TLSv1.3 on Java 11.
Added explanations of TLS protocol versions in StandardSSLContextService and StandardRestrictedSSLContextService.
Resolved additional Java 11 test failures for NiFi internal classes that don't support TLSv1.3. Filed NIFI-7468 as follow on task.

This closes #4263.

Signed-off-by: Nathan Gough <thenatog@gmail.com>
Signed-off-by: Mark Payne <markap14@hotmail.com>
2020-05-19 12:56:59 -07:00
Peter Turcsanyi 3de3ad4029
NIFI-7245: JMS processors yield when connection factory initialisation failed
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #4133.
2020-03-11 19:24:10 +01:00
Gardella Juan Pablo 89d8b877f9 NIFI-7050 ConsumeJMS is not yielded in case of exception
This closes #4004.

Signed-off-by: Peter Turcsanyi <turcsanyi@apache.org>
2020-03-11 10:54:20 +01:00
Peter Turcsanyi 7c57e75da4 NIFI-7226: Add Connection Factory configuration properties to PublishJMS and ConsumeJMS processors
Some JMS client libraries may not work with the existing controller services due to incompatible
classloader handling between the 3rd party library and NiFi.
Via configuring the Connection Factory on the processor itself, only the processor's and its
children's classloaders will be used which eliminates the mentioned incompatibility.

This closes #4110.

Signed-off-by: Mark Payne <markap14@hotmail.com>
2020-03-06 09:51:37 -05:00
Gardella Juan Pablo cddaac591b
NIFI-7034 Thise closes #4002. Connection leak with JMSConsumer and JMSPublisher
Signed-off-by: Joe Witt <joewitt@apache.org>
2020-01-19 12:08:22 -05:00
Tamas Palfy b35ad7cd20
NIFI-7039 - This closes #3995. Fix: PublishJMS outgoing flowfile attribute cleanup could lead to ConcurrentModificationException
Signed-off-by: Joe Witt <joewitt@apache.org>
2020-01-19 11:04:39 -05:00
Gardella Juan Pablo c1301e196c
NIFI-6915 This closes #3961. Jms Durable non shared subscription is broken
Revert NIFI-4834 enhancement for durable non shared consumers only.

Updated also AbstractJMSProcessor class to be public. The testing are not working
without that change, as org.apache.nifi.jms.processors.PublishJMSIT and
org.apache.nifi.jms.processors.ConsumeJMSIT are not working, as @OnSchedule
method is not called (because it is not public).
The method org.apache.nifi.util.StandardProcessorTestRunner.run(int iterations, boolean stopOnFinish, boolean initialize, long runWait) uses ReflectionUtils.invokeMethodsWithAnnotation which does not call non public
methods.

Signed-off-by: Joe Witt <joewitt@apache.org>
2020-01-19 10:04:39 -05:00
Tamas Palfy 103325354b NIFI-7015 - ConsumeJMS now supports ObjectMessage, MapMessage and StreamMessage types as well. Added optional ERROR_QUEUE property. Result flowfiles get a 'jms.messagetype' attribute that contains the incoming message type (TextMessage, BytesMessage, ObjectMessage, MapMessage or StreamMessage). 2020-01-14 17:07:44 -05:00
r65535 82b4fb0633
NIFI-6957 - Added REGEX header property, and option to allow illegal chars in header names
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #3942.
2019-12-30 09:55:39 +01:00
Pierre Villard 3c3eba1909 NIFI-6916 - handle null text message in JMSConsumer
This closes #3919.

Signed-off-by: Mark Payne <markap14@hotmail.com>
2019-12-13 13:03:23 -05:00
Pierre Villard 41fef551c3
NIFI-6917 - fix doc for dynamic properties variables support in JMS Connection Factory Provider
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #3914
2019-12-04 16:12:18 -05:00
Joe Ferner ae2b3d6b45
NIFI-6885:
- Fixed bug when calling logUnbuildableDestination with "jms_destination" instead of actual destination name value

Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #3895
2019-11-21 16:34:52 -05:00
Veli Kerim Celik 1dfbc97c07
NIFI-5929 Support for IBM MQ multi-instance queue managers
proper line break

more proper line break :)

Link to external javadocs and add some code comments

Test that properties is set on ConnectionFactory

cleanup

made two static properties optional and elaborated on 'Additional Details' page

minor corrections to user doc

open external links in new tab

Do broker accommodations only if property is set. Add fallback accommodation.

fix test

Add support for colon pair(s) for IBM MQ. In fallback broker handling use first pair if multiple given.

This closes #3246.

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2019-11-18 16:55:23 +09:00
slyouts 097b9c3075 NIFI-6022 Added try/catch to protect against secondary exception in a primary exception catch clause
NIFI-6022 mods per PR review

NIFI-6022 mods per PR review

This closes #3476.

Signed-off-by: Koji Kawamura <ijokarumawak@apache.org>
2019-05-31 08:51:36 +09:00
Mark Bean a0c28ee19e NIFI-5660: JMSPublisher should set some header properties in JmsTemplate instead of directly in the message
NIFI-5660: Added lines to integration test to verify these header properties (added by Mike Moser)

Signed-off-by: Mike Moser <mosermw@apache.org>

This closes #3053
2019-02-21 14:45:04 -05:00
Ed 3492313d0b NIFI-5869 Support Reconnection for JMS
resets worker if it doesn't work anymore for any reason. this will add "reconnect" capabilities. Will solve issues for following use cases:
- authentication changed after successful connection
- JNDI mapping changed and requires recaching.
- JMS server isn't available anymore or restarted.

improved controller reset on exception

Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #3261
2019-02-13 14:18:05 -05:00
Pierre Villard 432ba8787f
NIFI-5921 - Timeout property for ConsumeJMS
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #3245.
2019-01-04 12:28:13 +01:00
Ryan Whittington cd91197a45
NIFI-5921 - Added property to allow a user to define a timeout on the ConsumeJMS processor
Co-Authored-By: rwhittington <ryan.whittington@gmail.com>
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #3240.
2019-01-04 10:32:12 +01:00
Ed B 878a0b8b74 NIFI-5810 Add UserName EL support to JMS processors
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #3164.
2018-11-10 10:33:40 +01:00
Mark Payne ebead820f9
NIFI-5741: When returning a ConnectionFactory from the JndiJmsConnectionFactoryProvider, ensure that we wrap the ConnectionFactory so that any calls to the ConnectionFactory happen within the context of the Controller Service's Class Loader
This closes #3106.

Signed-off-by: Bryan Bende <bbende@apache.org>
2018-10-23 16:17:25 -04:00
Brandon Devries b4c8e0179b Merge branch 'pr2931' 2018-10-02 11:08:43 -04:00
Mike Moser 76a9f98d7f NIFI-3531 Catch and rethrow generic Exception to handle RuntimeExceptions, and allow test to pass
This closes #2931.
Signed-off-by: Brandon Devries <devriesb@apache.org>
2018-10-02 11:06:51 -04:00
Brandon Devries 895323f3c2 Merge branch 'pr2949' 2018-10-02 09:40:36 -04:00
Mike Moser 4f538f1ecb NIFI-3672 updated PublishJMS message property docs
This closes #2949

Signed-off-by: Brandon Devries <devriesb@apache.org>
2018-10-02 09:39:17 -04:00
Mark Payne ad80f5f064 NIFI-5598: Allow JMS Processors to lookup Connection Factory via JNDI
NIFI-5598: Expose JNDI Principal & Credentails as explicit properties
Signed-off-by: Matthew Burgess <mattyb149@apache.org>

This closes #3005
2018-09-19 12:56:58 -04:00
Mike Moser 66eeb48802 NIFI-3672 Add support for strongly typed message properties in PublishJMS 2018-08-14 16:37:35 +00:00
Mike Moser 8309747889 NIFI-3531 Moved session.recover in JMSConsumer to exceptional situations 2018-08-01 20:11:40 +00:00
Mike Moser 4e09a03f86 NIFI-5196 Fixed JMS connection leak when uncaught exceptions happen
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #2904.
2018-07-18 11:27:51 +02:00
Mark Payne 1597492fed NIFI-5073: Removed unneeded code for changing ClassLoader since it is now managed by framework
This closes #2653.
2018-05-24 11:30:39 -04:00
zenfenan db259628c7 NIFI-5073: JMSConnectionFactoryProvider now resolves EL Expression from VariableRegistry
- CLIENT_LIB_PATH is updated to include 'dynamicallyModifiesClasspath(true)'
2018-05-24 11:29:47 -04:00
Mark Bean def9741a39 NIFI-5180: update JMS additional details to set Destination Type to Required, default 'QUEUE'
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #2694.
2018-05-10 10:47:20 +02:00
Pierre Villard 4c787799ff NIFI-4149 - Indicate if EL is evaluated against FFs or not
- take into account input requirement for documentation rendering
- Renamed variable registry scope and added comments
- Doc + change in mock framework to check scope + update of components + UI
2018-04-06 12:40:54 -04:00
Julian Gimbel 9cd0aab696 NIFI-4918: looping over several methods to try and fit the dynamic attribute.
If failed, use first method and throw error if not working.

Array.length can never be less then 0

This closes #2499.

Signed-off-by: Mark Payne <markap14@hotmail.com>
2018-03-16 14:40:59 -04:00
Mark Payne 3f0aa6e13c Changed some unit tests to Integration Tests because they are creating embedded JMS Brokers (implicitly) and commnicating with it. This becomes brittle in a full build, especially if any other unit test attempts to create a broker implicitly due to the way that the activemq broker implicit creation works. 2018-03-16 12:07:33 -04:00
Mark Payne 867ffdb52e NIFI-4976: If unable to retrieve message content, warn an error but acknowledge message.
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #2545.
2018-03-14 22:50:34 +01:00
Jeff Storck e916594b69 NIFI-4872 Added annotation for specifying scenarios in which components can cause high usage of system resources.
- Initial set of components marked with the HighResourceUsageScenario annotation.
- Added customized descriptions to SystemResourceConsideration annotations for MergeContent, SplitContent, SplitJson, SplitText, and SplitXml.

This closes #2475.

Signed-off-by: Mark Payne <markap14@hotmail.com>
2018-03-05 15:32:23 -05:00
Mark Payne 74bb341abc NIFI-2630: Changed name of queue in unit test to be unique in order to avoid getting messages from another test if the other tests fails to properly shutdown the connection. This closes #2458. 2018-03-02 09:37:00 -05:00
Mike Moser 42e6fa42a3 NIFI-2630 Allow PublishJMS to send TextMessages
- Added configurable character set encoding for JMS TextMessages
- Improved PublishJMS/ConsumeJMS documentation
- Validate character set in property validator instead of OnScheduled
2018-03-02 09:11:58 -05:00
Mark Payne b4a4cc564e Fixed failing unit tests: Changed the queues used to unique names so that one test won't interfere with another; also changed JMSPublisherConsumerTest to JMSPublisherConsumerIT since it is an integration test between the publisher and consumer with ActiveMQ as the broker 2018-03-02 08:44:25 -05:00