IIRC, only if everything you use in your spouts and bolts is serializable. On Oct 6, 2015 11:29 PM, "Ankur Garg" <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> >> 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 <[email protected]> >> > 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 . >> > > > >> > > >> > >> > >
