NIFI-10219 Remove jna-platform from nifi-bootstrap-utils #6199
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
NIFI-10219 Removes the
jna-platform
dependency fromnifi-bootstrap-utils
and removes the privateOSUtils.getWindowsProcessId()
method which depends on reflection and JNA access for Java 8 on Windows.Removing the
jna-platform
dependency removes support for retrieving spawned Process Identifiers on Windows when running on Java 8, but all references toOSUtils.getProcessId()
treat the PID as optional. Furthermore, the bootstrap components leverageps
andkill
commands that are not available on Windows, so having the PID available on Windows does not support additional operations. Java 9 and following provide a standard method for retrieving the PID.Eliminating the direct dependency on
jna-platform
removes the library fromlib/bootstrap
and allows the library to be placed inlib/properties
as a transitive dependency ofnifi-property-protection-azure
, avoiding runtime class definition issues. This also avoids the need to adjust thenifi-assembly
configuration to remove thejna-platform
dependency to a different location, or provide multiple copies.Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking
Pull Request Tracking
NIFI-00000
NIFI-00000
Pull Request Formatting
main
branchVerification
Please indicate the verification steps performed prior to pull request creation.
Build
mvn clean install -P contrib-check
Licensing
LICENSE
andNOTICE
filesDocumentation