-
Notifications
You must be signed in to change notification settings - Fork 218
Mike Sukmanowsky edited this page May 13, 2014
·
5 revisions
Luckily, the Clojure DSL and Java APIs for Storm haven't changed that much from the 0.5.0 release version (though of course, this could change). This allows our Clojure wrapper to define, run and submit topologies between different releases. If you change the version of the Storm JAR via :dependencies
in your project.clj file, you'll get support for a different Storm version for free. Here's a sample project.clj file supporting Storm 0.8.2:
(defproject wordcount "0.0.1-SNAPSHOT"
:source-paths ["topologies"]
:resource-paths ["_resources"]
:target-path "_build"
:min-lein-version "2.0.0"
:jvm-opts ["-client"]
:dependencies [ [org.clojure/data.json "0.2.4"]
[org.clojure/tools.cli "0.3.1"]
[storm "0.8.2"] ; <-------------------------------------
[com.parsely/streamparse "0.0.1-SNAPSHOT"]]
:jar-exclusions [#"log4j\.properties" #"backtype" #"trident" #"META-INF" #"meta-inf" #"\.yaml"]
:uberjar-exclusions [#"log4j\.properties" #"backtype" #"trident" #"META-INF" #"meta-inf" #"\.yaml"]
)
Of course upgrading or downgrading topologies may still require manual steps if you wish to use/stop using newer features that were not available between Storm versions.