You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Tomasz Mazan <wi...@wp.pl> on 2007/09/04 00:55:55 UTC
Re: Two phase commit - JPA + JMS
> Basically yes. Geronimo won't prevent you from using non-xa
> datasources and jms connection factories in JTA transactions, but if
> anything goes wrong your data may be left in an inconsistent state.
>
> If you find that xa is too slow there may be ways of using non-xa jms
> connection factories as long as the messages are idempotent, that is
> sending the same message multiple times has the same effect as sending
> it once. I'm not an expert on this but I think there's periodic
> discussion on the activemq lists. I would start with xa everywhere
> and see if there are problems.
>
> thanks
> david jencks
David, I currently try to configure deployment plan to create
XADataSource for my application.
Could you tell me how looks Geronimo-Postgresql deployment plan for XA ?
TIA
Tomasz Mazan
Re: Two phase commit - JPA + JMS
Posted by Tomasz Mazan <wi...@wp.pl>.
Matt Hogstrom pisze:
> Tomasz,
>
> Here is a sample derived from DayTrader where we setup XA and non-XA
> datasources. I created new RA's for PostgreSQL, but haven't tested
> them, that should work but hopefully you can tell me if there are issues.
>
> You'll need this jar for PostgreSQL 8.2
> http://jdbc.postgresql.org/download/postgresql-8.2-506.jdbc3.jar and
> need to place it in the Geronimo repo and place a dependency element
> in your plan.
>
> You'll also need the rars which you can find at:
>
> http://snapshots.repository.codehaus.org/org/tranql/tranql-connector-postgresql-xa/8.2-SNAPSHOT/tranql-connector-postgresql-xa-8.2-20070905.015528-1.rar
> http://snapshots.repository.codehaus.org/org/tranql/tranql-connector-postgresql-local/8.2-SNAPSHOT/tranql-connector-postgresql-local-8.2-20070905.015528-1.rar
>
> rename these to 8.2-SNAPSHOT and place them in the Geronimo repo.
>
> <ext-module>
> <connector>*YourDataSource*</connector>
> <external-path
> xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2">
> <dep:groupId>org.tranql</dep:groupId>
>
> <dep:artifactId>*tranql-connector-postgresql-xa*</dep:artifactId>
> <dep:version>*8-2.SNAPSHOT*</dep:version>
> <dep:type>rar</dep:type>
> </external-path>
> <connector
> xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2">
> <resourceadapter>
> <outbound-resourceadapter>
> <connection-definition>
>
> <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
> <connectiondefinition-instance>
> <name>*jdbc/YourXADataSource*</name>
> <config-property-setting
> name="DatabaseName">YourDatabaseName</config-property-setting>
> <config-property-setting
> name="Description"></config-property-setting>
> <config-property-setting
> name="UserName"></config-property-setting>
> <config-property-setting
> name="Password"></config-property-setting>
> <config-property-setting
> name="PortNumber"></config-property-setting>
> <config-property-setting
> name="ServerName"></config-property-setting>
> <config-property-setting
> name="LoginTimeout"></config-property-setting>
> <connectionmanager>
> <xa-transaction>
> <transaction-caching/>
> </xa-transaction>
> <single-pool>
> <max-size>100</max-size>
> <min-size>0</min-size>
>
> <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
>
> <idle-timeout-minutes>30</idle-timeout-minutes>
> <match-one/>
> </single-pool>
> </connectionmanager>
> </connectiondefinition-instance>
> <connectiondefinition-instance>
> <name>*j**dbc/NoTxYourDataSource*</name>
> <config-property-setting
> name="DatabaseName">YourDatabaseName</config-property-setting>
> <config-property-setting
> name="Description"></config-property-setting>
> <config-property-setting
> name="UserName"></config-property-setting>
> <config-property-setting
> name="Password"></config-property-setting>
> <config-property-setting
> name="PortNumber"></config-property-setting>
> <config-property-setting
> name="ServerName"></config-property-setting>
> <config-property-setting
> name="LoginTimeout"></config-property-setting>
> <connectionmanager>
> <no-transaction/>
> <single-pool>
> <max-size>10</max-size>
> <min-size>0</min-size>
>
> <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
>
> <idle-timeout-minutes>30</idle-timeout-minutes>
> <match-one/>
> </single-pool>
> </connectionmanager>
> </connectiondefinition-instance>
> </connection-definition>
> </outbound-resourceadapter>
> </resourceadapter>
> </connector>
> </ext-module>
>
>
>
I guess that it's part of geronimo-application.xml and I needn't use
DatabasePool deployment plan insofar I put deps to pgres driver in
preceding XML
Tomasz Mazan vel. Beniamin
Re: Two phase commit - JPA + JMS
Posted by Tomasz Mazan <wi...@wp.pl>.
> Tomasz,
>
> I corrected the problem. I had refactored the class and forgot to
> update the RAR. I've updated and published new SNAPSHOTS. Please
> grab a new update of the XA rar.
>
> Also, set the user / password, server, etc for your postgres environment.
>
Matt
New configuration works, but there's some non-critical bugs.
If my connection definition looks like (modulo correct property values)
<connectiondefinition-instance>
<name>MyPool</name>
<config-property-setting
name="Password"></config-property-setting>
<config-property-setting
name="UserName"></config-property-setting>
<config-property-setting
name="PortNumber">5432</config-property-setting>
<config-property-setting
name="DatabaseName"></config-property-setting>
<config-property-setting
name="ServerName"></config-property-setting>
<config-property-setting
name="LoginTimeout">20000</config-property-setting>
<connectionmanager>
there's exception during view configuration via Geronimo Console :
java.lang.Exception: Problem while updaing the persistent value of
attibute: Attribute Name: Description, Type: class java.lang.String, GBea
nInstance:
org.apache.geronimo.connector.outbound.ManagedConnectionFactoryWrapper
at
org.apache.geronimo.gbean.runtime.GBeanInstance.destroyInstance(GBeanInstance.java:1128)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStop(GBeanInstanceState.java:339)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.stop(GBeanInstanceState.java:188)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.stop(GBeanInstance.java:561)
at
org.apache.geronimo.kernel.basic.BasicKernel.stopGBean(BasicKernel.java:423)
at
org.apache.geronimo.kernel.config.KernelConfigurationManager.stopRecursive(KernelConfigurationManager.java:224)
at
org.apache.geronimo.kernel.config.KernelConfigurationManager.stop(KernelConfigurationManager.java:204)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.stopConfiguration(SimpleConfigurationManager.java:575)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.stopConfiguration(SimpleConfigurationManager.java:558)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:865)
at
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
at
org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:342)
at
org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:865)
at
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
at
org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:168)
at
com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
at
com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408)
at
javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1348)
at
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782)
at sun.reflect.GeneratedMethodAccessor334.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.IllegalArgumentException:
org.tranql.connector.postgresql.PGXAMCF: no getter for Description
at
org.apache.geronimo.gbean.DynamicGBeanDelegate.getAttribute(DynamicGBeanDelegate.java:124)
at
org.apache.geronimo.connector.outbound.ManagedConnectionFactoryWrapper.getAttribute(ManagedConnectionFactoryWrapper.java:181)
at
org.apache.geronimo.gbean.runtime.GBeanAttribute$DynamicGetterMethodInvoker.invoke(GBeanAttribute.java:431)
at
org.apache.geronimo.gbean.runtime.GBeanAttribute.getValue(GBeanAttribute.java:390)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.destroyInstance(GBeanInstance.java:1124)
... 42 more
So, I'd decided to set this attribute within my deployment plan, the I
got exception on deploy:
java.lang.IllegalArgumentException:
org.tranql.connector.postgresql.PGXAMCF: no setter for Description
at
org.apache.geronimo.gbean.DynamicGBeanDelegate.setAttribute(DynamicGBeanDelegate.java:132)
at
org.apache.geronimo.connector.outbound.ManagedConnectionFactoryWrapper.setAttribute(ManagedConnectionFactoryWrapper.java:192)
at
org.apache.geronimo.gbean.runtime.GBeanAttribute$DynamicSetterMethodInvoker.invoke(GBeanAttribute.java:443)
at
org.apache.geronimo.gbean.runtime.GBeanAttribute.setValue(GBeanAttribute.java:416)
....
It's not critical, but looks quite poorly.
Beniamin
Re: Two phase commit - JPA + JMS
Posted by Matt Hogstrom <ma...@hogstrom.org>.
On Sep 5, 2007, at 7:41 AM, Tomasz Mazan wrote:
>
> <connectiondefinition-instance>
> <name>MyPool</name>
> <config-property-setting
> name="Password"></config-property-setting>
> <config-property-setting
> name="UserName"></config-property-setting>
> <config-property-setting
> name="PortNumber"></config-property-setting>
> <config-property-setting
> name="DatabaseName"></config-property-setting>
> <config-property-setting
> name="ServerName"></config-property-setting>
> <config-property-setting
> name="LoginTimeout"></config-property-setting>
> <connectionmanager>
>
> When I try to deploy application, I get exception:
> 13:16:12,406 ERROR [GBeanInstanceState] Error while starting; GBean
> is now in the FAILED state: abstractName="myapp/MyApp/0.1/ear?
> J2EEApplication=myapp/MyApp/0.1/
> ear,JCAConnectionFactory=MyXAPool,JCAResource=MyPool,ResourceAdapter=M
> yPoo
> l,ResourceAdapterModule=FonBsaCorePool,j2eeType=JCAManagedConnectionFa
> ctory,name=MyXAPool"
> java.lang.ClassNotFoundException:
> org.tranql.connector.postgresql.EmbeddedXAMCF in classloader myapp/
> MyApp/0.1/ear
> at
> org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimized
> Class(MultiParentClassLoader.java:428)
> at
> org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass
> (MultiParentClassLoader.java:278)
> What I've done wrong, or where is cause of this exception. I didn't
> find EmbededXAMCF class in jar/rar archives
>
> Tomasz Mazan vel. Beniamin
Tomasz,
I corrected the problem. I had refactored the class and forgot to
update the RAR. I've updated and published new SNAPSHOTS. Please
grab a new update of the XA rar.
Also, set the user / password, server, etc for your postgres
environment.
Re: Two phase commit - JPA + JMS
Posted by Tomasz Mazan <wi...@wp.pl>.
Matt Hogstrom pisze:
> Tomasz,
>
> Here is a sample derived from DayTrader where we setup XA and non-XA
> datasources. I created new RA's for PostgreSQL, but haven't tested
> them, that should work but hopefully you can tell me if there are issues.
>
> You'll need this jar for PostgreSQL 8.2
> http://jdbc.postgresql.org/download/postgresql-8.2-506.jdbc3.jar and
> need to place it in the Geronimo repo and place a dependency element
> in your plan.
>
> You'll also need the rars which you can find at:
>
> http://snapshots.repository.codehaus.org/org/tranql/tranql-connector-postgresql-xa/8.2-SNAPSHOT/tranql-connector-postgresql-xa-8.2-20070905.015528-1.rar
> http://snapshots.repository.codehaus.org/org/tranql/tranql-connector-postgresql-local/8.2-SNAPSHOT/tranql-connector-postgresql-local-8.2-20070905.015528-1.rar
>
> rename these to 8.2-SNAPSHOT and place them in the Geronimo repo.
>
> <ext-module>
> <connector>*YourDataSource*</connector>
> <external-path
> xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2">
> <dep:groupId>org.tranql</dep:groupId>
>
> <dep:artifactId>*tranql-connector-postgresql-xa*</dep:artifactId>
> <dep:version>*8-2.SNAPSHOT*</dep:version>
> <dep:type>rar</dep:type>
> </external-path>
> <connector
> xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2">
> <resourceadapter>
> <outbound-resourceadapter>
> <connection-definition>
>
> <connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
> <connectiondefinition-instance>
> <name>*jdbc/YourXADataSource*</name>
> <config-property-setting
> name="DatabaseName">YourDatabaseName</config-property-setting>
> <config-property-setting
> name="Description"></config-property-setting>
> <config-property-setting
> name="UserName"></config-property-setting>
> <config-property-setting
> name="Password"></config-property-setting>
> <config-property-setting
> name="PortNumber"></config-property-setting>
> <config-property-setting
> name="ServerName"></config-property-setting>
> <config-property-setting
> name="LoginTimeout"></config-property-setting>
> <connectionmanager>
> <xa-transaction>
> <transaction-caching/>
> </xa-transaction>
> <single-pool>
> <max-size>100</max-size>
> <min-size>0</min-size>
>
> <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
>
> <idle-timeout-minutes>30</idle-timeout-minutes>
> <match-one/>
> </single-pool>
> </connectionmanager>
> </connectiondefinition-instance>
> <connectiondefinition-instance>
> <name>*j**dbc/NoTxYourDataSource*</name>
> <config-property-setting
> name="DatabaseName">YourDatabaseName</config-property-setting>
> <config-property-setting
> name="Description"></config-property-setting>
> <config-property-setting
> name="UserName"></config-property-setting>
> <config-property-setting
> name="Password"></config-property-setting>
> <config-property-setting
> name="PortNumber"></config-property-setting>
> <config-property-setting
> name="ServerName"></config-property-setting>
> <config-property-setting
> name="LoginTimeout"></config-property-setting>
> <connectionmanager>
> <no-transaction/>
> <single-pool>
> <max-size>10</max-size>
> <min-size>0</min-size>
>
> <blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
>
> <idle-timeout-minutes>30</idle-timeout-minutes>
> <match-one/>
> </single-pool>
> </connectionmanager>
> </connectiondefinition-instance>
> </connection-definition>
> </outbound-resourceadapter>
> </resourceadapter>
> </connector>
> </ext-module>
>
I put this code to my geronimo-application.xml which looks like:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-2.0">
<environment xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2">
<moduleId>
<groupId>myapp</groupId>
<artifactId>MyApp</artifactId>
<version>0.1</version>
<type>ear</type>
</moduleId>
</environment>
<ext-module>
<connector>MyPool</connector>
<external-path
xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2">
<dep:groupId>org.tranql</dep:groupId>
<dep:artifactId>tranql-connector-postgresql-xa</dep:artifactId>
<dep:version>8.2-SNAPSHOT</dep:version>
<dep:type>rar</dep:type>
</external-path>
<connector
xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2">
<environment
xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2">
<dependencies>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql-8.2</artifactId>
<version>506.jdbc3</version>
<type>jar</type>
</dependency>
</dependencies>
</environment>
<resourceadapter>
<outbound-resourceadapter>
<connection-definition>
<connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
<connectiondefinition-instance>
<name>MyXAPool</name>
<config-property-setting
name="Password"></config-property-setting>
<config-property-setting
name="UserName"></config-property-setting>
<config-property-setting
name="PortNumber"></config-property-setting>
<config-property-setting
name="DatabaseName"></config-property-setting>
<config-property-setting
name="ServerName"></config-property-setting>
<config-property-setting
name="LoginTimeout"></config-property-setting>
<connectionmanager>
<xa-transaction>
<transaction-caching/>
</xa-transaction>
<single-pool>
<max-size>100</max-size>
<min-size>0</min-size>
<blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
<idle-timeout-minutes>30</idle-timeout-minutes>
<match-one />
</single-pool>
</connectionmanager>
</connectiondefinition-instance>
<connectiondefinition-instance>
<name>MyPool</name>
<config-property-setting
name="Password"></config-property-setting>
<config-property-setting
name="UserName"></config-property-setting>
<config-property-setting
name="PortNumber"></config-property-setting>
<config-property-setting
name="DatabaseName"></config-property-setting>
<config-property-setting
name="ServerName"></config-property-setting>
<config-property-setting
name="LoginTimeout"></config-property-setting>
<connectionmanager>
<no-transaction/>
<single-pool>
<max-size>10</max-size>
<min-size>0</min-size>
<blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
<idle-timeout-minutes>30</idle-timeout-minutes>
<match-one/>
</single-pool>
</connectionmanager>
</connectiondefinition-instance>
</connection-definition>
</outbound-resourceadapter>
</resourceadapter>
</connector>
</ext-module>
</application>
and persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
<persistence-unit name="MyAppDB" transaction-type="JTA">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<jta-data-source>MyXAPool</jta-data-source>
<non-jta-data-source>MyPool</non-jta-data-source>
<class>myapp.Customer</class>
<properties>
<property name="openjpa.Sequence"
value="class-table(Table=_SEQ_GENERATOR, UseAliases=true)"/>
<property name="openjpa.jdbc.SynchronizeMappings"
value="buildSchema(ForeignKeys=true)" />
<property name="openjpa.jdbc.DBDictionary" value="postgres"/>
<property name="openjpa.Multithreaded" value="true" />
<property name="openjpa.TransactionMode" value="managed" />
<property name="openjpa.NontransactionalRead" value="true" />
<property name="openjpa.RestoreState" value="all" />
<property name="openjpa.Optimistic" value="false"/>
</properties>
</persistence-unit>
</persistence>
and no use separated deployment plan.
When I try to deploy application, I get exception:
13:16:12,406 ERROR [GBeanInstanceState] Error while starting; GBean is
now in the FAILED state: abstractName="myapp/MyApp/0.1/ear?
J2EEApplication=myapp/MyApp/0.1/ear,JCAConnectionFactory=MyXAPool,JCAResource=MyPool,ResourceAdapter=MyPoo
l,ResourceAdapterModule=FonBsaCorePool,j2eeType=JCAManagedConnectionFactory,name=MyXAPool"
java.lang.ClassNotFoundException:
org.tranql.connector.postgresql.EmbeddedXAMCF in classloader
myapp/MyApp/0.1/ear
at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimizedClass(MultiParentClassLoader.java:428)
at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:278)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at
org.apache.geronimo.connector.outbound.ManagedConnectionFactoryWrapper.<init>(ManagedConnectionFactoryWrapper.java:114)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:946)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:539)
at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:553)
at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:448)
at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:530)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:511)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:865)
at
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
at
org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:342)
at
org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:865)
at
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
at
org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:168)
at
com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
at
com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408)
at
javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1348)
at
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782)
at sun.reflect.GeneratedMethodAccessor287.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
2007-09-05 13:16:18 org.apache.cxf.bus.spring.BusApplicationContext
getConfigResources
INFO: Could not find the configuration file cxf.xml on the classpath.
2007-09-05 13:16:24
org.apache.cxf.service.factory.ReflectionServiceFactoryBean
buildServiceFromClass
INFO: Creating Service {http://jws.services.myapp/}MyApp from class
myapp.services.jws.MyAppService
13:16:27,203 ERROR [[/MyApp/MyAppService]] "Restricted listeners
property file not found
13:16:27,296 ERROR [GBeanInstanceState] Error while starting; GBean is
now in the FAILED state: abstractName="myapp/MyApp/0.1/ear?
J2EEApplication=myapp/MyApp/0.1/ear,JCAConnectionFactory=MyXAPool,JCAResource=MyPool,ResourceAdapter=MyPoo
l,ResourceAdapterModule=MyPool,j2eeType=JCAManagedConnectionFactory,name=MyXAPool"
java.lang.ClassNotFoundException:
org.tranql.connector.postgresql.EmbeddedXAMCF in classloader
myapp/MyApp/0.1/ear
at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimizedClass(MultiParentClassLoader.java:428)
at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:278)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at
org.apache.geronimo.connector.outbound.ManagedConnectionFactoryWrapper.<init>(ManagedConnectionFactoryWrapper.java:114)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:946)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:553)
at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:448)
at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:530)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:511)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:865)
at
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
at
org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:342)
at
org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:865)
at
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
at
org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:168)
at
com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
at
com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408)
at
javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1348)
at
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782)
at sun.reflect.GeneratedMethodAccessor287.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
13:16:28,015 ERROR [GBeanInstanceState] Error while starting; GBean is
now in the FAILED state: abstractName="myapp/MyApp/0.1/ear?
J2EEApplication=myapp/MyApp/0.1/ear,JCAConnectionFactory=MyPool,JCAResource=MyPool,ResourceAdapter=MyPool,
ResourceAdapterModule=MyPool,j2eeType=JCAManagedConnectionFactory,name=MyPool"
java.lang.ClassNotFoundException:
org.tranql.connector.postgresql.EmbeddedXAMCF in classloader
myapp/MyApp/0.1/ear
at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimizedClass(MultiParentClassLoader.java:428)
at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:278)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at
org.apache.geronimo.connector.outbound.ManagedConnectionFactoryWrapper.<init>(ManagedConnectionFactoryWrapper.java:114)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:946)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:539)
at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:553)
at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:448)
at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:530)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:511)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:865)
at
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
at
org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:342)
at
org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:865)
at
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
at
org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:168)
at
com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
at
com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408)
at
javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1348)
at
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782)
at sun.reflect.GeneratedMethodAccessor287.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
What I've done wrong, or where is cause of this exception. I didn't find
EmbededXAMCF class in jar/rar archives
Tomasz Mazan vel. Beniamin
Re: Two phase commit - JPA + JMS
Posted by Matt Hogstrom <ma...@hogstrom.org>.
Great news !!!
So the updated RARs work correctly ? (or at least the XA one)
Let us know if you have other issues and good luck.
On Sep 5, 2007, at 8:44 AM, Tomasz Mazan wrote:
> I've moved resourceadapter configuration to independent deployment
> plan and deploy DatabasePools - successfully.
> persistence.xml
>
> <?xml version="1.0" encoding="UTF-8"?>
> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
> version="1.0">
> <persistence-unit name="MyDB" transaction-type="JTA">
>
> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</
> provider>
> <jta-data-source>MyXAPool</jta-data-source>
> <non-jta-data-source>MyPool</non-jta-data-source>
> <class>myapp.Customer</class>
> <properties>
> <property name="openjpa.Sequence" value="class-table
> (Table=_SEQ_GENERATOR, UseAliases=true)"/>
> <property name="openjpa.jdbc.SynchronizeMappings"
> value="buildSchema(ForeignKeys=true)" />
> <property name="openjpa.jdbc.DBDictionary"
> value="postgres"/>
> <property name="openjpa.Multithreaded" value="true" />
> <property name="openjpa.TransactionMode" value="managed" />
> <property name="openjpa.NontransactionalRead"
> value="true" />
> <property name="openjpa.RestoreState" value="all" /
> > <property name="openjpa.Optimistic"
> value="false"/> </properties>
> </persistence-unit>
> </persistence>
>
> And my application works :))
> Thanks for your help
>
> Beniamin
>
Re: Two phase commit - JPA + JMS
Posted by Tomasz Mazan <wi...@wp.pl>.
I've moved resourceadapter configuration to independent deployment plan
and deploy DatabasePools - successfully.
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
<persistence-unit name="MyDB" transaction-type="JTA">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<jta-data-source>MyXAPool</jta-data-source>
<non-jta-data-source>MyPool</non-jta-data-source>
<class>myapp.Customer</class>
<properties>
<property name="openjpa.Sequence"
value="class-table(Table=_SEQ_GENERATOR, UseAliases=true)"/>
<property name="openjpa.jdbc.SynchronizeMappings"
value="buildSchema(ForeignKeys=true)" />
<property name="openjpa.jdbc.DBDictionary" value="postgres"/>
<property name="openjpa.Multithreaded" value="true" />
<property name="openjpa.TransactionMode" value="managed" />
<property name="openjpa.NontransactionalRead" value="true" />
<property name="openjpa.RestoreState" value="all" />
<property name="openjpa.Optimistic" value="false"/>
</properties>
</persistence-unit>
</persistence>
And my application works :))
Thanks for your help
Beniamin
Re: Two phase commit - JPA + JMS
Posted by Matt Hogstrom <ma...@hogstrom.org>.
Tomasz,
Here is a sample derived from DayTrader where we setup XA and non-XA
datasources. I created new RA's for PostgreSQL, but haven't tested
them, that should work but hopefully you can tell me if there are
issues.
You'll need this jar for PostgreSQL 8.2 http://jdbc.postgresql.org/
download/postgresql-8.2-506.jdbc3.jar and need to place it in the
Geronimo repo and place a dependency element in your plan.
You'll also need the rars which you can find at:
http://snapshots.repository.codehaus.org/org/tranql/tranql-connector-
postgresql-xa/8.2-SNAPSHOT/tranql-connector-postgresql-
xa-8.2-20070905.015528-1.rar
http://snapshots.repository.codehaus.org/org/tranql/tranql-connector-
postgresql-local/8.2-SNAPSHOT/tranql-connector-postgresql-
local-8.2-20070905.015528-1.rar
rename these to 8.2-SNAPSHOT and place them in the Geronimo repo.
<ext-module>
<connector>YourDataSource</connector>
<external-path xmlns:dep="http://geronimo.apache.org/xml/ns/
deployment-1.2">
<dep:groupId>org.tranql</dep:groupId>
<dep:artifactId>tranql-connector-postgresql-xa</
dep:artifactId>
<dep:version>8-2.SNAPSHOT</dep:version>
<dep:type>rar</dep:type>
</external-path>
<connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/
connector-1.2">
<resourceadapter>
<outbound-resourceadapter>
<connection-definition>
<connectionfactory-
interface>javax.sql.DataSource</connectionfactory-interface>
<connectiondefinition-instance>
<name>jdbc/YourXADataSource</name>
<config-property-setting
name="DatabaseName">YourDatabaseName</config-property-setting>
<config-property-setting
name="Description"></config-property-setting>
<config-property-setting
name="UserName"></config-property-setting>
<config-property-setting
name="Password"></config-property-setting>
<config-property-setting
name="PortNumber"></config-property-setting>
<config-property-setting
name="ServerName"></config-property-setting>
<config-property-setting
name="LoginTimeout"></config-property-setting>
<connectionmanager>
<xa-transaction>
<transaction-caching/>
</xa-transaction>
<single-pool>
<max-size>100</max-size>
<min-size>0</min-size>
<blocking-timeout-
milliseconds>5000</blocking-timeout-milliseconds>
<idle-timeout-minutes>30</idle-
timeout-minutes>
<match-one/>
</single-pool>
</connectionmanager>
</connectiondefinition-instance>
<connectiondefinition-instance>
<name>jdbc/NoTxYourDataSource</name>
<config-property-setting
name="DatabaseName">YourDatabaseName</config-property-setting>
<config-property-setting
name="Description"></config-property-setting>
<config-property-setting
name="UserName"></config-property-setting>
<config-property-setting
name="Password"></config-property-setting>
<config-property-setting
name="PortNumber"></config-property-setting>
<config-property-setting
name="ServerName"></config-property-setting>
<config-property-setting
name="LoginTimeout"></config-property-setting>
<connectionmanager>
<no-transaction/>
<single-pool>
<max-size>10</max-size>
<min-size>0</min-size>
<blocking-timeout-
milliseconds>5000</blocking-timeout-milliseconds>
<idle-timeout-minutes>30</idle-
timeout-minutes>
<match-one/>
</single-pool>
</connectionmanager>
</connectiondefinition-instance>
</connection-definition>
</outbound-resourceadapter>
</resourceadapter>
</connector>
</ext-module>
On Sep 3, 2007, at 6:55 PM, Tomasz Mazan wrote:
>
>> Basically yes. Geronimo won't prevent you from using non-xa
>> datasources and jms connection factories in JTA transactions, but
>> if anything goes wrong your data may be left in an inconsistent
>> state.
>>
>> If you find that xa is too slow there may be ways of using non-xa
>> jms connection factories as long as the messages are idempotent,
>> that is sending the same message multiple times has the same
>> effect as sending it once. I'm not an expert on this but I think
>> there's periodic discussion on the activemq lists. I would start
>> with xa everywhere and see if there are problems.
>>
>> thanks
>> david jencks
>
> David, I currently try to configure deployment plan to create
> XADataSource for my application.
> Could you tell me how looks Geronimo-Postgresql deployment plan for
> XA ?
>
> TIA
> Tomasz Mazan
>