Jump to content
We've recently updated our Privacy Statement, available here ×

Jasperserver PostgreSQL on CentOS error


topnob

Recommended Posts

Hi,

I'm trying to install jasperserver and have run into this problem, i have no idea why, I can connect to the postgresql database with the username in the config files but I get the following error.

I don't have much experience with java so I'm a bit stumped as to what the problem is.

 


 

Code:
03:17:33,485 ERROR [/jasperserver],main:3768 - Exception sending context initialized event to listener instance of class com.jaspersoft.jasperserver.war.util.SpringBeanServletContextPlublisherorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext-datasource.xml]: Invocation of init method failed; nested exception is javax.naming.NamingException: Could not create resource factory instance [Root exception is java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory]Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext-datasource.xml]: Invocation of init method failed; nested exception is javax.naming.NamingException: Could not create resource factory instance [Root exception is java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory]Caused by: javax.naming.NamingException: Could not create resource factory instance [Root exception is java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory]        at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:118)        at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)        at org.apache.naming.NamingContext.lookup(NamingContext.java:793)        at org.apache.naming.NamingContext.lookup(NamingContext.java:140)        at org.apache.naming.NamingContext.lookup(NamingContext.java:781)        at org.apache.naming.NamingContext.lookup(NamingContext.java:140)        at org.apache.naming.NamingContext.lookup(NamingContext.java:781)        at org.apache.naming.NamingContext.lookup(NamingContext.java:140)        at org.apache.naming.NamingContext.lookup(NamingContext.java:781)        at org.apache.naming.NamingContext.lookup(NamingContext.java:153)        at org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)        at javax.naming.InitialContext.lookup(InitialContext.java:351)        at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:124)        at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:86)        at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:122)        at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:147)        at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:91)        at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:101)        at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:164)        at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:151)        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1118)        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1085)        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:429)        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:250)        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:247)        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:161)        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:245)        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:124)        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1019)        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:809)        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425)        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:250)        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:247)        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:161)        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:270)        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:346)        at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)        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.deployDirectory(HostConfig.java:920)        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)        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(NativeMethodAccessorImpl.java:39)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)        at java.lang.reflect.Method.invoke(Method.java:585)        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)        at java.security.AccessController.doPrivileged(Native Method)        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)        at java.lang.Class.forName0(Native Method)        at java.lang.Class.forName(Class.java:164)        at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:115)        ... 65 moreMay 12, 2009 3:17:33 AM org.apache.catalina.core.StandardContext startSEVERE: Error listenerStartMay 12, 2009 3:17:33 AM org.apache.catalina.core.StandardContext startSEVERE: Context [/jasperserver] startup failed due to previous errorsMay 12, 2009 3:17:34 AM org.apache.coyote.http11.Http11BaseProtocol startINFO: Starting Coyote HTTP/1.1 on http-8080May 12, 2009 3:17:34 AM org.apache.jk.common.ChannelSocket initINFO: JK: ajp13 listening on /0.0.0.0:8009May 12, 2009 3:17:34 AM org.apache.jk.server.JkMain startINFO: Jk running ID=0 time=0/121  config=nullMay 12, 2009 3:17:34 AM org.apache.catalina.storeconfig.StoreLoader loadINFO: Find registry server-registry.xml at classpath resourceMay 12, 2009 3:17:34 AM org.apache.catalina.startup.Catalina startINFO: Server startup in 6888 msmy context file is this                             
Link to comment
Share on other sites

  • Replies 18
  • Created
  • Last Reply

Top Posters In This Topic

Two different answers ;-)

 

1) Regarding the very first post. I looked at the Java Exception stack trace that you posted. The error is about creating the datasource that is needed in the jasperserver war file:  /WEB-INF/applicationContext-datasource.xml.

 

The datasource needs to be provided by Tomcat. So, please take a look at Section 6.6 "Notes on Database Connection for Tomcat" in the <js-install>/docs/JasperServer-Install-Guide.pdf.

 

Also, please take a look at Section 5.0 "Installing from the WAR File Distribution". There are a new set of scripts (known as "buildomatic") that will automatically configure and update all the files that the Application Server needs. The scripts support Tomcat and JBoss, and they support MySQL and PostgreSQL.

 

2) The second question was about locations of files. For MySQL, you would run the following files:

<js-install>/buildomatic/install_resources/sql/mysql/create.ddl

<js-install>/buildomatic/install_resources/sql/mysql/quartz.ddl 

<js-install>/scripts/mysql/jasperserverCreateDefaultSecurity-mysql.sql

 

For PostgreSQL... I just noticed that there is no "create.ddl" for postgresql. This file is automatically built when you do the source code build. I meant to check it in for the 3.5.0 release.... I will check that in later today. And I can attach it to this forum post.

For PostgreSQL, there is no jasperserverCreateDefaultSecurity.sql. In the past, users have been creating them (based on the mysql version) and then making it available to all the postgresql users.

 

Link to comment
Share on other sites

Yes, I followed your instruction and downloaded your postgresql scripts, my JS is up running.

 

I wanted to install the sugarcrm and foodmart example, I was able to install the database.  How do I make the examples show up in the report reposity.  I recall there were scripts in version 2.1 to do that.  Is there such scripts for postgresql for JS CE 3.5?

Thanks in advance.

Link to comment
Share on other sites

Yes, I did create the sugarcrm and foodmart databases, but all the sample reports are not loaded in postgresql install of the JS3.5 CE version.  When I install mysql, it was all there, why is the difference?  Are there scripts in mysql may be I can convert them to postgresql?

Link to comment
Share on other sites

Hi, I realized I made a mistake in not including the postgresql db create script in the directory:

 

    <js-install>/buildomatic/install_resources/sql/posgresql

 

So, I uploaded it an added it the the Downloads area. So, please look for a zip file named:

 

    postgresql-js-create-ddl.zip 

 

It contains a single file named "js-create.ddl". You should take this file and drop it into the buildomatic tree at the following location:

 

    <js-install>/buildomatic/install_resources/sql/posgresql  
   

Once you put this create script in this location, you can follow the steps in the <js-install>/docs/JasperServer-Install-Guide.pdf ton install jasperserver for postgresql.

 

The installation steps begin in Section 5 "Installing from the WAR File Distribution". It uses the buildomatic scripts in order to configure the datasource and other config files.
 

Link to comment
Share on other sites

I fixed this problem myself after a lot of googleing....

The Centos version of tomcat5 is borked, you need to download "naming-factory-dbcp.jar" as its not inlcuded in the rpm.

 

I put it in /var/lib/tomcat5/common/lib/ directory and restarted

 

I also had to copy postgresql-8.1-407.jdbc3.jar from the jasperserver-3.5.0-bin/scripts/lib/ directory to the /var/lib/tomcat5/common/lib/.

see this site for details http://deployer.astrogrid.org/software/vospace-2008.2.02/webapp/install/tomcat/tomcat-config.html

 

 

Code:
 wget http://www.astrogrid.org/maven/tomcat/jars/naming-factory-dbcp.jar \        -O /var/lib/tomcat5/common/lib/naming-factory-dbcp.jar cp ~/jasperserver-3.5.0-bin/scripts/lib/postgresql-8.1-407.jdbc3.jar /var/lib/tomcat5/common/lib/
Link to comment
Share on other sites

  • 2 weeks later...

I seem to be having a similar issue. I have current Centos, PostgreSQL 8.3 and current JasperServer Community installed. I am using MySQL as the repository but want to use postgresql as a data source.

I copied the postgresql-8.3 jar file to apache-tomcat\common\lib and to the jasperserver driver directory.

When I try to setup the data source in jasperserver t, the test failes.

I have the Pro version on anther server (same configuration) and the connection works.

I have not changed the files in tomcat.

Is there an error log to look at? I am stumpted at the moment.

Any suggestions?

Link to comment
Share on other sites

Hi,

 

I came to the same conclusion as topnov in message #57000.

 

There is a known bug in RHEL that they haven't fixed after two years
of reporting!  The file naming-factory-dbcp.jar is missing
in the RPM for tomcat5-common-lib (Note you will need this jar IN ADDITION to
naming-factory.jar).



Adding the jar file naming-factory-dbcp.jar will fix this SEVERE error when RHEL's tomcat5
starts


Could not create resource factory instance [Root exception is
java.lang.ClassNotFoundException:
org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory]
 

Check out this thread:
https://bugzilla.redhat.com/show_bug.cgi?id=217630#c7
 

Please also note there are two "dbcp" classes with different names
 

org.apache.tomcat.dbcp.BasicDataSourceFactory
org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory
 

c.f.
http://www.mail-archive.com/users@tomcat.apache.org/msg27485.html
 

<quote>
Tomcat does not use commons-dbcp-x.x.x.jar (it's not in the Tomcat
distribution).  To avoid potential naming conflicts with webapps, the
DBCP classes are repackaged in common/lib/naming-factory-dbcp.jar,
adding the extra dbcp to the package name.  This allows webapps to use
commons-dbcp indepently of Tomcat's DBCP mechanism, if they desire.
</quote>
 

Link to comment
Share on other sites

  • 1 month later...

I am still trying to get JasperServer community version to work with a PostgreSQL DB as the data source (not the Jasperserver database).

I can create a report in iReport but after transfering to the server, it fails with the following;

 

ERROR [jasperserver],http-8090-Processor21:253 - Servlet.service() for servlet jasperserver threw exception
java.lang.UnsupportedClassVersionError: Bad version number in .class file
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:620)

.......

The Java version in Jasperserver in 1.5.0. The current version available for Centos is 1.6.0 and is on the machine.

Is it possible this is the source of the version error?

Any suggestions / answers?

Thanks.

Link to comment
Share on other sites

This looks to be a Java compiled vs runtime issue. If there is a class compiled with java 1.6, and this class is attempted to be used with java 1.5 - then a class version error will result.

 

This can't be one of the included JasperServer classes because those are all compiled under java 1.5. Perhaps there is an additional jdbc driver you have added (or another jar or class to support some customizations that you have made)?

 

Also, you should double-check whether 1.6 is really getting used at runtime (maybe a couple different javas are hanging around).

Link to comment
Share on other sites

  • 5 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...