【问题标题】:Help with an Exception异常帮助
【发布时间】:2009-03-08 03:15:30
【问题描述】:

遇到以下异常。 任何人都知道如何解决这个问题?或者到底是什么问题。

[#|2009-03-03T10:41:18.079+0800|SEVERE|sun-appserver-pe8.2|ilog.rules.teamserver.model.IlrGlobalCache|_ThreadID=12;|java.rmi.ServerException: RemoteException 在服务器中发生线;嵌套异常是: java.rmi.RemoteException:嵌套异常是:java.sql.SQLException:分配连接时出错。原因:java.lang.RuntimeException:XAResource.start 期间出现异常:;嵌套异常是: java.sql.SQLException:分配连接时出错。原因:java.lang.RuntimeException:XAResource.start 期间出现异常: java.rmi.ServerException:服务器线程发生RemoteException;嵌套异常是: java.rmi.RemoteException:嵌套异常是:java.sql.SQLException:分配连接时出错。原因:java.lang.RuntimeException:XAResource.start 期间出现异常:;嵌套异常是: java.sql.SQLException:分配连接时出错。原因:java.lang.RuntimeException:XAResource.start 期间出现异常: 在 com.sun.corba.ee.impl.javax.rmi.CORBA.Util.wrapException(未知来源) 在 javax.rmi.CORBA.Util.wrapException(Util.java:279) 在 com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(未知来源) 在 com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(未知来源) 在 ilog.rules.teamserver.ejb.service._IlrSessionFacadeEJB_DynamicStub.getElementsFromAssociation(_IlrSessionFacadeEJB_DynamicStub.java) 在 ilog.rules.teamserver.model.impl.IlrAbstractEJBSession.getElementsFromReference(未知来源) 在 ilog.rules.teamserver.model.impl.IlrAbstractEJBSession.getElementsFromReference(未知来源) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:585) 在 ilog.rules.teamserver.model.impl.IlrAbstractEJBSession.invoke(未知来源) 在 ilog.rules.teamserver.client.platform.IlrCommonAppServerSettings.invokeWithGivenPrivileges(未知来源) 在 ilog.rules.teamserver.client.IlrSessionProxy.invoke(未知来源) 在 $Proxy35.getElementsFromReference(未知来源) 在 ilog.rules.teamserver.brm.impl.IlrProjectInfoImpl.getMessageMap(未知来源) 在 ilog.rules.teamserver.model.IlrGlobalCache.getBundle(未知来源) 在 ilog.rules.teamserver.model.IlrMessages.getString(未知来源) 在 ilog.rules.teamserver.model.IlrMessages.getMessage(未知来源) 在 ilog.rules.teamserver.model.IlrMessageHelper.getDisplayNameForType(未知来源) 在 ilog.rules.teamserver.model.IlrMessageHelper.getLCDisplayNameForType(未知来源) 在 ilog.rules.teamserver.externalejb.IlrExternalInterfaceFacadeLocalSessionBean.commitRuleDataSeparately(未知来源) 在 ilog.rules.teamserver.externalejb.IlrExternalInterfaceFacadeLocalSessionBean.commitRuleData(未知来源) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:585) 在 com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:983) 在 com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:147) 在 com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:128) 在 $Proxy18.commitRuleData(未知来源) 在 ilog.rules.teamserver.web.servlets.IlrSynchronizationEntryPointServlet.handlecommitRuleData(未知来源) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:585) 在 ilog.rules.teamserver.web.servlets.IlrSynchronizationEntryPointServlet.handleMethod(未知来源) 在 ilog.rules.teamserver.web.servlets.IlrSynchronizationEntryPointServlet.doPost(未知来源) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:767) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:860) 在 sun.reflect.GeneratedMethodAccessor113.invoke(未知来源) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:585) 在 org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAsPrivileged(Subject.java:517) 在 org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282) 在 org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257) 在 org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55) 在 org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161) 在 java.security.AccessController.doPrivileged(本机方法) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263) 在 org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551) 在 org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173) 在 org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) 在 org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132) 在 org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551) 在 org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933) 在 org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189) 在 com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604) 在 com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475) 在 com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:371) 在 com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264) 在 com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281) 在 com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83) 引起:java.rmi.RemoteException:嵌套异常是:java.sql.SQLException:分配连接时出错。原因:java.lang.RuntimeException:XAResource.start 期间出现异常:;嵌套异常是: java.sql.SQLException:分配连接时出错。原因:java.lang.RuntimeException:XAResource.start 期间出现异常: 在 com.sun.enterprise.iiop.POAProtocolMgr.mapException(POAProtocolMgr.java:199) 在 com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:853) 在 com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:160) 在 $Proxy22.getElementsFromAssociation(未知来源) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:585) ... 68 更多 原因:java.sql.SQLException:分配连接时出错。原因:java.lang.RuntimeException:XAResource.start 期间出现异常: 在 com.sun.gjc.spi.DataSource.getConnection(DataSource.java:74) 在 ilog.rules.teamserver.ejb.service.dao.IlrElementDAOJDBC.getConnection(未知来源) 在 ilog.rules.teamserver.ejb.service.IlrTransactionContext.getConnectionFromAppServer(未知来源) 在 ilog.rules.teamserver.ejb.service.IlrTransactionContext.(未知来源) 在 ilog.rules.teamserver.ejb.service.IlrTransactionContext.(未知来源) 在 ilog.rules.teamserver.ejb.service.IlrSessionFacadeImpl.getElementsFromAssociation(未知来源) 在 ilog.rules.teamserver.ejb.service.IlrSessionFacadeBean.getElementsFromAssociation(未知来源) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:585) 在 com.sun.enterprise.security.SecurityUtil$2.run(SecurityUtil.java:153) 在 java.security.AccessController.doPrivileged(本机方法) 在 com.sun.enterprise.security.application.EJBSecurityManager.doAsPrivileged(EJBSecurityManager.java:957) 在 com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:158) 在 com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:151) ... 73 更多 |#]

【问题讨论】:

  • 无法判断,因为可能是根本原因的 SQLException 被掩盖了。你能再试一次吗?
  • 你能告诉我们你的环境和异常的背景

标签: java


【解决方案1】:

为了解决这个问题,我们需要更多地了解您的环境。例如,什么 JVM 版本和供应商?

根本原因埋在某处

java.sql.SQLException: Error in allocating a connection.
Cause: java.lang.RuntimeException: Got exception during XAResource.start:
    at com.sun.gjc.spi.DataSource.getConnection(DataSource.java:74)

您将收到RuntimeException。这似乎是导致所有麻烦的异常。如果你能找出这个异常是什么,你可能会知道如何修复它。

【讨论】:

  • 为什么需要JVM版本? O_O 这是“无法从池中获取连接”的问题。干净利落。要么泄漏,要么同时请求太多。
  • @Vladimir Dyuzhev:我对 Java 错误的可能性持开放态度,这取决于版本。
【解决方案2】:

分配连接时出错。

无法从连接池中获取连接。

原因可能是:

  • 池已达到最大容量 = 您的应用泄漏连接
  • 数据库端已达到此用户的最大容量 => 更改数据库设置
  • 数据库已关闭(暂时?)
  • 其他任何事情(不太可能)

所有其他异常(XA、SQLException、...)只是后果。

【讨论】:

    【解决方案3】:

    正如 Eddie 所说,没有足够的信息来全面诊断您的问题,尽管它似乎与数据库有关。

    需要检查的一些事项:

    • 您的数据库连接设置正确吗?
    • 您的数据库服务器是否正在运行?
    • 数据库连接用完了吗?

    祝你好运:-)

    【讨论】:

    • 您完全诊断出所有可能的原因。你是什​​么意思“没有足够的信息”? o_O
    【解决方案4】:

    “XAResource”让我觉得两阶段提交以某种方式涉及。如果这是真的,您是否使用 XA 驱动程序来访问数据库?你必须。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2013-05-28
      • 2014-10-15
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多