hi dirk,
I did some debugging on this problem.I found the exception occurs at
public void start(Xid xid, int flags) method when the
connection.setAutoCommit(false) is called in the JDBCDescriptorStore class .
An SQLException is raised with the error message set Update command is not
allowed
in a multi-statement transaction .It looks like the setAutoCommit(false)
should not be called
explicitly by the programmer when dealing with a global transaction
managed by an external
transcation manager as it is implicitly set to false by the DataSource
before returning the connection object.
I commented out the setAutoCommit(false) part in the start method of the
JDBCDescriptorStore and the base data was loaded successfully.
thanks,
rajkumar
-----Original Message-----
From: Dirk Verbeeck [mailto:[EMAIL PROTECTED]]
Sent: Sunday, September 09, 2001 1:30 PM
To: [EMAIL PROTECTED]
Subject: Re: Enlist error when using JDBCDescriptor store for Sybase
Raj Kumar wrote:
> hi remy,
> I am sybase database with the JDBCDescriptorStore class and i am
getting
> an enlist error when the slide web application
> starts loading the base data in the Domain.xml file.
> The stores in the Domain.xml file looks this.
>
> <contentstore name="content"
> classname="slidestore.reference.JDBCContentStore">
> <parameter
> name="driver">com.sybase.jdbc2.jdbc.SybDriver</parameter>
> <parameter
> name="url">sybase:Tds:Rajkumar:2048/repository</parameter>
> <parameter name="user">sa</parameter>
> <parameter name="password">liferaj</parameter>
> <parameter name="jdbcversion">1</parameter>
> </contentstore>
>
> <nodestore name="data"
> classname="slidestore.reference.JDBCDescriptorsStore">
> <parameter
> name="driver">com.sybase.jdbc2.jdbc.SybDriver</parameter>
> <parameter
> name="url">sybase:Tds:Rajkumar:2048/repository</parameter>
> <parameter name="user">sa</parameter>
> <parameter name="password">liferaj</parameter>
> <parameter name="jdbcversion">1</parameter>
> </nodestore>
>
> <revisiondescriptorsstore>
> <reference store="nodestore" />
> </revisiondescriptorsstore>
>
> <lockstore>
> <reference store="nodestore" />
> </lockstore>
>
> <revisiondescriptorstore>
> <reference store="nodestore" />
> </revisiondescriptorstore>
>
> <securitystore>
> <reference store="nodestore" />
> </securitystore>
>
> The error i get is as follows.
>
> Starting service Tomcat-Standalone
> Apache Tomcat/4.0-b5
> 06 Sep 2001 11:01:01 - org.apache.slide.common.Domain - INFO -
Initializing
> Doma
> in
> 06 Sep 2001 11:01:01 - org.apache.slide.common.Domain - INFO - Domain
> configurat
> ion : {Default=Will look for domain.xml in current directory,
> org.apache.slide.s
> ecurity=false, org.apache.slide.domain=Domain.xml}
> 06 Sep 2001 11:01:01 - org.apache.slide.common.Domain - INFO -
Initializing
> name
> space : slide
> 06 Sep 2001 11:01:02 - org.apache.slide.common.Namespace - INFO - Loading
> namesp
> ace definition
> 06 Sep 2001 11:01:02 - org.apache.slide.common.Namespace - INFO - Node
> store: sl
> idestore.reference.JDBCDescriptorsStore
> 06 Sep 2001 11:01:03 - org.apache.slide.common.Namespace - INFO - Security
> store
> references nodestore
> 06 Sep 2001 11:01:03 - org.apache.slide.common.Namespace - INFO - Lock
store
> sto
> re references nodestore
> 06 Sep 2001 11:01:03 - org.apache.slide.common.Namespace - INFO - Revision
> descr
> iptors store references nodestore
> 06 Sep 2001 11:01:03 - org.apache.slide.common.Namespace - INFO - Revision
> descr
> iptor store references nodestore
> 06 Sep 2001 11:01:03 - org.apache.slide.common.Namespace - INFO - Content
> store:
> slidestore.reference.JDBCContentStore
> 06 Sep 2001 11:01:03 - org.apache.slide.common.Namespace - INFO -
> Registering St
> ore memory of class class org.apache.slide.store.StandardStore with
> parameters {
> } on scope /
> 06 Sep 2001 11:01:03 - org.apache.slide.common.Namespace - INFO -
> Initializing S
> tore memory(org.apache.slide.store.StandardStore)
> 06 Sep 2001 11:01:05 - org.apache.slide.common.Namespace - INFO - Loading
> namesp
> ace slide parameters
> 06 Sep 2001 11:01:05 - org.apache.slide.common.Namespace - INFO - Loading
> namesp
> ace slide base data
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-1 Flag: 134217728
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-2 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-3 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-4 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-5 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-6 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-7 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-8 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-9 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-10 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-11 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-12 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-13 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-14 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-15 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-16 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-17 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-18 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-19 Flag: 2097152
> Enlist error(Transaction 1 in main) = -3
> slidestore.reference.JDBCDescriptorsSt
> ore@171b26 Branch: main-999799265588-1-20 Flag: 2097152
> 06 Sep 2001 11:01:17 - org.apache.slide.common.Domain - WARNING -
> org.apache.sli
> de.common.ServiceAccessException
> 06 Sep 2001 11:01:17 - org.apache.slide.common.Namespace - INFO -
Namespace
> base
> configuration was already done before
> 06 Sep 2001 11:01:17 - org.apache.slide.common.Namespace - INFO - Loading
> namesp
> ace slide configuration
> 06 Sep 2001 11:01:17 - org.apache.slide.common.Domain - ERROR -
> org.apache.slide
> .structure.ObjectNotFoundException: No object found at /actions
> Starting service Tomcat-Apache
> Apache Tomcat/4.0-b5
>
> I would appreciate any help on this.
> thanks,
> rajkumar
The meaning of those error codes:
XAER_RMERR
public final static int XAER_RMERR = -3
A resource manager error occurred in the transaction branch
TMRESUME
public final static int TMRESUME = 0x08000000 =134217728
Caller is resuming association with with suspended transaction branch.
TMJOIN
public final static int TMJOIN = 0x00200000 = 2097152
Caller is joining existing transaction branch.
Something goes wrong here ;-)
Can you add "e.printStackTrace()" after line 466 in SlideTransaction.java
I have already commited this line and hopefully it is in tonigths build.
Another thing you can try is to use the jdbc version 1 of the sybase
drivers.
I think this will be the solution until a new JDBC store is created with
full
jdbc XA support.
Dirk