Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IJ000653:池已作为7 OpenShift关闭JBoss_Java_Spring_Hibernate_Jboss_Openshift - Fatal编程技术网

Java IJ000653:池已作为7 OpenShift关闭JBoss

Java IJ000653:池已作为7 OpenShift关闭JBoss,java,spring,hibernate,jboss,openshift,Java,Spring,Hibernate,Jboss,Openshift,我是Java的新手,请帮助我理解如何正确。还有我的英语基础 我使用OpenShift和之前的版本,可能在2周或更长时间之前都可以,但上次我有3个或~

我是Java的新手,请帮助我理解如何正确。还有我的英语基础

我使用OpenShift和之前的版本,可能在2周或更长时间之前都可以,但上次我有3个或~<20个类似的错误:

也许OpenShift出现了问题?还是我做了坏事

请向我解释为什么会发生这种情况:

Caused by: javax.resource.spi.RetryableUnavailableException: IJ000653: The pool has been shutdown (MysqlDS,178e455)
类似的:


JBoss AS 7.1.1、MySql 5、Hibernate 4、Spring 3.2.2也尝试ssh到您的应用程序(rhc ssh{appName})上,看看是否可以通过在控制台上运行“MySql”连接到db。如有必要,请尝试使用“rhc cartridge restart mysql-5.1{appName}”重新启动mysql盒带+1关于检查mysql日志中的错误:

您的MySQL错误日志中有任何异常吗?我如何查看这些日志?我没有任何mysql-5.1文件夹,谷歌也回答了我的问题……我通过SSH连接,没有任何mysql-5.1文件夹,也没有env命令,我没有看到任何OPENSHIFT\u MyDBName\u DB\u LOG\u DIR,也没有~/mysql-5.1/logs/*.LOG。我读了这篇关于OPENSHIFT\uuu DB\u LOG\u DIRls~/mysql-5.1/logs/ls:cannot access/var/lib/OPENSHIFT/512f76d34382ecaff00\uuuu/mysql-5.1/logs/:没有这样的文件或目录也没有关于这个命令“rhc cartridge restart mysql-5.1{appName}”,没有结果,我有强制停止、启动、重新启动,结果是一样的。
<datasource jndi-name="java:jboss/datasources/ShopDS" enabled="${mysql.enabled}"
                use-java-context="true" pool-name="MysqlDS" use-ccm="false">
                <connection-url>jdbc:mysql://${env.OPENSHIFT_MYSQL_DB_HOST}:${env.OPENSHIFT_MYSQL_DB_PORT}/${env.OPENSHIFT_APP_NAME}
                </connection-url>
                <driver>mysql</driver>
                <connection-property name="autoReconnect">true</connection-property>
                <connection-property name="useUnicode">true</connection-property>
                <connection-property name="autoCommit">false</connection-property>
                <connection-property name="characterEncoding">UTF-8</connection-property>
                <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                <pool>
                    <min-pool-size>10</min-pool-size>
                    <max-pool-size>300</max-pool-size>
                    <flush-strategy>IdleConnections</flush-strategy>
                    <prefill>true</prefill>
                </pool>
                <security>
                    <user-name>${env.OPENSHIFT_MYSQL_DB_USERNAME}</user-name>
                    <password>${env.OPENSHIFT_MYSQL_DB_PASSWORD}</password>
                </security>
                <validation>
                    <valid-connection-checker
                        class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker" />
                    <check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
                    <validate-on-match>true</validate-on-match>
                    <background-validation>true</background-validation>
                    <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter" />
                </validation>
                <timeout>
                    <idle-timeout-minutes>60000</idle-timeout-minutes>
                </timeout>
            </datasource>
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect
        </property>
        <property name="hibernate.connection.datasource">java:jboss/datasources/ShopDS</property>
        <property name="hibernate.connection.autoReconnect">true</property>
        <property name="hibernate.connection.is-connection-validation-required">true</property>
        <property name="hibernate.connection.autocommit">false</property>
        <property name="hibernate.connection.release_mode">after_statement</property>
        <property name="hibernate.connection.useUnicode">true</property>
        <property name="hibernate.connection.characterEncoding">utf8</property>
        <property name="hibernate.connection.charSet">UTF-8</property>
        <property name="hibernate.show_sql">false</property>
        <property name="hibernate.use_sql_comments">false</property>
        <property name="hibernate.format_sql">false</property>
        <property name="hibernate.current_session_context_class">jta</property>
        <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
        <property name="hibernate.transaction.jta.platform">org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform</property>
        <property name="hibernate.transaction.auto_close_session">true</property>
        <property name="hibernate.archive.autodetection">class, hbm</property>
        <property name="hibernate.generate_statistics">true</property>
        <property name="hibernate.cache.use_query_cache">false</property>
        <property name="hibernate.cache.use_second_level_cache">false</property>
        <property name="hibernate.cache.use_minimal_puts">true</property>
        <property name="hibernate.cache.use_structured_entries">true</property>
        <property name="hibernate.hbm2ddl.auto">update</property>
        <property name="hibernate.connection.pool_size">20</property>
        <property name="hibernate.default_batch_fetch_size">20</property>
        <property name="hibernate.max_fetch_depth">6</property>
        <mapping class="small.business.dao.entity.Settings" />
    </session-factory>
</hibernate-configuration>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">

    <jee:jndi-lookup jndi-name="java:/db_EntityManagerFactory" id="entityManagerFactory"
        expected-type="javax.persistence.EntityManagerFactory" cache="true" />

    <bean id="entityManager" class="org.springframework.orm.jpa.support.SharedEntityManagerBean">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>

    <!-- Process the PersistenceUnit and PersistenceContext annotations -->
    <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
    <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="configLocation" value="classpath:hibernate.cfg.xml" />
    </bean>

    <!-- <bean class="org.springframework.orm.hibernate4.support.OpenSessionInViewInterceptor"> -->
    <!-- <property name="sessionFactory" ref="sessionFactory" /> -->
    <!-- </bean> -->

    <bean class="org.springframework.orm.hibernate4.HibernateExceptionTranslator" />
    <tx:annotation-driven />
    <bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
        <property name="transactionManagerName" value="java:/TransactionManager" />
        <property name="userTransactionName" value="java:jboss/UserTransaction" />
        <property name="transactionSynchronizationRegistryName" value="java:jboss/TransactionSynchronizationRegistry" />
    </bean>
</beans>
package small.business.dao;

import java.lang.reflect.ParameterizedType;

import javax.persistence.EntityManager;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.exception.GenericJDBCException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;

import small.business.domainmodel.interfaces.IElement;

/**
 * 
 * @author 452
 */
public abstract class GenericDAO<E extends IElement<?>> {

    private static final Logger log = LoggerFactory.getLogger(GenericDAO.class);

    protected Class<E> entityClass;

    @Autowired
    protected EntityManager entityManager;

    @Autowired
    protected SessionFactory sessionFactory;

    @SuppressWarnings("unchecked")
    public GenericDAO() {
        entityClass = (Class<E>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
    }

    @SuppressWarnings("unchecked")
    public E getCurrentElement(Long currentElement) {
        E element = null;
        try {
            //element = entityManager.find(entityClass, currentElement);
            Session session = sessionFactory.getCurrentSession();
            //element = (E) session.load(entityClass, currentElement);
            element = (E) session.get(entityClass, currentElement);
        } catch (Exception e) {
            log.error(e.getMessage(), e);
        } finally {
        }
        return element;
    }

    public E saveOrUpdate(E currentElement) throws Exception {
        E result;
        try {
            result = entityManager.merge(currentElement);
        } catch (GenericJDBCException e) {
            try {
                result = entityManager.merge(currentElement);
            } catch (GenericJDBCException ex) {
                throw new Exception("saveOrUpdate: ", ex);
            }
        }
        return result;
    }

    public void remove(E currentElement) throws Exception {
        E element = entityManager.find(entityClass, currentElement.getId());
        entityManager.remove(element);
    }
}
at java.lang.Thread.run(Thread.java:722) 
        Caused by: java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:jboss/datasources/ShopDS 
            at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:137) 
            at org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:141) 
            at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:276) 
            at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:297) 
            ... 161 more 
        Caused by: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:jboss/datasources/ShopDS 
            at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:390) 
            at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:368) 
            at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:464) 
            at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:129) 
            ... 164 more 
        Caused by: javax.resource.spi.RetryableUnavailableException: IJ000653: The pool has been shutdown (MysqlDS,178e455) 
            at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:264) 
            at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getTransactionNewConnection(AbstractPool.java:495) 
            at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:374) 
            at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:329)