Github user HeartSaVioR commented on a diff in the pull request:
https://github.com/apache/storm/pull/2243#discussion_r130254961
--- Diff: examples/storm-kafka-client-examples/README.markdown ---
@@ -0,0 +1,10 @@
+## Usage
+This module contains example topologies demonstrating storm-kafka-client
spout and Trident usage.
+
+The module is built by `mvn clean package`. This will generate the
`target/storm-kafka-client-examples-VERSION.jar` file. The jar contains all
dependencies and can be submitted to Storm via the Storm CLI. For example:
+```
+storm jar storm-kafka-client-examples-2.0.0-SNAPSHOT.jar
org.apache.storm.kafka.spout.test.KafkaSpoutTopologyMainNamedTopics
+```
+will submit the topologies set up by KafkaSpoutTopologyMainNamedTopics to
Storm.
+
+Note that this example produces a jar containing all dependencies for ease
of use. In a production environment you may want to reduce the jar size by
extracting some dependencies (e.g. org.apache.kafka:kafka-clients) from the
jar. You can do this by setting the dependencies you don't want to include in
the jars to `provided` scope, and then manually copying the dependencies to
your Storm extlib directory.
--- End diff --
Instead of copying dependencies to the extlib, you can achieve the same
thing (or more) via using `--artifacts` to add dependencies for specific
topology while submitting. I think this is simpler and topology-wide, so would
love to guide both, or only `--artifacts`. (We already replaced the guide for
how to add dependencies from Storm SQL.)
Please refer
https://github.com/apache/storm/blob/master/docs/Command-line-client.md#jar for
details.
---
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.
---