开发者

Connection problems with PostgreSQL XADataSource in Glassfish

开发者 https://www.devze.com 2023-01-06 12:47 出处:网络
I\'m new to GlassFish, and our company has recently migrated an old system from JBoss 2-something to GlassFish v3.Almost everything works fine, but we are having connection problems with a PostGres (v

I'm new to GlassFish, and our company has recently migrated an old system from JBoss 2-something to GlassFish v3. Almost everything works fine, but we are having connection problems with a PostGres (v8.1) XADataSource. We have a database entry that holds the operating mode of the site and every request pulls this information to verify that they are requesting a valid page.

However, if multiple users attempt to do this, it fails. This never occurred under JBoss running PostGres 7.2. Here is the main offender:

sai.mbz.util.GeneralFailureException: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
    java.rmi.RemoteException: sai.mbz.dat.generic.GenericDAOException: Exception caught in DAO: java.lang.RuntimeException: Got exception during XAResource.end: org.postgresql.xa.PGXAException: tried to call end without corresponding start call; nested exception is: 
    sai.mbz.util.GeneralFailureException: sai.mbz.dat.generic.GenericDAOException: Exception caught in DAO: java.lang.RuntimeException: Got exception during XAResource.end: org.postgresql.xa.PGXAException: tried to call end without corresponding start call
    at sai.mbz.control.admin.AdminControllerWebImpl.getParmInfo(Unknown Source)
    at sai.mbz.control.web.RequestProcessor.processRequest(Unknown Source)
    at org.apache.jsp.Main_jsp._jspService(Main_jsp.java from :74)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:406)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java开发者_StackOverflow社区:483)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:373)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
    at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
    at java.lang.Thread.run(Thread.java:619)

Is there any chance that someone could help a newbie out?


The exception stack indicates that there is no XA transaction in active state when XAResource.end is called.

What is unclear is how do you manage transactions? And do you really need an XA data source? If you don't, I'd suggest to configure a non-XA (i.e resource-local) data source.

0

精彩评论

暂无评论...
验证码 换一张
取 消