Hi Girish, I already put this into the service wrapper method right before the runSync call (dumpedStack is a static AtomicBoolean):
if (!dumpedStack.getAndSet(true)) { log.warn("Stack trace:\n{}", Arrays.stream(Thread.currentThread().getStackTrace()).map(StackTraceElement::toString).collect(Collectors.joining("\\n"))); } But that's not really helpful because the information included doesn't contain service names and I don't think async service calls will be respected with that approach. > Girish Vasmatkar <girish.vasmat...@hotwaxsystems.com> hat am 05.02.2021 11:08 > geschrieben: > > > Hi Danny, > > While this feature isn't available, you can just put a try catch (in the > service you think is getting called too much). In the try block, throw an > exception and in the catch just do printStackTrace(), you will get to know > where that service is getting called from. > > This is of course an ugly solution but works especially if you're in the > development phase. That said, it would be a nice feature to have the > DispatchContext have information about current execution context. > > Best Regards, > Girish > > > > > > On Fri, Feb 5, 2021 at 1:08 PM Danny Trunk <d...@zyres.com> wrote: > > > Hi Deepak Dixit, > > > > the use case is debugging. There's a service getting called a lot and I > > can't find the origin while checking all the servicedef/entitydef XMLs. And > > I think it's quite useful to have such a feature. > > > > Kind regards > > Danny. > > > > > Deepak Dixit <deepak.di...@hotwax.co> hat am 04.02.2021 18:19 > > geschrieben: > > > > > > > > > Hi Danny Trunk, > > > > > > Could you please share the use case why you need a service call stack? > > > > > > If you share the use case it may be possible you will get a better > > answer. > > > > > > Kind Regards, > > > Deepak Dixit > > > DIRECTOR OF PRODUCT ENGINEERING > > > mobile: +91 9826754548 > > > email: deepak.di...@hotwax.co > > > *www.hotwax.co <http://www.hotwax.co/>* > > > > > > > > > On Thu, Feb 4, 2021 at 8:40 PM Danny Trunk <d...@zyres.com> wrote: > > > > > > > Hello, > > > > > > > > let's imagine Service A is calling Service B directly through > > > > dispatcher.runSync and Service C is running as an SECA action of > > Service B. > > > > The call stack would be: Service A -> Service B -> Service C (through > > SECA) > > > > > > > > Or let's imagine Service D is running as an EECA action of entity > > Product. > > > > The call stack would be: Product Entity -> Service D (through EECA) > > > > > > > > Is it possible to get that information somehow? > > > > I can't find anything helpful in DispatchContext or GenericDispatcher. > > > > > > > > Output into a log file would be great. > > > > > > > > Kind regards > > > > Danny. > > > > > > > > <pre>ZYRES digital media systems GmbH > > Stuttgarter Straße 25 60329 Frankfurt am Main Phone +49 69 98 55 99 - 0 > > Fax +49 69 98 55 99 - 11 > > > > Firmensitz: Stuttgarter Straße 25 60329 Frankfurt am Main > > Registergericht: Amtsgericht Frankfurt am Main, HRB 76374 > > Geschäftsführer: Sebastian Schirmer > > > > http://www.zyres.com/</pre> > > <pre>ZYRES digital media systems GmbH Stuttgarter Straße 25 60329 Frankfurt am Main Phone +49 69 98 55 99 - 0 Fax +49 69 98 55 99 - 11 Firmensitz: Stuttgarter Straße 25 60329 Frankfurt am Main Registergericht: Amtsgericht Frankfurt am Main, HRB 76374 Geschäftsführer: Sebastian Schirmer http://www.zyres.com/</pre>