Hi Storm gurus,
I am working on the project which should allow users to submit their topology 
jars to Storm. We successfully using command line but now I need to write 
application which allows user to submit jar through let say browser.
Here is what I am trying to do

           Config conf = new Config();
            TopologyBuilder topoBuilder = new TopologyBuilder();
            conf.put(Config.NIMBUS_HOST, topologyModel.getHost());
            conf.setDebug(true);
            Map stormConf = Utils.readStormConfig();
            stormConf.put(Config.NIMBUS_HOST, topologyModel.getHost());

            // topology submit
            NimbusClient nimbus = new NimbusClient(stormConf, 
topologyModel.getHost(), null != topologyModel.getNimbusPort() ? 
topologyModel.getNimbusPort() : 6627);
            String uploadedJarLocation = StormSubmitter.submitJar(stormConf, 
topologyModel.getArtifactUrl());
            System.setProperty("storm.jar", uploadedJarLocation.concat(" 
").concat(topologyModel.getMainClass()));
            String jsonConf = JSONValue.toJSONString(stormConf);
            //StormTopology topology = buildToplogy(topologyModel);
            //SubmitOptions options = new SubmitOptions();
            //client.jartransformer.class
            nimbus.getClient().submitTopology(topologyModel.getTopologyName(), 
uploadedJarLocation, jsonConf, topoBuilder.createTopology());
            success = true;


I looked at the storm python script and saw that main class name is 
concatenated to JVM_OPTS
That's why I added this line

System.setProperty("storm.jar", uploadedJarLocation.concat(" 
").concat(topologyModel.getMainClass()));

But when I execute the code in test I only see empty topology without spouts 
and bolts in Storm UI with only one worker and one executor.  Main class in the 
jar has the code to submit spouts and bolts with parallelism 3 so most 
definitely main class wasn't picked up.
Is there any way to implement this command python ${storm_home}/bin/storm jar 
${dsl_apps_dir}/dist/${jarname} $mainclass in Java besides calling it (which is 
already done) directly?


Thanks,
Michael Kazansky


This communication is for informational purposes only.  It is not intended as 
an offer or solicitation for the purchase or sale of any financial instrument 
or as an official confirmation of any transaction.  All market prices, data and 
other information are not warranted as to completeness or accuracy and are 
subject to change without notice.  Any comments or statements made herein do 
not necessarily reflect those of JPMorgan Chase & Co., its subsidiaries and 
affiliates (collectively, "JPMC").

This transmission may contain information that is proprietary, privileged, 
confidential and/or exempt from disclosure under applicable law.  If you are 
not the intended recipient, you are hereby notified that any disclosure, 
copying, distribution, or use of the information contained herein (including 
any reliance thereon) is STRICTLY PROHIBITED.  If you received this 
transmission in error, please immediately contact the sender and destroy the 
material in its entirety, whether in electronic or hard copy format.  Although 
this transmission and any attachments are believed to be free of any virus or 
other defect that might affect any computer system into which it is received 
and opened, it is the responsibility of the recipient to ensure that it is 
virus free and no responsibility is accepted by JPMC for any loss or damage 
arising in any way from its use.  Please note that any electronic communication 
that is conducted within or through JPMC's systems is subject to interception, 
monitoring, review, retention and external production in accordance with JPMC's 
policy and local laws, rules and regulations; may be stored or otherwise 
processed in countries other than the country in which you are located; and 
will be treated in accordance with JPMC policies and applicable laws and 
regulations.

Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures 
relating to European legal entities.

Reply via email to