It's all about the answers!

Ask a question

Upgradation problems for BIRT 2.2.1 to BIRT 2.3.1


naresh ch (111) | asked Apr 24 '09, 2:18 a.m.
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



permanent link
James Moody (3.3k24) | answered Apr 24 '09, 9:35 a.m.
JAZZ DEVELOPER
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,

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}

Your answer


Register or to post your answer.