Sean Radford | 7 May 00:17

Postgresql and XA Datasource

Hi,

How do you define the schema to use for XA datasources in Nuxeo?

For example I've tried:

<xa-datasource>
  <jndi-name>nxworkflowjbpm</jndi-name>

<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
  <xa-datasource-property 
name="ServerName">localhost</xa-datasource-property>
  <xa-datasource-property name="PortNumber">5432</xa-datasource-property>
  <xa-datasource-property name="DatabaseName">MY_DB</xa-datasource-property>
  <xa-datasource-property name="Schema">my_schema</xa-datasource-property>
  <xa-datasource-property name="User">my_user</xa-datasource-property>
  <xa-datasource-property name="Password">password</xa-datasource-property>
  <track-connection-by-tx/>
</xa-datasource>

But this fails with:

2008-05-06 21:53:45,117 WARN  
[org.jboss.resource.connectionmanager.JBossManagedConnectionPool] 
Throwable while attempting to get a new connection: null
org.jboss.resource.JBossResourceException: Could not create connection; 
- nested throwable: (org.jboss.resource.JBossResourceException: Could 
not find accessor on XADataSou
rce: ; - nested throwable: (java.lang.NoSuchMethodException: 
org.postgresql.xa.PGXADataSource.setSchema(java.lang.String)))
(Continue reading)

Tiry | 7 May 01:09

Re: Postgresql and XA Datasource

Sean Radford a écrit :
> Hi,
>
> How do you define the schema to use for XA datasources in Nuxeo?
This should not have anything to do with Nuxeo : the datasources are 
managed by JBoss.
Tests have been done with PGSQL in XA.
I don't have a example here.
Just check JBoss doc and check your PGSQL JDBC package.

Do you have this problem on all datasources or only on the jbpm db ?

>
> For example I've tried:
>
> <xa-datasource>
>  <jndi-name>nxworkflowjbpm</jndi-name>
>  
> <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class> 
>
>  <xa-datasource-property 
> name="ServerName">localhost</xa-datasource-property>
>  <xa-datasource-property name="PortNumber">5432</xa-datasource-property>
>  <xa-datasource-property 
> name="DatabaseName">MY_DB</xa-datasource-property>
>  <xa-datasource-property name="Schema">my_schema</xa-datasource-property>
>  <xa-datasource-property name="User">my_user</xa-datasource-property>
>  <xa-datasource-property 
> name="Password">password</xa-datasource-property>
>  <track-connection-by-tx/>
(Continue reading)

Enrique Perez | 7 May 08:32
Picon

Re: Postgresql and XA Datasource

Hi Sean,

XA transactions only works if your PGSQL version is 8.x. Check your version.

Moreover, you need install the JDBC driver and I think you have to 
configure the Relation Service and the Compass plugin. You can see how 
to do this in the Nuxeo Book:

http://doc.nuxeo.org/5.1/nuxeo-book/reference/html/administration.html#admin-database-configuration

Regards.

Tiry escribió:
> Sean Radford a écrit :
>> Hi,
>>
>> How do you define the schema to use for XA datasources in Nuxeo?
> This should not have anything to do with Nuxeo : the datasources are 
> managed by JBoss.
> Tests have been done with PGSQL in XA.
> I don't have a example here.
> Just check JBoss doc and check your PGSQL JDBC package.
>
> Do you have this problem on all datasources or only on the jbpm db ?
>
>>
>> For example I've tried:
>>
>> <xa-datasource>
>>  <jndi-name>nxworkflowjbpm</jndi-name>
(Continue reading)

Sean Radford | 7 May 09:12

Re: Postgresql and XA Datasource

Hi,

I understand how to configure all the services for a particular db - have done
so for both Postgres and MySQL.

However, I need to use Postgres with XA and I want Nuxeo to use a particular
database schema within the assigned database.

I guess, this maybe more of a Postgres question, but thought that you guys would
very likely know.

Regards,

Sean

> Hi Sean,
>
> XA transactions only works if your PGSQL version is 8.x. Check your version.
>
> Moreover, you need install the JDBC driver and I think you have to
> configure the Relation Service and the Compass plugin. You can see how
> to do this in the Nuxeo Book:
>
>
http://doc.nuxeo.org/5.1/nuxeo-book/reference/html/administration.html#admin-database-configuration
>
> Regards.
>
>
> Tiry escribió:
(Continue reading)

Tiry | 7 May 10:48

Re: Postgresql and XA Datasource


Sean Radford a écrit :
> Hi,
>
> I understand how to configure all the services for a particular db - have done
> so for both Postgres and MySQL.
>
> However, I need to use Postgres with XA and I want Nuxeo to use a particular
> database schema within the assigned database.
>
> I guess, this maybe more of a Postgres question, but thought that you guys would
> very likely know.
>   
We usually use a dedicated PGSQL DB and then we use the default schema 
(public).
Can't see anything in the PGSQL JDBC lib API to set the schema.
May be PGSQL guys may give you a more precise answer.
> Regards,
>
> Sean
>
>   
>> Hi Sean,
>>
>> XA transactions only works if your PGSQL version is 8.x. Check your version.
>>
>> Moreover, you need install the JDBC driver and I think you have to
>> configure the Relation Service and the Compass plugin. You can see how
>> to do this in the Nuxeo Book:
>>
(Continue reading)

Florent Guillaume | 7 May 14:59

Re: Postgresql and XA Datasource

I don't see any setSchema method in PGXADataSource:
http://jdbc.postgresql.org/development/privateapi/org/postgresql/xa/PGXADataSource.html
So it's probably not supported.

Note that it's not in the public API either:
http://java.sun.com/j2se/1.4.2/docs/api/javax/sql/XADataSource.html

Are you sure <xa-datasource-property name="Schema"> is supposed to work?

Florent

On 7 May 2008, at 10:48, Tiry wrote:

>
> Sean Radford a écrit :
>> Hi,
>>
>> I understand how to configure all the services for a particular db  
>> - have done
>> so for both Postgres and MySQL.
>>
>> However, I need to use Postgres with XA and I want Nuxeo to use a  
>> particular
>> database schema within the assigned database.
>>
>> I guess, this maybe more of a Postgres question, but thought that  
>> you guys would
>> very likely know.
>>
> We usually use a dedicated PGSQL DB and then we use the default  
(Continue reading)


Gmane