为什么每次重新部署时都需要刷新连接池?
我已经通过Glassfish成功连接到远程MySQL服务器,但是每次我对代码或XHTML文件进行更改时,我都需要打开Glassfish的管理员面板并刷新连接池,否则当我刷新页面时,我会收到以下错误。有人经历过这种情况吗?如果需要,我可以发布代码或其他信息。
HTTP 状态 500 -
类型异常报告
消息
描述服务器遇到内部错误 (),导致无法满足此请求。
例外
javax.servlet.ServletException: WELD-000049 無法在 com.myapp.QuestionController@4635bd2a 上@PostConstruct public com.myapp.QuestionController.initialize() invoke [method]
根源
org.jboss.weld.exceptions.WeldException: WELD-000049 無法在 com.myapp.interfaces.QuestionController@4635bd2a 上@PostConstruct public com.myapp.interfaces.QuestionController.initialize() 啟用 [method]
根源
java.lang.reflect.InvocationTargetException
根源
javax.ejb.EJBException
根源
javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: 分配连接时出错。原因:java.lang.RuntimeException: 在 XAResource.start 期间出现异常:错误代码:0
根源
异常 [EclipseLink-4002] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException 内部异常: java.sql.SQLException: 分配连接时出错。原因:java.lang.RuntimeException: 在 XAResource.start 期间出现异常:错误代码:0
根源
java.sql.SQLException:分配连接时出错。原因:java.lang.RuntimeException: 在 XAResource.start 期间出现异常:
根源
javax.resource.spi.ResourceAllocationException:分配连接时出错。原因:java.lang.RuntimeException: 在 XAResource.start 期间出现异常:
根源
com.sun.appserv.connectors.internal.api.PoolingException: java.lang.RuntimeException: Got exception during XAResource.start:
根源
com.sun.appserv.connectors.internal.api.PoolingException: java.lang.RuntimeException: Got exception during XAResource.start:
根源
java.lang.RuntimeException: 在 XAResource.start 期间 Got exception:
根源
javax.transaction.xa.XAException: com.sun.appserv.connectors.internal.api.PoolingException: javax.resource.spi.LocalTransactionException: Communications link failure
从服务器成功接收的最后一个数据包是 435 409 毫秒前。成功发送到服务器的最后一个数据包是 7 毫秒前。
持久性 XML
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="SertifikatPU" transaction-type="JTA">
<jta-data-source>jdbc/sertifikatdb</jta-data-source>
</persistence-unit>
</persistence>
在我刚刚配置的 Glassfish 连接池设置中的“其他属性”中:服务器名称、URL、用户和密码。
我已经解决了这个问题
我制作了自己的双表,类似于Oracle中的表。
CREATE TABLE dual
(
x VARCHAR(1)
);
INSERT INTO dual(x) VALUES('y');