Skip to main content



      Home
Home » Archived » BIRT » Thread saveness of BIRT
Thread saveness of BIRT [message #468409] Wed, 05 August 2009 09:04 Go to next message
Eclipse UserFriend
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 14:07 Go to previous messageGo to next message
Eclipse UserFriend
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 16:05 Go to previous messageGo to next message
Eclipse UserFriend
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] Wed, 05 August 2009 23:39 Go to previous messageGo to next message
Eclipse UserFriend
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 04:35 Go to previous message
Eclipse UserFriend
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: Sat Jul 12 15:54:10 EDT 2025

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

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

Back to the top