【发布时间】:2014-06-17 00:59:20
【问题描述】:
我是 OpenShift 新手,并使用 JBoss AS7 和 PostgreSQL 9.2 设备创建了我的第一个应用程序。我成功创建了数据库,并尝试按照我在这两个页面上找到的说明部署现有的 WAR:
http://openshift.github.io/documentation/oo_cartridge_guide.html#jbossas
当我执行 git push 时,我得到以下信息:
计数对象:130,完成。 Delta 压缩最多使用 4 个线程。 压缩对象:100% (118/118),完成。 写入对象:100% (125/125),1.17 MiB | 0 字节/秒,完成。 总计 125(增量 15),重复使用 0(增量 0) 远程:停止 jbossas 墨盒 远程:发送 SIGTERM 到 jboss:139169 ... 远程:停止 Postgres 墨盒 远程:构建 git ref 'master',提交 193ff43 远程:由于缺少 pom.xml 而跳过 Maven 构建 远程:准备构建以进行部署 远程:部署 ID 为 57ba6341 远程:激活部署 远程:启动 Postgres 墨盒 远程:Postgres 已启动 远程:部署 JBoss 远程:启动 jbossas 墨盒 远程:找到 127.4.111.129:8080 监听端口 远程:找到 127.4.111.129:9999 监听端口 远程:/var/lib/openshift/535e75ffe0b8cd39b600043f/jbossas/standalone/deploymen ts /var/lib/openshift/535e75ffe0b8cd39b600043f/jbossas 远程:/var/lib/openshift/535e75ffe0b8cd39b600043f/jbossas 远程:失败的部署:./tradelite.war 偏僻的: - - - - - - - - - - - - - 远程:Git Post-Receive 结果:成功 远程:激活状态:成功 远程:部署完成,状态:成功 到 ssh://535e75ffe0b8cd39b600043f@jbossas-tradelite1.rhcloud.com/~/git/jbossas.g 它/ 862add8..193ff43 主 -> 主使用 rhc tail 我看到以下内容:
==> 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 服务线程 1-2)JBAS015877:在 95 毫秒内停止部署 tradelite.war 2014/04/30 08:45:49,613 INFO [org.jboss.as.controller](DeploymentScanner-threads - 2)JBAS014774:服务状态报告 JBAS014775:新的缺失/不满足的依赖关系: 服务 jboss.naming.context.java.jboss.resources.jdbc.TradeDataSource(缺少)依赖:[服务 jboss.naming.context.java.module.tradelite.tradelite.env.jdbc.TradeDataSource] 2014/04/30 08:45:49,615 错误 [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: 复合操作失败并回滚。失败的步骤:" => {"操作步骤 2" => {"JBAS014771: 缺少/不可用依赖项的服务" => ["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]"]}}}谁能帮助解释我为什么会得到这个以及如何解决它?
非常感谢。
这是我的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>
这是我的 WAR 中 META-INF 目录中的 context.xml:
<?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>
【问题讨论】:
标签: postgresql jboss7.x openshift