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
>>>
>>
>>
>

Reply via email to