[ 
https://issues.apache.org/jira/browse/NIFI-7226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joe Witt updated NIFI-7226:
---------------------------
    Fix Version/s: 1.11.4

> Add Connection Factory configuration properties to PublishJMS and ConsumeJMS 
> processors
> ---------------------------------------------------------------------------------------
>
>                 Key: NIFI-7226
>                 URL: https://issues.apache.org/jira/browse/NIFI-7226
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>            Reporter: Peter Turcsanyi
>            Assignee: Peter Turcsanyi
>            Priority: Major
>             Fix For: 1.12.0, 1.11.4
>
>          Time Spent: 3h 10m
>  Remaining Estimate: 0h
>
> Connection factories can be configured via JndiJmsConnectionFactoryProvider 
> or JMSConnectionFactoryProvider controller services for PublishJMS / 
> ConsumeJMS.
> However, some JMS client libraries may not work with the controller services. 
> For example WebLogic JMS client throws the following exception when receiving 
> a certain type of messages:
> {code:java}
> java.lang.ClassCastException: 
> weblogic.diagnostics.context.DiagnosticContextImpl cannot be cast to 
> weblogic.workarea.WorkContext
> {code}
> This is due to incompatible Java ClassLoader handling between the WebLogic 
> JMS client library and NiFi. NiFi applies classloader isolation between its 
> components. Apparently there is also classloader manipulation within the 
> WebLogic client. These incompatible classloader switches lead to the 
> situation that some JMS client classes are loaded by the controller service's 
> classloader, while others by the WebLogic's custom classloader (which is a 
> child of the processor's classloader, so it is on a different branch in the 
> classloader hierarchy than the controller service).
> The issue can be eliminated by using the processor's classloader to load the 
> JMS client classes instead of the controller service's. This can be achieved 
> via configuring the connection factory on the processor itself.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to