I am new to OpenShift and created my first application with JBoss AS7 and PostgreSQL 9.2 gears. I created the DB successfully and tried to deploy an existing WAR, following the directions I found on these two pages:
http://openshift.github.io/documentation/oo_cartridge_guide.html#jbossas
When I do my git push, I get the following:
Counting objects: 130, done. Delta compression using up to 4 threads. Compressing objects: 100% (118/118), done. Writing objects: 100% (125/125), 1.17 MiB | 0 bytes/s, done. Total 125 (delta 15), reused 0 (delta 0) remote: Stopping jbossas cartridge remote: Sending SIGTERM to jboss:139169 ... remote: Stopping Postgres cartridge remote: Building git ref 'master', commit 193ff43 remote: Skipping Maven build due to absence of pom.xml remote: Preparing build for deployment remote: Deployment id is 57ba6341 remote: Activating deployment remote: Starting Postgres cartridge remote: Postgres started remote: Deploying JBoss remote: Starting jbossas cartridge remote: Found 127.4.111.129:8080 listening port remote: Found 127.4.111.129:9999 listening port remote: /var/lib/openshift/535e75ffe0b8cd39b600043f/jbossas/standalone/deploymen ts /var/lib/openshift/535e75ffe0b8cd39b600043f/jbossas remote: /var/lib/openshift/535e75ffe0b8cd39b600043f/jbossas remote: Failed deployments: ./tradelite.war remote: ------------------------- remote: Git Post-Receive Result: success remote: Activation status: success remote: Deployment completed with status: success To ssh://535e75ffe0b8cd39b600043f@jbossas-tradelite1.rhcloud.com/~/git/jbossas.g it/ 862add8..193ff43 master -> master
Using rhc tail I see the following:
==> app-root/logs/jbossas.log ["jboss.naming.context.java.module.tradelite.tradelite.env.jdbc.TradeDataSourcejboss.naming.context.java.jboss.resources.jdbc.TradeDataSourceMissing[jboss.naming.context.java.module.tradelite.tradelite.env.jdbc.TradeDataSourcejboss.naming.context.java.jboss.resources.jdbc.TradeDataSource]"]} 2014/04/30 08:45:49,609 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015877: Stopped deployment tradelite.war in 95ms 2014/04/30 08:45:49,613 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report JBAS014775: New missing/unsatisfied dependencies: service jboss.naming.context.java.jboss.resources.jdbc.TradeDataSource (missing) dependents: [service jboss.naming.context.java.module.tradelite.tradelite.env.jdbc.TradeDataSource] 2014/04/30 08:45:49,615 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.tradelite.tradelite.env.jdbc.TradeDataSourcejboss.naming.context.java.jboss.resources.jdbc.TradeDataSourceMissing[jboss.naming.context.java.module.tradelite.tradelite.env.jdbc.TradeDataSourcejboss.naming.context.java.jboss.resources.jdbc.TradeDataSource]"]}}}
Can anyone help explain why I'm getting this and how to fix it?
Thanks very much.
Here is the datasources section from my standalone.xml:
<datasources>
<datasource jndi-name="java:jboss/datasources/PostgreSQLDS" enabled="${postgresql.enabled}" use-java-context="true" pool-name="PostgreSQLDS" use-ccm="true">
<connection-url>jdbc:postgresql://${env.OPENSHIFT_POSTGRESQL_DB_HOST}:${env.OPENSHIFT_POSTGRESQL_DB_PORT}/${env.OPENSHIFT_APP_NAME}</connection-url>
<driver>postgresql</driver>
<security>
<user-name>${env.OPENSHIFT_POSTGRESQL_DB_USERNAME}</user-name>
<password>${env.OPENSHIFT_POSTGRESQL_DB_PASSWORD}</password>
</security>
<validation>
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
<background-validation>true</background-validation>
<background-validation-millis>60000</background-validation-millis>
<!--<validate-on-match>true</validate-on-match>-->
</validation>
<pool>
<flush-strategy>IdleConnections</flush-strategy>
</pool>
</datasource>
<drivers>
<driver name="postgresql" module="org.postgresql.jdbc">
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
And here is my context.xml from my META-INF directory in my WAR:
<?xml version='1.0' encoding='utf-8'?>
<Context>
<Resource name="jdbc/TradeDataSource" auth="Container" type="javax.sql.DataSource"
username="xxxxx"
password="xxxxx"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://127.4.111.132:5432/jbossas"
maxActive="20"
maxIdle="10" />
</Context>