OK, I get it. So the HttpServletRequest request has been injected automatically just when we declare it in the method signatures. Is there any difference between this declaration and the @Autowired ? Do we need to guarantee that this is thread-safe ?
anyway, these should be documented very well and make sure the users understand the usages. Zhang Lei <coolbee...@gmail.com> 于2019年11月14日周四 上午10:51写道: > We can refer to the method annotation of spring MVC. The parameter > HttpServletRequest is optional > > @RequestMapping(xxxx) > public void doXXXX(HttpServletRequest request){ > > } > > Best regards, > Lei Zhang > > On November 14, 2019 at 10:06:57 AM, Zheng Feng (zh.f...@gmail.com) wrote: > > But how can we reference this parameter in the method ? I don't think the > Java support this kind of syntax. > > Willem Jiang <willem.ji...@gmail.com> 于2019年11月14日周四 上午9:43写道: > > > Can I invoke the booking method like this ? > > booking(). > > > > Then, the OmegaContext would be inject as a parameter? > > > > Willem Jiang > > > > Twitter: willemjiang > > Weibo: 姜宁willem > > > > On Thu, Nov 14, 2019 at 9:34 AM Zheng Feng <zh.f...@gmail.com> wrote: > > > > > > So it could introduce an annotation or use the @Resource just like > > > @SagaStart > > > public void booking(@Resource OmegaContext context) { > > > ... > > > } > > > > > > and we also can inject the OmegaContext during invoking the method. > > > > > > Zhang Lei <coolbee...@gmail.com> 于2019年11月13日周三 下午11:42写道: > > > > > > > Hi, Zheng Feng > > > > > > > > Both are ok. > > > > > > > > I saw in [1] that the TransactionContext is passed using parameters. > I > > just > > > > recommend passing some parameters in a consistent way. > > > > > > > > [1] > > > > > > > > > > > > https://issues.apache.org/jira/browse/SCB-785?focusedCommentId=16561332&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16561332 > > > > > > > > Best regards, > > > > Lei Zhang > > > > > > > > On November 13, 2019 at 9:45:58 PM, Zheng Feng (zh.f...@gmail.com) > > wrote: > > > > > > > > I'm not very clear what could be benefited from these changes ? with > > > > declaring the OmegaContext explicitly ? > > > > > > > > Willem Jiang <willem.ji...@gmail.com> 于2019年11月13日周三 下午3:47写道: > > > > > > > > > If it is optional, we need to inject the OmegaContext dynamically > and > > > > > provide a wrap method for it. > > > > > > > > > > Willem Jiang > > > > > > > > > > Twitter: willemjiang > > > > > Weibo: 姜宁willem > > > > > > > > > > On Wed, Nov 13, 2019 at 3:42 PM Zhang Lei <coolbee...@gmail.com> > > wrote: > > > > > > > > > > > > Hi, Willem Jiang > > > > > > > > > > > > I think OmegaContext is an optional parameter in the method > > > > > > > > > > > > > > > > > > Best regards, > > > > > > Lei Zhang > > > > > > > > > > > > On November 13, 2019 at 2:48:08 PM, Willem Jiang ( > > > > willem.ji...@gmail.com > > > > > ) > > > > > > wrote: > > > > > > > > > > > > Just a quick question, if user call the booking() method, he need > > to > > > > > > pass the OmegaContext as a parameter. > > > > > > What if the invoker doesn't know anything about the OmegaContext. > > > > > > > > > > > > > > > > > > Willem Jiang > > > > > > > > > > > > Twitter: willemjiang > > > > > > Weibo: 姜宁willem > > > > > > > > > > > > On Tue, Nov 12, 2019 at 11:34 PM Zhang Lei <coolbee...@gmail.com > > > > > > wrote: > > > > > > > > > > > > > > Hi, Pack Team > > > > > > > > > > > > > > Currently, the @Autowired annotation is required to get the > > > > > OmegaContext > > > > > > on > > > > > > > the Omega side, but most of the early use does not know the > > existence > > > > > of > > > > > > > the OmegaContext object. > > > > > > > > > > > > > > @Autowired > > > > > > > OmegaContext omegaContext; > > > > > > > > > > > > > > @SagaStart > > > > > > > public void booking() { > > > > > > > omegaContext.globalTxId() > > > > > > > ... > > > > > > > } > > > > > > > > > > > > > > @Compensable(compensationMethod="cancel") > > > > > > > public void car(String from, int amount) { > > > > > > > omegaContext.globalTxId() > > > > > > > ... > > > > > > > } > > > > > > > > > > > > > > > > > > > > > Maybe we should allow the user to get the OmegaContext via > method > > > > > > > parameters. Use the method below to define the OmegaContext > > > > parameter. > > > > > > > > > > > > > > @SagaStart > > > > > > > public void booking(OmegaContext omegaContext) { > > > > > > > omegaContext.globalTxId() > > > > > > > ... > > > > > > > } > > > > > > > > > > > > > > @Compensable(compensationMethod="cancel") > > > > > > > public void car(OmegaContext omegaContext, String from, int > > amount) { > > > > > > > omegaContext.globalTxId() > > > > > > > ... > > > > > > > } > > > > > > > > > > > > > > Any suggestion? > > > > > > > > > > > > > > Best regards, > > > > > > > Lei Zhang > > > > > > > > > > > >