Spring Framework on OpenShift with JBoss EAP 6
What is it?
This is a sample Maven 3 project to help you get your foot in the door developing with Spring on JBoss Enterprise Application Platform 6 or JBoss AS 7.1, deployable on OpenShift (PaaS by Red Hat).
This project is setup to allow you to create a compliant Spring 3.1 application using Spring MVC, JPA 2.0 and Bean Validation 1.0. It includes a persistence unit and some sample persistence and transaction code to introduce you to database access in enterprise Java.
Create an account at http://openshift.redhat.com/ and follow the Getting Started guide to install the OpenShift command line tools.
Create a JBoss Enterprise Application Platform 6 app:
rhc app create -a spring -t jbosseap-6.0
Add this upstream repo:
cd spring git remote add upstream -m master git://github.com/openshift/spring-eap6-quickstart.git git pull -s recursive -X theirs upstream master
Remove the default index.html file and commit:
git rm src/main/webapp/index.html git commit -m 'Removed default index.html'
Then push the repo upstream:
That's it, you can now browse to your application at:
Setting up a database
The example uses a H2 database configured and deployed by the application. You can easily change it to MySQL or PostgreSQL (available on OpenShift as cartridges):
Add a database cartridge to your OpenShift app (mysql-5.1 or postgresql-8.4):
rhc cartridge add -a spring -c mysql-5.1
src/main/resources/META-INF/persistence.xmlto use the appropriate datasource (java:jboss/datasources/MysqlDS or java:jboss/datasources/PostgreSQLDS):
Commit and push your changes:
git commit -a -m 'Added MySQL database support' git push
This code is dedicated to the public domain to the maximum extent permitted by applicable law, pursuant to CC0 (http://creativecommons.org/publicdomain/zero/1.0/)