On Wed, Jan 21, 2015 at 3:16 PM, Kalle Korhonen <kalle.o.korho...@gmail.com> wrote: > On Tue, Jan 20, 2015 at 1:03 PM, George Christman <gchrist...@cardaddy.com> > wrote: > >> So I just took a look at the tapestry code and I'm not seeing anyway >> to work around it unless I want to build my own links which I'd rather >> not do because of my use of the url rewriter. >> >> Tap code line 113 >> >> https://github.com/apache/tapestry-5/blob/5.4-beta-26/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/LinkSourceImpl.java >> How do you work around this? >> > > You are right George. Ever since the loopback reset listeners was put it in > (for T5.3), the LinkSource.createPageRenderLink(...) doesn't anymore work > outside request context (e.g. in a scheduled job). You should instead use > the linkEncoder directly (as in the implementation for > createPageRenderLink): > Just seen this, is there any chance we could fix this issue so that we don't need to write the cumbersome code below every time? I'm actually surprised I'm the first to discover this. We send out a lot of reminder emails etc at work via a cron job which would require this and I also need it to work for my own project. Should I create a bug in jira?
> PageRenderRequestParameters parameters = new > PageRenderRequestParameters(canonical, new ArrayEventContext( > typeCoercer, context), loopback); > Link link = linkEncoder.createPageRenderLink(parameters); One last thing before we move on from this issue, what is the canonical? Would that be the Page.class.getName() ? and I'm assuming context is just my url context values? Thanks Kalle. > > Set loopback to false, you don't need it. > > Kalle > > >> >> On Tue, Jan 20, 2015 at 11:14 AM, George Christman >> <gchrist...@cardaddy.com> wrote: >> > Still no success in getting this to work. I've contributed the Hostname >> etc. >> > >> > configuration.add(SymbolConstants.HOSTNAME, "localhost"); >> > configuration.add(SymbolConstants.HOSTPORT, "8080"); >> > configuration.add(SymbolConstants.HOSTPORT_SECURE, "false"); >> > >> > And a simple test which fails with the same error. >> > >> > private void testTask() { >> > periodicExecutor.addJob(new IntervalSchedule(3000), >> > "Data Validation1", new Runnable() { >> > @Override >> > public void run() { >> > System.out.println("test"); >> > try { >> > >> > System.out.println(linkSource.createPageRenderLink(Index.class)); >> > } catch (Exception ex) { >> > System.out.println("ex " + ex); >> > } >> > } >> > }); >> > } >> > >> > On Tue, Jan 20, 2015 at 7:41 AM, George Christman >> > <gchrist...@cardaddy.com> wrote: >> >> So toAbsolute is the code calling the request and the cause of this >> >> exception? I'm assuming your referring to me contributing those values >> to my >> >> appmodule. Once I contribute those values, would toAbsolute use those >> values >> >> instead of the request? Just trying to understand the issue a little bit >> >> better. Thanks Kalle. >> >> >> >> On Jan 20, 2015 4:44 AM, "Kalle Korhonen" <kalle.o.korho...@gmail.com> >> >> wrote: >> >>> >> >>> On Tue, Jan 20, 2015 at 1:23 AM, George Christman >> >>> <gchrist...@cardaddy.com> >> >>> wrote: >> >>> >> >>> > I'm using T5 beta-25 and I have the following code and I'm noticing >> >>> > when the scheduler fires off my service, my PageRenderLinkSource does >> >>> > not work. If I manually fire it off through the admin with an >> >>> > actionlink, it works without issue. >> >>> > I'm seeing the following exception >> >>> > java.lang.NullPointerException: Unable to delegate method invocation >> >>> > to property 'request' of <Proxy for >> >>> > RequestGlobals(org.apache.tapestry5.services.RequestGlobals)>, >> because >> >>> > the property is null. >> >>> > Any idea why this isn't working? >> >>> > >> >>> >> >>> Naturally, you don't have a request to work with when you are executing >> >>> from a cron job. But if you just want to generate links, you don't >> need to >> >>> and you shouldn't use the request values. Contribute HOSTNAME, HOSTPORT >> >>> and >> >>> HOSTPORT_SECURE and you can generate absolute urls without resorting to >> >>> reading the values from the request. >> >>> >> >>> Kalle >> >>> >> >>> >> >>> >> >>> > >> >>> > --------------------------------------------------------------------- >> >>> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> >>> > For additional commands, e-mail: users-h...@tapestry.apache.org >> >>> > >> >>> > >> > >> > >> > >> > -- >> > George Christman >> > CEO >> > www.CarDaddy.com >> > P.O. Box 735 >> > Johnstown, New York >> >> >> >> -- >> George Christman >> CEO >> www.CarDaddy.com >> P.O. Box 735 >> Johnstown, New York >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> -- George Christman CEO www.CarDaddy.com P.O. Box 735 Johnstown, New York --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org