Uploaded image for project: 'OpenMRS Core'
  1. OpenMRS Core
  2. TRUNK-3390

Upgrade Spring framework to 3.2.7.RELEASE

    XMLWordPrintable

    Details

    • Complexity:
      Medium

      Description

      The spring framework is at version 3.1.1.RELEASE for the general availability releases. There are many bugfixes and improvements in the newer versions, changelog here: http://static.springsource.org/spring/docs/current/spring-framework-reference/html/new-in-3.1.html

      The main requirement for upgrading to atleast 3.1.0 is that Spring allows adding '.'(dot) to URLs that was a bug in Spring.
      It doesn't seem like simple change to springVersion property is enough because it throws the following stacktrace when starting OpenMRS:

      ERROR - Listener.contextInitialized(168) |2012-05-29 20:44:43,786| Got exception while starting up: 
      org.openmrs.module.ModuleException: Unable to start OpenMRS. Error thrown was: contextDAO is null
      	at org.openmrs.web.WebDaemon.startOpenmrs(WebDaemon.java:66)
      	at org.openmrs.web.Listener.contextInitialized(Listener.java:162)
      	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:540)
      	at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
      	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
      	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510)
      	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
      	at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:110)
      	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
      	at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
      	at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
      	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
      	at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
      	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
      	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
      	at org.mortbay.jetty.Server.doStart(Server.java:222)
      	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
      	at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
      	at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:371)
      	at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:307)
      	at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:203)
      	at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
      	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
      	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
      	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
      	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
      	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
      	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
      	at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
      	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
      	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
      	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
      	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
      	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
      	at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
      	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:597)
      	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
      	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
      	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
      	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
      Caused by: org.openmrs.api.APIException: contextDAO is null
      	at org.openmrs.api.context.Context.getContextDAO(Context.java:171)
      	at org.openmrs.api.context.Context.openSession(Context.java:724)
      	at org.openmrs.web.Listener.startOpenmrs(Listener.java:203)
      	at org.openmrs.web.WebDaemon$1.run(WebDaemon.java:44)
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                dkayiwa Daniel Kayiwa
                Reporter:
                sunbiz Saptarshi Purkayastha
                Votes:
                3 Vote for this issue
                Watchers:
                12 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: