storm-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Reilly ...@inconspicuous.org>
Subject Re: Does Storm work with Spring
Date Sat, 10 Oct 2015 03:07:34 GMT
Oh yeah... And of course set the transient fields in prepare methods.
On Fri, Oct 9, 2015 at 20:04 John Reilly <jr@inconspicuous.org> wrote:

> You can just create the ApplicationConrext using a singleton and make all
> fields in the bolt or spout code which reference the app context transient.
> On Fri, Oct 9, 2015 at 08:35 Javier Gonzalez <jagonzal@gmail.com> wrote:
>
>> IIRC, only if everything you use in your spouts and bolts is
>> serializable.
>> On Oct 6, 2015 11:29 PM, "Ankur Garg" <ankurgarg9@gmail.com> wrote:
>>
>>> Hi Ravi ,
>>>
>>> I was able to make an Integration with Spring but the problem is that I
>>> have to autowire for every bolt and spout . That means that even if i
>>> parallelize spout and bolt it will get started to each instance  . Is there
>>> some way that I only have to do for bolts and spouts once (I mean if I
>>> parallelize bolts or spouts individually it can share the conf from
>>> somewhere) . IS this possible??
>>>
>>> Thanks
>>> Ankur
>>>
>>> On Tue, Sep 29, 2015 at 7:57 PM, Ravi Sharma <ping2ravi@gmail.com>
>>> wrote:
>>>
>>>> Yes this is for annotation also...
>>>>
>>>> you can call this method in prepare()  method of bolt and onOpen()
>>>> method
>>>> in every Spout and make sure you don't use any autowire bean before this
>>>> call.
>>>>
>>>>
>>>>
>>>>
>>>> Ravi.
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Sep 29, 2015 at 2:22 PM, Ankur Garg <ankurgarg9@gmail.com>
>>>> wrote:
>>>>
>>>> > Hi Ravi ,
>>>> >
>>>> > Thanks for your reply . I am using annotation based configuration and
>>>> using
>>>> > Spring Boot.
>>>> >
>>>> > Any idea how to do it using annotations ?
>>>> >
>>>> >
>>>> >
>>>> > On Tue, Sep 29, 2015 at 6:41 PM, Ravi Sharma <ping2ravi@gmail.com>
>>>> wrote:
>>>> >
>>>> > > Bolts and Spouts are created by Storm and not known to Spring
>>>> Context.
>>>> > You
>>>> > > need to manually add them to SpringContext, there are few methods
>>>> > available
>>>> > > i.e.
>>>> > >
>>>> > >
>>>> > >
>>>> >
>>>> SpringContext.getContext().getAutowireCapableBeanFactory().autowireBeanProperties(this,
>>>> > > AutowireCapableBeanFactory.AUTOWIRE_AUTODETECT, false);
>>>> > >
>>>> > > SpringContext is my own class where i have injected SpringContext
so
>>>> > > SpringContext.getContext() returns the actuall Spring Context
>>>> > >
>>>> > >
>>>> > >
>>>> > >
>>>> > > Ravi.
>>>> > >
>>>> > >
>>>> > > On Tue, Sep 29, 2015 at 1:03 PM, Ankur Garg <ankurgarg9@gmail.com>
>>>> > wrote:
>>>> > >
>>>> > > > Hi ,
>>>> > > >
>>>> > > > I am building a Storm topology with set of Spouts and Bolts
 and
>>>> also
>>>> > > using
>>>> > > > Spring for Dependency Injection .
>>>> > > >
>>>> > > > Unfortunately , none of my fields are getting autowired even
>>>> though I
>>>> > > have
>>>> > > > declared all my spouts and Bolts as @Components .
>>>> > > >
>>>> > > > However the place where I am declaring my topology , Spring
is
>>>> working
>>>> > > fine
>>>> > > > .
>>>> > > >
>>>> > > > Is it because cluster.submitTopology("test", conf,
>>>> > > > builder.createTopology())
>>>> > > >  submits the topology to a cluster (locally it spawns different
>>>> thread
>>>> > > for
>>>> > > > Spouts and Bolts) that Autowiring is not working?
>>>> > > >
>>>> > > > Please suggest .
>>>> > > >
>>>> > >
>>>> >
>>>>
>>>
>>>

Mime
View raw message