I have an application running on Openshift. It works fine, but testing is difficult because i have to push every little thing to openshift and wait for all the building and restarting to see the changes.
So i am trying to find a way to test the application locally. Another guy asked the same thing here: How to test an openshift application on local host, but i am wondering if an easier solution exists.
I used the quickstart project here http://github.com/openshift/spring-eap6-quickstart.git to start it. So basically it is a Spring application using Hibernate.
What i have in mind to have two sets of configuration files (persistence.xml
etc.) in the project, one for local Tomcat server and one for Jboss eap and
change web.xml
according to the server i want to deploy to. Is this doable? Looks so simple, i am afraid of any surprise problems before changing the
project.
This is how i ended up doing. I renamed the original web.xml
file, with something like web-openshift.xml
. When projects are built in OpenShift, the maven openshift
profile is used. You can find it in your <profiles>
section in pom.xml. So i added a line to my pom.xml
:
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
....
<webXml>src/main/webapp/WEB-INF/web-openshift.xml</webXml> <!--add this-->
This makes the maven-war-plugin
to use the web-openshift.xml
file as the web deployment descriptor when building the war. Then i added a web.xml
file, which will be used for my local build. In those files you configure your servlets with:
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/jboss-as-spring-mvc-context.xml</param-value>
So by changing the <param-value>
in my two web.xml
files, I was able to configure Spring and Hibernate in different ways.
Then I added the jars marked as <provided>
in pom.xml
to the \lib
directory of my Tomcat installation. Now i am able to deploy and run the application both to OpenShift and Tomcat.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With