- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已将我的应用程序从本地主机移至 OpenShift,发现 PostgreSQL 连接存在问题。我已经配置了pom.xml:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1204-jdbc41</version>
</dependency>
和persistence.xml:
<persistence-unit name="expenseSystem">
<properties>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://$OPENSHIFT_POSTGRESQL_DB_HOST:$OPENSHIFT_POSTGRESQL_DB_PORT/new" />
<property name="javax.persistence.jdbc.user" value="$OPENSHIFT_POSTGRESQL_DB_USERNAME" />
<property name="javax.persistence.jdbc.password" value="$OPENSHIFT_POSTGRESQL_DB_PASSWORD" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
<property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider" />
<property name="hibernate.c3p0.testConnectionOnCheckout" value="true" />
<property name="hibernate.c3p0.timeout" value="300" />
<property name="hibernate.c3p0.idle_test_period" value="3000" />
<!-- <property name="hibernate.hbm2ddl.auto" value="create"/> -->
</properties>
</persistence-unit>
但在日志中我仍然发现:
Oct 29, 2015 6:11:08 AM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.3.10.Final}
Oct 29, 2015 6:11:08 AM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Oct 29, 2015 6:11:08 AM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Oct 29, 2015 6:11:08 AM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.5.Final}
Oct 29, 2015 6:11:08 AM org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator instantiateExplicitConnectionProvider
INFO: HHH000130: Instantiating explicit connection provider: org.hibernate.connection.C3P0ConnectionProvider
Oct 29, 2015 6:11:08 AM org.hibernate.c3p0.internal.C3P0ConnectionProvider configure
INFO: HHH010002: C3P0 using driver: org.postgresql.Driver at URL: jdbc:postgresql://$OPENSHIFT_POSTGRESQL_DB_HOST:$OPENSHIFT_POSTGRESQL_DB_PORT/new
Oct 29, 2015 6:11:08 AM org.hibernate.c3p0.internal.C3P0ConnectionProvider configure
INFO: HHH000046: Connection properties: {user=$OPENSHIFT_POSTGRESQL_DB_USERNAME, password=****}
Oct 29, 2015 6:11:08 AM org.hibernate.c3p0.internal.C3P0ConnectionProvider configure
INFO: HHH000006: Autocommit mode: false
Oct 29, 2015 6:11:08 AM com.mchange.v2.log.MLog <clinit>
INFO: MLog clients using java 1.4+ standard logging.
Oct 29, 2015 6:11:08 AM com.mchange.v2.c3p0.C3P0Registry banner
INFO: Initializing c3p0-0.9.2.1 [built 20-March-2013 10:47:27 +0000; debug? true; trace: 10]
Oct 29, 2015 6:11:09 AM com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager
INFO: Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@c4a86e25 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@e71f40d [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, debugUnreturnedConnectionStackTraces -> false, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1bqonyz9c1dory2qrezkfd|5edf64, idleConnectionTestPeriod -> 3000, initialPoolSize -> 3, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 300, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 3, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@f0b8d1c4 [ description -> null, driverClass -> null, factoryClassLocation -> null, identityToken -> 1bqonyz9c1dory2qrezkfd|1019b35, jdbcUrl -> jdbc:postgresql://$OPENSHIFT_POSTGRESQL_DB_HOST:$OPENSHIFT_POSTGRESQL_DB_PORT/new, properties -> {user=******, password=******} ], preferredTestQuery -> null, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> true, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false; userOverrides: {} ], dataSourceName -> null, factoryClassLocation -> null, identityToken -> 1bqonyz9c1dory2qrezkfd|b0612a, numHelperThreads -> 3 ]
Oct 29, 2015 6:11:39 AM com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask run
WARNING: com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@2ef080 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
java.sql.SQLException: No suitable driver
当我更改 persistence.xml 以连接到我的本地主机数据库时,一切正常。所以我认为这是凭据问题,但我找不到它。
最佳答案
在将我的应用程序移至 OpenShift 托管时,我还发现了一些具体问题。我了解到 OpenShift 更喜欢使用数据源而不是建立直接连接的一个重要时刻。您是否尝试过 OpenShift blog 中的下一种方法? ?接下来是快速指南:
在 Tomcat server.xml
中定义适当的数据源:
<Resource name="jdbc/postgresqldb" auth="Container" type="javax.sql.DataSource"
username="${env.OPENSHIFT_POSTGRESQL_DB_USERNAME}"
password="${env.OPENSHIFT_POSTGRESQL_DB_PASSWORD}"
url="jdbc:postgresql://${env.OPENSHIFT_POSTGRESQL_DB_HOST}:${env.OPENSHIFT_POSTGRESQL_DB_PORT}/${env.OPENSHIFT_APP_NAME}"
driverClassName="org.postgresql.Driver" initialSize="5" maxWait="5000"
maxActive="120" maxIdle="5" validationQuery="select 1"
poolPreparedStatements="true">
</Resource>
您必须进行的下一个更改是在 context.xml
中。您必须定义到数据源的资源链接,如下所示
<ResourceLink name="jdbc/postgresqldb" global="jdbc/postgresqldb" type="javax.sql.DataSource"/>
下载正确版本的 PostgreSQL JDBC 驱动程序(目前 OpenShift 使用版本 9.2)
cd $OPENSHIFT_DATA_DIR
wget http://repo1.maven.org/maven2/postgresql/postgresql/9.2-1003-jdbc4/postgresql-9.2-1003-jdbc4.jar
接下来更新应用程序 .openshift/config
文件夹中的 catalina.properties
以扫描 OPENSHIFT_DATA_DIR,如下所示。我们正在使用 catalina.home
系统属性来获取 OPENSHIFT_DATA_DIR 路径。
common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/../data/*.jar
现在您可以将更改推送到 OpenShift,如下所示。
git commit -am "made changes for tomcat jndi datasource"
git push
如下更改您的 persistence.xml
<persistence>
<persistence-unit name="REQUIRED_PERSISTENCE_UNIT_NAME_GOES_HERE">
<non-jta-data-source>jdbc/myDS</non-jta-data-source>
<!--OTHER YOUR HIBERNATE PROPERTIES-->
</persistence-unit>
</persistence>
希望本手册对您有所帮助。另一篇博文中也描述了几乎相同的步骤 here .
关于java - 开放式 postgres : No suitable driver on tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33411686/
我在将示例 laravel 5.2 应用程序部署到 openshift 时遇到问题。我找到了这个quickstart在 github 上并尝试了下面列出的手动安装。 rhc app create la
我刚刚开始使用 OpenCV,我发现了 contourArea 函数的一些非常奇怪的行为。 看到这张图片。 它有三个不相连的区域,左侧是一组长笔划,顶部中心有一个点,最后是右侧的一个大方块。 当我运行
我经常发现自己尝试从数值变量+用户提供的一组范围创建分类变量。 例如,假设我有一个带有数值变量 df$V 的 data.frame并想创建一个新变量 df$VCAT这样: df$VCAT = 0 如果
启动 MXBean 时,我收到错误提示 Method SampleServiceMXBean.register 具有无法转换为开放类型的参数或返回类型。根据错误消息,很明显我的 MXBean 无法 c
大多数时候在 CUDA 或 OpenCL 程序中需要分支,例如: for (int i=0; i
我们有一个可能有用的自制框架实现基于 REST 的网络服务。 这是一个 .net c# 项目,用于 web 应用程序。 它的用途是:用动态内容内联替换模板“标签”。示例标签:{{recentposts
是否有 Java 中 SMB/CIFS 服务器的开放实现?我能找到的唯一实现是 Alfresco 的,但它不是开源的。 一个相关的问题:假设没有这样的实现,我很惊讶没有一个库提供甚至是 SMB 的一个
我已将我的应用程序从本地主机移至 OpenShift,发现 PostgreSQL 连接存在问题。我已经配置了pom.xml: org.postgresql postgresql
我正在尝试在 AWS ec2 实例上配置 SSL 证书,我遵循了以下步骤: 使用 ubuntu 操作系统在 ec2 上创建实例。 通过证书管理器在我的域上颁发证书 -> 例如:*.domains.co
我正在尝试在打开的模式上执行 jQuery 脚本,以便将其中一个字段转换为 jQuery UI Spinner。 我正在使用Angular UI中记录的opened promise 。 问题:jQue
有没有办法将服务帐户 secret 内容填充到环境变量中? 示例:当一个 pod 启动时,它包含一个 /var/run/secrets/kubernetes.io/secrets/serviceacc
我在 security 和 components/securitySchemes 中定义了我的身份验证。在Swagger documentation about response ,他们提供了这个例子
我是一名优秀的程序员,十分优秀!