Re: Clarification on passing EOs to background threads
Re: Clarification on passing EOs to background threads
- Subject: Re: Clarification on passing EOs to background threads
- From: Paul Hoadley <email@hidden>
- Date: Fri, 27 Sep 2013 08:25:05 +0930
Hi Henrique,
Thanks for your input. Just out of curiosity, can I ask you to expand on a few points? (My original problem is solved—I'll just have to do the report creation in a less general way. But I think it's interesting to get to the bottom of the received wisdom on this issue.) On 27/09/2013, at 1:55 AM, Henrique Prange < email@hidden> wrote: I've refactored the report generation in one of applications lately to use a background task. A few lessons that I learned:
1) Do not create the editing context you're going to use in the background task during the request-response cycle.
So this would presumably include creating it in the constructor of the Callable class. What are the risks here?
3) Do not reference the WOSession, WORequest, WOContext from the background task.
What are the risks here?
5) You can pass a Map as parameter when generating Jasper reports. I don't how this could relate to your need to perform a dictionary preparation.
The preparation step is not an issue—I'll just move that into the background as well. (Obviously one could make a pretty good case that that's where it should be done anyway.)
I also had trouble locking the editing context in the background task, but I have no recommendation on this subject. You must check how your application behaves.
Interesting. What did you find?
In the end, we have created a project (that is probably going to became open source) to handle the report generation. You can take a look here [1] for some inspiration related to Jasper data sources. Please, be gentle. The code is available but it's not completely polished. :)
Thanks a lot. I'll take a look.
|
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden