No, the builder class builds the topology dynamically so you don't need a topology class, just the builder and the json. The source code is proprietary but I'll see if I can get permission to release it. On Mar 5, 2014 8:19 AM, "Can Gencer" <cgen...@gmail.com> wrote:
> Hi Nathan, > > Thanks for you reply. So I assume you still need to upload a new jar for > each topology? How are you handling this? > > > On Tue, Mar 4, 2014 at 6:34 PM, Nathan Leung <ncle...@gmail.com> wrote: > >> It is possible, but I don't think it is out of the box. You would have >> to write that layer yourself. For example, I've written a class that can >> parse a json definition of a topology and start a topology based on the >> json (without a recompile, assuming all the classes referenced in json are >> available in your classpath). It makes use of reflections to create the >> necessary spout/bolt objects and call the appropriate methods (for example >> to call the proper grouping method for a bolt). >> >> >> On Tue, Mar 4, 2014 at 12:28 PM, Can Gencer <cgen...@gmail.com> wrote: >> >>> Hi, >>> >>> Bit of a storm newbie here, and we are considering using storm to run >>> some realtime data analytics. My question is, is there a way to update >>> Storm topologies programatically? The reason for this is that some of the >>> elements in the topology would need to be generated on runtime, based on >>> user input. >>> >>> What I understand is that the way to update a topology is to kill the >>> old one, compile the new one and run the new jar file using storm jar and >>> StormSubmitter.submitTopology will upload the jar file to the server. >>> >>> Instead, I would like to build the topology, and send it to the server >>> directly all within a separate application, I'm wondering if there's any >>> way to do this? Not sure how this would even be possible, as the topology >>> can contain arbitrary Java classes (though the topology changes would not >>> introduce any new classes), but any help/ideas would be much appreciated. >>> >>> Regards, >>> Can >>> >> >> >