Upgradation problems for BIRT 2.2.1 to BIRT 2.3.1
Hi,
We have used BIRT for the reporting and it used BIRT runtime 2.2.1.The build scripts uses maven But now we need to use the latest version of BIRT runtime as the older version has the issues with the db connectionleakage. As a part of it, we have updated the local repository with the BIRt runtime 2.3.2. And changed versions of the jars of birt in the pom.xml But the maven build was failing. Should we have to do anything else? And incase if it is successfully built, will the 2.2.1 code work with 2.3.2? I got following errors in runtime in the application 12:30:57,618 INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization started 12:30:57,696 INFO org.springframework.web.context.support.XmlWebApplicationContext - Refreshing org.springframework.web.context.support.XmlWebApplicationContext@f102d3: display name ; startup date ; root of context hierarchy 12:30:57,852 INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource 12:30:58,431 INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource 12:30:58,509 INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource 12:30:58,571 INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource 12:30:58,696 INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource 12:30:58,712 INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource 12:30:58,774 INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource 12:30:58,852 INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource 12:30:58,899 INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource 12:30:58,946 INFO org.springframework.web.context.support.XmlWebApplicationContext - Bean factory for application context : org.springframework.beans.factory.support.DefaultListableBeanFactory@4eb043 12:30:59,274 INFO org.springframework.beans.factory.config.PropertyPlaceholderConfigurer - Loading properties file from class path resource 12:30:59,274 INFO org.springframework.beans.factory.config.PropertyPlaceholderConfigurer - Loading properties file from class path resource 12:30:59,306 INFO org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4eb043: defining beans ; root of factory hierarchy 12:31:00,415 INFO org.springframework.orm.hibernate3.LocalSessionFactoryBean - Building new Hibernate SessionFactory 12:31:04,431 INFO org.springframework.scheduling.quartz.SchedulerFactoryBean - Loading Quartz config from ] 12:31:04,509 INFO org.springframework.scheduling.quartz.SchedulerFactoryBean - Starting Quartz Scheduler now 12:31:04,946 INFO dk.acure.meteor.server.reports.ws.ReportsServiceMediator - Creating reports service with url:http://localhost:8080/report/services/ReportsService 12:31:07,978 INFO org.springframework.beans.factory.support.DefaultListableBeanFactory - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4eb043: defining beans ; root of factory hierarchy 12:31:07,978 INFO org.springframework.scheduling.quartz.SchedulerFactoryBean - Shutting down Quartz Scheduler 12:31:07,993 INFO org.springframework.orm.hibernate3.LocalSessionFactoryBean - Closing Hibernate SessionFactory 12:31:07,993 ERROR org.springframework.web.context.ContextLoader - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reportEngine' defined in class path resource : Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method threw exception; nested exception is java.lang.NullPointerException Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Factory method threw exception; nested exception is java.lang.NullPointerException Caused by: java.lang.NullPointerException at dk.acure.meteor.server.reports.BirtEngineFactory.getBirtEngine(BirtEngineFactory.java:81) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:102) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:271) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:765) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:719) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:390) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:254) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:163) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:683) at org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping.processBeans(Jsr181HandlerMapping.java:114) at org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping.initApplicationContext(Jsr181HandlerMapping.java:65) at org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:73) at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:86) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:304) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1106) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:431) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:254) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:163) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:241) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022) at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:448) at org.apache.catalina.core.StandardServer.start(StandardServer.java:700) at org.apache.catalina.startup.Catalina.start(Catalina.java:552) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) All propeties: {login.ws.url=http://localhost:8080/report/services/LoginService, app.type=benchmark, report.ws.url=http://localhost:8080/report/services/ReportsService, db.type=mssql, profile=sr, devel=false} |
One answer
I don't know much about maven builds, perhaps someone else can chime in.
But with regards to BIRT 2.3.2: in 2.0 M3 we've just gone through the process of upgrading to BIRT 2.3.2 (from 2.2.1) so I have some experience to share with you. We've noticed a number of changes in behaviour, incompatibilities, and new bugs that we will be making available in the release notes. You are likely to run into problems trying to run our existing out-of-the-box 2.2.1 reports on 2.3.2. Here's a short list: 1. Change in behaviour in javascript engine related to namespace resolution when importing java classes. This hit a couple of our reports, where we had done importPackage(Packages.java.lang) and then created a new Object(). Fix by removing the importPackage and fully qualifying the reference to your Java class if you have problems. 2. Bugzilla bug 273542 hits many of our reports, where we do a setMin() or setMax() on an axis and receive an NPE. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=273524 for more details. The workaround is not to do setMin or setMax. 3. Changes in data set process behaviour. We force the ordering of data set processing in some cases by having a hidden label bound to a data set, higher in the report, so that the data set gets processed early. Before, it processed the entire data set. Now it only reads the first row. Workaround is to make your hidden label do a Total.count() or something else innocuous that will cause the data set to process all the rows. 4. You're likely to see missing CSS styles on IE. This is due to bugzilla 261726 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=261726) which changed the way they generate styles in embeddable html. Rafik took care of any changes to our code related to actually integrating the engine - perhaps he can mention whether any code changes in Reports were necessary (other than a workaround for #4 above). Bottom line, I think you'll have a lot of difficulty trying to drop in a replacement without getting our ported reports and our modified reports code. Hope this helps. james Jazz Reports Team Lead On 4/24/2009 2:27 AM, naresh1227 wrote: Hi, |
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.