2 Replies Latest reply on Apr 22, 2011 6:09 PM by tischerbr

    Deploying Birt to Jboss as 5.1

    bdinnerv

      Hi All,

       

      I have a EJB3 project (All session / entity / pojo beans - no web stuff or war) that I want to produce some invoices from. I have chosen (not sure yet if wisely) to use Birt for the invoice generation to PDF. I have got my template all designed and can run it in the viewer but I want to automate the process on a scheduler so the system will not be using any web components, only the ejb stuff.

       

      How do I go about deploying Birt into Jboss in a EAR file? I have tried with Birt in a standalone directory and pointing BIRT_HOME to that but I get a error.CannotStartupOSGIPlatform when trying to startup the Birt platform.

       

      I have also tried putting all the birt libraries into server_home/lib and also creating a plugins directory in there for the osgi plugins but still get the error above.

       

      Any tips on how to package / deploy a birt app into jboss, with an ear file, only using the ReportEngine, with no web components ? Please dont refer me to the Birt tip on deploying with a servlet context, cause I dont have access to one (I have searched high and low for the answer to this and everyone seems to say "check the servlet example") - there seems to be an issue with what libraries are palced where, what is packaged within what and classpath's . . . .

       

       

      Cheers,

       

      Ben

        • 1. Deploying Birt to Jboss as 5.1
          bdinnerv

          Hi All,

           

          I have figured this out and thought I would update this thread incase anyone else has the same issue. After much looking around (about a week now) I stumbled across a un-related issue but the person was nice enough to include their code which showed a working environment and helped me solve my issue.

           

          To get Birt running within Jboss 5.1 (and I guess this will apply to 6 as well but havnt tested) you need to copy the ReportEngine directory under JBOSS_HOME.

           

          EG, if jboss is in /opt/jboss-5.1.0.GA then copy the ReportEngine directory from birt to /opt/jboss-5.1.0.GA/ReportEngine end then in your code set your engineHome = /opt/jboss-5.1.0.GA/ReportEngine on EngineConfig -

           

          engineConfig = new EngineConfig();

          engineConfig.setEngineHome("/opt/jboss-5.1.0.GA/ReportEngine");

           

          You also need to have the following packaged in your ear file:

           

          coreapi.jar

          engineapi.jar

          modelapi.jar

          js.jar

          com.ibm.icu_4.2.1.v20100412.jar

           

          And they each need an entry in your application.xml file.

           

          Also, you need to cop any JDBC drivers into the ReportEngine/plugins/org.eclipse.birt.report.data.oda.jdbc_version/drivers directory

           

          Once that is all done, your reports should work. You can have your report templates (.rptdesign ), logging and output directories outide of jboss, it is just the ReportEngine that needs to reside within.

           

          Cheers,

           

          Ben

          • 2. Deploying Birt to Jboss as 5.1
            tischerbr

            Hi Ben

             

            Great post. Thanks.

             

            Tischer, Brazil