We hope you'll join us for our 4/23 webinar on using data tables to apply reference ranges and AE codes in OC4. For more information and to register, visit https://register.gotowebinar.com/register/2882170018956684555

OC 3.3 fails to start

lorand.szentannai@uni.no[email protected] Posts: 3
edited October 2014 in Installation & Setup
Hi,

After upgrading to OC 3.3 application can not start, throwing the following error:

SEVERE: Exception sending context initialized event to listener instance of class org.akaza.openclinica.dao.core.OCContextLoaderListener
org.springframework.context.ApplicationContextException: Failed to start bean 'schedulerFactoryBean'; nested exception is org.springframework.scheduling.SchedulingException: Could not start Quartz Scheduler; nested exception is org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.JobPersistenceException: Couldn't retrieve trigger: invalid stream header: BB656430 [See nested exception: java.io.StreamCorruptedException: invalid stream header: BB656430]] 

System is running RHEL6, Tomcat 6, PostgreSQL 9.3.

Can someone suggest me a fix for this?

Kind regards,
Lorand
Post edited by rpetrusevschi on

Comments

  • zwets-kcrizwets-kcri Posts: 50
    This is caused by the ancient[1] PostgreSQL JDBC driver which OC 3.3 still ships in WEB-INF/lib.

    Fix as follows:
    • Remove postgresql-8.1-404.jdbc3.jar and ojdbc14-10g.jar from the WEB-INF/lib directory. Note: the latter is the Oracle JDBC driver, it shouldn't be there either.
    • Download the latest PostgreSQL driver from http://jdbc.postgresql.org/download.html. Pick the JDBC4 driver if you are on Java 6, or the JDBC41 driver if you are on Java 7 or 8.
    • Copy the JAR file into Tomcat's lib directory, not the application's WEB-INF/lib [2].

    Also, you mention running OC on Tomcat 6. Note that OC 3.3 requires Tomcat 7. Also note that PostgreSQL 8.4 still is the recommended database - which is rather inconvenient as it went end-of-life in July this year ...

    Cheers,

    Marco

    [1] @OpenClinica release manager: note that PostgreSQL recommends to always use the current release of the driver. The 8.1 driver shipping with OC has long gone out of support (it was released in 2005!). It really should not ship with OC. Also please note [2].

    [2] JDBC drivers should not be in the application's WEB-INF/lib directory. They are part of the application server services (they implement a standard service, in this case the JDBC ), and as such belong in $TOMCAT_BASE/lib.

  • zwets-kcrizwets-kcri Posts: 50
    Let me add that I have been running a number of OC 3.3 instances (both upgrades from 3.1.x and fresh installs) without issues on Java 7 + Tomcat 7 + Postgres 9.3. So, it may work for you too. However, do not take this as advice to stray from the OC system requirements.

    Cheers,
    Marco
  • Hi Marco,

    Thank you for the detailed and useful input! I will try that.

    Cheers,
    Lorand
  • I have managed to get it running with Java 7 + Tomcat 6 + PostgreSQL 9.3.
    Currently I'm waiting for feedback from our OC users to see if all works as expected. Will keep you updated.

    Cheers,
    Lorand
  • I can confirm that OC works as expected.

    Thank you!
    Lorand
This discussion has been closed.