Github user PramodSSImmaneni commented on a diff in the pull request:
https://github.com/apache/apex-malhar/pull/347#discussion_r72994523
--- Diff: library/src/main/java/com/datatorrent/lib/io/jms/JMSBase.java ---
@@ -143,7 +172,7 @@ public void setConnectionFactoryProperties(Map<String,
String> connectionFactory
@Deprecated
public void setUser(String user)
--- End diff --
Why do different things for connectionFactoryClass and individual
properties. Looks like the set/get for connectionFactoryClass have been removed
in favor of specifying it as part of the factory builder but the convenience
methods for the properties are still present.
Removing connectionFactoryClass property directly in the operator is
probably the right way to go but it breaks backward compatibility. Since this
operator is marked evolving that is allowed. But since the usage is not
completely known, I suggest you email dev and users about the change and ask
folks if they are using the operator today and if so would they be ok to make
changes to their operator in future. From the response you can assess if you
need to also provide a convenience method for the factory class that wraps the
default builder or you can get rid of the convenience wrappers all together.
Second provide a getter for the connectionFactoryBuilder. With this, I can
set properties in the property file for the default factory builder like this
<property>
<name>dt.operator.jms.connectionFactoryBuilder.connectionFactoryClass</name>
<value>package.myJMSFactory</value>
</property>
<property>
<name>dt.operator.jms.connectionFactoryBuilder.connectionFactoryProperties[user]</name>
<value>myUsername</value>
</property>
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---