[jboss-user] [IronJacamar] - xa-datasource is not registered correctly
Gytis Trikleris
do-not-reply at jboss.com
Thu Mar 14 11:16:15 EDT 2013
Gytis Trikleris [https://community.jboss.org/people/gytis] created the discussion
"xa-datasource is not registered correctly"
To view the discussion, visit: https://community.jboss.org/message/802706#802706
--------------------------------------------------------------
Hello,
I'm writing a quickstart to show integration of JBoss Transactions, IronJacamar and Tomcat. However, I am a little bit stuck with Postgres xa-datasource. It seams that it is not getting registered correctly. I can successfully access database with local datasource, but I get the following exception when using xa-datasource (exception stack trace available here: http://pastebin.com/vmjHLHX6 http://pastebin.com/vmjHLHX6):
...
Caused by: org.postgresql.util.PSQLException: FATAL: database "IronJacamarTryout;User=postgres;ServerName=127.0.0.1;PortNumber" does not exist
at org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.java:471)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:112)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125)
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:22)
at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:32)
at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24)
at org.postgresql.Driver.makeConnection(Driver.java:393)
at org.postgresql.Driver.connect(Driver.java:267)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at org.postgresql.ds.common.BaseDataSource.getConnection(BaseDataSource.java:92)
at org.postgresql.xa.jdbc3.AbstractJdbc3XADataSource.getXAConnection(AbstractJdbc3XADataSource.java:57)
at org.jboss.jca.adapters.jdbc.xa.XAManagedConnectionFactory.getXAManagedConnection(XAManagedConnectionFactory.java:430)
... 43 more
Datasource registration code looks as following (available on github: https://github.com/Gytis/quickstart/blob/master-JBTM-1479/ArjunaJTS/jca-and-tomcat/src/test/java/org/jboss/narayana/quickstart/jca/common/AbstractTest.java https://github.com/Gytis/quickstart/blob/master-JBTM-1479/ArjunaJTS/jca-and-tomcat/src/test/java/org/jboss/narayana/quickstart/jca/common/AbstractTest.java):
// ...
Embedded embedded = EmbeddedFactory.create();
embedded.startup();
embedded.deploy(getURL(JDBC_RAR_FILE_NAME));
embedded.deploy(getURL(POSTGRES_DS_FILE_NAME));
Context context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:/PostgresDS");
Connection connection = dataSource.getConnection("postgres", "postgres");
// ...
postgres-ds.xml (the one which works) looks as following (available on github: https://github.com/Gytis/quickstart/blob/master-JBTM-1479/ArjunaJTS/jca-and-tomcat/src/test/resources/postgres-ds.xml https://github.com/Gytis/quickstart/blob/master-JBTM-1479/ArjunaJTS/jca-and-tomcat/src/test/resources/postgres-ds.xml):
<?xml version="1.0" encoding="UTF-8"?>
<datasources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.jboss.org/ironjacamar/schema/datasources_1_0.xsd">
<datasource jndi-name="PostgresDS" pool-name="PostgresDS">
<connection-url>jdbc:postgresql://127.0.0.1:5432/IronJacamarTryout</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<security>
<user-name>postgres</user-name>
<password>postgres</password>
</security>
<validation>
<valid-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"></valid-connection-checker>
<exception-sorter
class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"></exception-sorter>
</validation>
</datasource>
</datasources>
And finally postgres-xa-ds.xml (the one which does not work) looks as following (available on github: https://github.com/Gytis/quickstart/blob/master-JBTM-1479/ArjunaJTS/jca-and-tomcat/src/test/resources/postgres-xa-ds.xml https://github.com/Gytis/quickstart/blob/master-JBTM-1479/ArjunaJTS/jca-and-tomcat/src/test/resources/postgres-xa-ds.xml)
<?xml version="1.0" encoding="UTF-8"?>
<datasources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.jboss.org/ironjacamar/schema/datasources_1_0.xsd">
<xa-datasource jndi-name="PostgresDS" pool-name="PostgresDS">
<xa-datasource-property name="ServerName">127.0.0.1</xa-datasource-property>
<xa-datasource-property name="PortNumber">5432</xa-datasource-property>
<xa-datasource-property name="DatabaseName">IronJacamarTryout</xa-datasource-property>
<xa-datasource-property name="User">postgres</xa-datasource-property>
<xa-datasource-property name="Password">postgres</xa-datasource-property>
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
<validation>
<valid-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"></valid-connection-checker>
<exception-sorter
class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"></exception-sorter>
</validation>
</xa-datasource>
</datasources>
PostgreSQL version used: 9.1
IronJacamar version used: 1.0.15.Final
JDK version used: 1.7
pom.xml: https://github.com/Gytis/quickstart/blob/master-JBTM-1479/ArjunaJTS/jca-and-tomcat/pom.xml https://github.com/Gytis/quickstart/blob/master-JBTM-1479/ArjunaJTS/jca-and-tomcat/pom.xml
p.s.
username and password does not have to be passed to dataSource.getConnection(), if local datasource is used. However, such invocation will raise an error that password is missing, if xa-datasource is used. (see: datasource registration code).
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/802706#802706]
Start a new discussion in IronJacamar at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2098]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20130314/b1c03245/attachment-0001.html
More information about the jboss-user
mailing list