Stephen Harper created NIFI-1686:
------------------------------------
Summary: NiFi is unable to populate over 1/4 of AMQP properties
from flow properties
Key: NIFI-1686
URL: https://issues.apache.org/jira/browse/NIFI-1686
Project: Apache NiFi
Issue Type: Bug
Components: Core Framework
Affects Versions: 0.5.1
Reporter: Stephen Harper
When creating a flow (we used ListenHTTP, but this bug will affect all) that
forwards on to a rabbit queue, org.apache.nifi.amqp.processors.PublishAMQP uses
the method extractAmqpPropertiesFromFlowFile to populate the AMQP
BasicProperties if the flow attributes match a certain format (i.e
amqp$contentType=text/xml).
The method in question uses reflection to find a matching method name from the
AMQP.BasicProperties class, and tries to populate accordingly.
This works fine for all properties that take a String argument - however there
are some that don't (specifically, headers takes a Map<String, Object>,
deliveryMode and priority take Integer, and timestamp takes a Date), and it is
impossible to populate these values because the invocation assumes a String is
required, and fails on line 210.
Whatsmore, the comment underneath (line 215) states that "this should really
never happen since it should be caught by the above IF" - however the author of
the code mustn't have tested all cases because this error is consistently
present when trying to forward flow attributes in over a quarter of the
available amqp properties.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)