WildFly无法为连接分叉新进程

时间:2015-05-09 11:14:31

标签: java postgresql persistence jboss7.x openshift

我正在使用WildFly应用程序和PostgreSQL运行简单的OpenShift实例并不断获取 Caused by: org.postgresql.util.PSQLException: Connection rejected: could not fork new process for connection: Resource temporarily unavailable

我正在我的server.log中观察

如何修复此问题?应用尝试连接Postgre并退出线程

我的persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
             xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="
        http://xmlns.jcp.org/xml/ns/persistence
        http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="primary">
        <!-- The datasource is deployed as WEB-INF/tp-ds.xml, you
           can find it in the source at src/main/webapp/WEB-INF/tp-ds.xml -->
        <jta-data-source>java:jboss/datasources/PostgreSQLDS</jta-data-source>
        <properties>
            <property name="hibernate.hbm2ddl.auto" value="create-drop" />
            <property name="hibernate.show_sql" value="false" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
        </properties>

    </persistence-unit>
</persistence>

我的datasources.xml

<?xml version="1.0" encoding="UTF-8"?>
<datasources xmlns="http://www.jboss.org/ironjacamar/schema"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.jboss.org/ironjacamar/schema http://docs.jboss.org/ironjacamar/schema/datasources_1_0.xsd">
    <datasource jndi-name="java:jboss/datasources/TpDS"
                pool-name="TpDs" enabled="true"
                use-java-context="true">
        <connection-url>jdbc:h2:mem:tp;DB_CLOSE_DELAY=-1</connection-url>
        <driver>h2</driver>
        <security>
            <user-name>sa</user-name>
            <password>sa</password>
        </security>
    </datasource>
    <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>
    </datasource>
    <drivers>
        <driver name="postgresql" module="org.postgresql.jdbc">
            <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
        </driver>
    </drivers>
</datasources>

1 个答案:

答案 0 :(得分:0)

这个问题与openhift设置中的错误群集和消息传递完全相关。要解决此问题,您需要在standalone.xml中找到.openshift/config/并将群集池更改为较低的值,并在下面的示例中查看消息池

https://gist.github.com/sigrlami/9da34d3dd539dc6d7730