[ 
https://issues.apache.org/jira/browse/STORM-1870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jungtaek Lim resolved STORM-1870.
---------------------------------
       Resolution: Fixed
    Fix Version/s: 1.1.0
                   2.0.0

Merged into master and 1.x branch.

> Allow FluxShellBolt/Spout set custom "componentConfig" via yaml.
> ----------------------------------------------------------------
>
>                 Key: STORM-1870
>                 URL: https://issues.apache.org/jira/browse/STORM-1870
>             Project: Apache Storm
>          Issue Type: Improvement
>          Components: Flux
>            Reporter: Pavel Grochal
>            Assignee: Jungtaek Lim
>             Fix For: 2.0.0, 1.1.0
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> FluxShellBolt/Spout should have option to provide custom config option when 
> importing topology from YAML file.
> We use this to provide custom configuration for example to our python 
> RabbitMQ bolts. (Passing strings and list of strings).
> We are using this code:
> {code:title=FluxShellBolt.java|borderStyle=solid}
> public class FluxShellBolt extends ShellBolt implements IRichBolt {
>     
>     //... (rest of the class)
>     public void addComponentConfig(String key, Object value) {
>         this.componentConfig.put(key, value);
>     }
>     public void addComponentConfig(String key, Object[] value) {
>         this.componentConfig.put(key, value);
>     }
> }
> {code}
> And our YAML file:
> {code:title=topology.yaml|borderStyle=solid}
> bolts:
> - className: org.apache.storm.flux.wrappers.bolts.FluxShellBolt
>   configMethods:
>   - name: addComponentConfig
>     args: [rabbitmq.configfile, etc/rabbit.yml]
>   - name: addComponentConfig
>     args:
>     - publisher.data_paths
>     - [actions]
>     
> ... (rest of yaml file)
> {code}
> It works fine, however it produces this type of warning:
> {code}
> WARN  o.a.s.f.FluxBuilder - Found multiple invokable methods for class class 
> org.apache.storm.flux.wrappers.bolts.FluxShellBolt, method 
> addComponentConfig, given arguments [publisher.data_paths, [actions]]. Using 
> the last one found.
> {code}
> Which fortunately happens to be correct method, but it is not correct 
> solution.
> Any ideas?
> It is quite needed to provide custom config to ShellSpout/Bolt, since we run 
> all spouts/bolts in python via this option. It would be nice to have this 
> option in official release.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to