Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » BIRT » Thread saveness of BIRT
Thread saveness of BIRT [message #468409] Wed, 05 August 2009 13:04 Go to next message
Jan Kohnert is currently offline Jan KohnertFriend
Messages: 196
Registered: July 2009
Senior Member
Hello.

What part of the BIRT engine API is thread save?
Should for threaded report generating instances of Platform,
IReportEngineFactory, IReportEngine, IReportRunnable or IEngineTask be
used?

Thanks!
Re: Thread saveness of BIRT [message #470482 is a reply to message #468409] Wed, 05 August 2009 18:07 Go to previous messageGo to next message
John Ward is currently offline John WardFriend
Messages: 16
Registered: July 2009
Junior Member
Outside of the EngineConfig, the BIRT Engine is thread safe.

Typically, you will instantiate 1 ReportEngine, 1 platform, and 1 engine
factory instance for your application. Then, if your doing a
multi-threaded application, each thread will have its own IEngineTask.

John

Jan Kohnert wrote:
> Hello.
>
> What part of the BIRT engine API is thread save? Should for threaded
> report generating instances of Platform, IReportEngineFactory,
> IReportEngine, IReportRunnable or IEngineTask be used?
>
> Thanks!
>
>
>
Re: Thread saveness of BIRT [message #473414 is a reply to message #470482] Wed, 05 August 2009 20:05 Go to previous messageGo to next message
Jan Kohnert is currently offline Jan KohnertFriend
Messages: 196
Registered: July 2009
Senior Member
Thank you John!
How expansive is it to create one IEngineTask instance?
Will it make sense to pool them? Is an instance of IEngineTask recyclable?
I’m planning to create reports on a web services demand. There might be
several reports created at once.
Re: Thread saveness of BIRT [message #477112 is a reply to message #473414] Thu, 06 August 2009 03:39 Go to previous messageGo to next message
John Ward is currently offline John WardFriend
Messages: 16
Registered: July 2009
Junior Member
Creating a task has pretty low overhead. Most of the overhead comes from
starting the Platform and creating the Report Engine. creating the
task has very little.

I wouldn't pool the tasks. I've not had much luck doing that, and it
won't gain you much in terms of performance. In fact, the maintenance
overhead of managing the pools would probably be higher than that of
creating the tasks, although I haven't tested it.

If your doingg this in a web service, just create your report engine in
the init() method, and do your tasks on the service() method, and let
the server handle the threading. Thats how pretty much everone does it.
Look at the org.eclipse.birt.report.viewer source for an example.

john

Jan Kohnert wrote:
> Thank you John!
> How expansive is it to create one IEngineTask instance?
> Will it make sense to pool them? Is an instance of IEngineTask recyclable?
> I�m planning to create reports on a web services demand. There might be
> several reports created at once.
>
>
>
>
[OT] Re: Thread saveness of BIRT [message #478167 is a reply to message #477112] Thu, 06 August 2009 08:35 Go to previous message
Maxim Veksler is currently offline Maxim VekslerFriend
Messages: 28
Registered: July 2009
Junior Member
Kudos !

I want to thank the people of this list for answering such clear, straight
to the point professional answers, thus making BIRT an excellent software
and an excellent supporting community !

Thank you.


// I am not the OP
Previous Topic:birt y office 2000
Next Topic:Yellowfin 4.1 Released
Goto Forum:
  


Current Time: Fri May 10 13:39:43 GMT 2024

Powered by FUDForum. Page generated in 0.04176 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top