That looks right to me, if the transaction failed, there is no commit called on 
the DB record, effectively a "roll-back"?
On Apr 12, 2011, at 10:13 AM, Charles Moulliard wrote:

> This is my feeling too.
> 
> In the hsqldb.log, I do not see any commit
> 
> SET AUTOCOMMIT TRUE
> /*C3*/INSERT INTO T_INCIDENT VALUES(1,'2011-04-12
> 18:08:10.000000000','file','this is a report incident for
> camel-001','[email protected]','Ibsen','Claus','2011-01-22
> 00:03:00.000000000','001','+111 10 20 300','incident camel-001')
> /*C9*/DISCONNECT
> /*C3*/INSERT INTO T_INCIDENT VALUES(2,'2011-04-12
> 18:09:57.000000000','file','this is a report incident for
> camel-001','[email protected]','Ibsen','Claus','2011-01-22
> 00:03:00.000000000','001','+111 10 20 300','incident camel-001')
> 
> 
> and tracing of openjpa is difficult to interpret
> 
> 7125  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData - Preparing mapping for
> "com.fusesource.webinars.persistence.model.Incident".
> 7126  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData - Processing registered persistence-capable class
> "class com.fusesource.webinars.persistence.model.Incident".
> 7126  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.incidentId".
> 7127  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    "incidentId" has mapping strategy
> "org.apache.openjpa.jdbc.meta.strats.PrimitiveFieldStrategy".
> 7127  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.creationDate".
> 7128  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    "creationDate" has mapping strategy
> "org.apache.openjpa.jdbc.meta.strats.HandlerFieldStrategy".
> 7128  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.creationUser".
> 7129  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    "creationUser" has mapping strategy
> "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
> 7129  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.details".
> 7130  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    "details" has mapping strategy
> "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
> 7130  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.email".
> 7130  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    "email" has mapping strategy
> "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
> 7131  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.familyName".
> 7131  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    "familyName" has mapping strategy
> "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
> 7132  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.givenName".
> 7132  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    "givenName" has mapping strategy
> "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
> 7132  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.incidentDate".
> 7133  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    "incidentDate" has mapping strategy
> "org.apache.openjpa.jdbc.meta.strats.HandlerFieldStrategy".
> 7133  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.incidentRef".
> 7134  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    "incidentRef" has mapping strategy
> "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
> 7134  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.phone".
> 7135  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    "phone" has mapping strategy
> "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
> 7135  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.summary".
> 7135  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    "summary" has mapping strategy
> "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
> 7136  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -
> "com.fusesource.webinars.persistence.model.Incident<discriminator>"
> has mapping strategy "none".
> 7136  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -
> "com.fusesource.webinars.persistence.model.Incident<version>" has
> mapping strategy "none".
> 7136  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData - Resolving mapping for
> "com.fusesource.webinars.persistence.model.Incident@1310743528".
> 7137  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -
> "com.fusesource.webinars.persistence.model.Incident" has mapping
> strategy "full".
> 7137  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData - Initializing mapping for
> "com.fusesource.webinars.persistence.model.Incident@1310743528".
> 7137  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.creationDate".
> 7138  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.creationUser".
> 7138  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.details".
> 7138  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.email".
> 7139  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.familyName".
> 7139  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.givenName".
> 7139  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.incidentDate".
> 7140  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.incidentId".
> 7140  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.incidentRef".
> 7140  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.phone".
> 7141  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.MetaData -    Resolving field
> "com.fusesource.webinars.persistence.model.Incident@1310743528.summary".
> 7145  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.jdbc.JDBC - <t 372693120, conn 21370232> [0 ms] commit
> 7146  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.jdbc.JDBC - <t 372693120, conn 0> [0 ms] close
> 7157  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.jdbc.JDBC - <t 372693120, conn 0> [0 ms] close
> 7166  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.jdbc.JDBC - <t 372693120, conn 21370232> [0 ms] commit
> 7167  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.jdbc.JDBC - <t 372693120, conn 0> [0 ms] close
> 7168  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.jdbc.SQLDiag - flush: org.apache.openjpa.kernel.PNewState for
> oid=1
> 7171  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.jdbc.JDBC - The batch limit is set to 0.
> 7186  reportincident  TRACE  [DefaultMessageListenerContainer-1]
> openjpa.jdbc.JDBC - <t 372693120, conn 1674444914> [1 ms] close
> 
> 
> 
> On Tue, Apr 12, 2011 at 5:46 PM, Johan Edstrom <[email protected]> wrote:
>> No, but that looks like you close the connection before the rollback?
>> If you turn on TRACING in openjpa as well as looking at the hsqldb.log
>> it should show you where it is going wonky...
>> 
>> I also use </transacted> in my camel routes but primarily have my daos used 
>> in
>> processors, i.e they will not even be used if something fails.
>> 
>> /je
>> 
>> On Apr 12, 2011, at 9:40 AM, Charles Moulliard wrote:
>> 
>>> Many thank Johan.
>>> 
>>> Does the rollback works for you ? This is not the case for me.
>>> 
>>> In a camel transactional route using the Aries JTA Tx Manager, the
>>> message is well moved by ActiveMq to the DLQ but the record is not
>>> rollbacked from the DB and inserted.
>>> 
>>> I see this message in the log :
>>> 
>>> 17:33:18,181 | ERROR | tenerContainer-1 | xapool
>>>    | 246 - wrap_mvn_com.experlog_xapool_1.5.0 - 0 |
>>> StandardXAPoolDataSource:connectionClosed Exception in
>>> connectionClosed:java.lang.IllegalStateException: Status is
>>> STATUS_ROLLEDBACK
>>> 
>>> Have you also seen this message ?
>>> 
>>> Regards,
>>> 
>>> Charles
>>> 
>>> On Tue, Apr 12, 2011 at 4:24 PM, Johan Edstrom <[email protected]> wrote:
>>>> Charles, it does look right.
>>>> 
>>>> Attaching 2 config files I know work.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> And the BP bundle that imports it for persistence.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> Also is the bundle marked with
>>>> 
>>>> Meta-Persistence: META-INF/persistence.xml
>>>> 
>>>> In the manifest?
>>>> 
>>>> 
>>>> On Apr 12, 2011, at 8:20 AM, Charles Moulliard wrote:
>>>> 
>>>>> Here is the config Johan
>>>>> 
>>>>> ersistence config
>>>>> **********************
>>>>>   <persistence-unit name="reportincident" transaction-type="JTA">
>>>>> 
>>>>>       
>>>>> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
>>>>> 
>>>>>       
>>>>> <jta-data-source>osgi:service/javax.sql.XADataSource/(transactional=true)</jta-data-source>
>>>>> 
>>>>>       <!-- Required by openJPA to update sequence table outside of
>>>>> Global Tx Management -->
>>>>>       
>>>>> <non-jta-data-source>osgi:service/javax.sql.DataSource/(transactional=false)</non-jta-data-source>
>>>>> 
>>>>>       <class>com.fusesource.webinars.persistence.model.Incident</class>
>>>>> 
>>>>>       <exclude-unlisted-classes>true</exclude-unlisted-classes>
>>>>> 
>>>>>       <!-- openjpa & HSQLDB -->
>>>>>       <properties>
>>>>>           <property name="openjpa.jdbc.SynchronizeMappings"
>>>>> 
>>>>> value="buildSchema(SchemaAction='add,deleteTableContents')"/>
>>>>>           <property name="openjpa.Log"
>>>>>                     value="commons"/>
>>>>>           <property name="openjpa.jdbc.DBDictionary"
>>>>>                     value="hsql(useSchemaName=true)"/>
>>>>>           <property name="openjpa.jdbc.Schema"
>>>>>                     value="PUBLIC"/>
>>>>>           <property name="openjpa.TransactionMode"
>>>>>                     value="managed"/>
>>>>>           <property name="openjpa.ManagedRuntime"
>>>>> 
>>>>> value="jndi(TransactionManagerName=aries:services/javax.transaction.TransactionManager)"/>
>>>>>           <property name="openjpa.Multithreaded"
>>>>>                     value="true"/>
>>>>>           <property name="openjpa.TransactionMode"
>>>>>                     value="managed"/>
>>>>>           <property name="openjpa.ConnectionFactoryMode"
>>>>>                     value="managed"/>
>>>>>       </properties>
>>>>> 
>>>>>       </persistence-unit>
>>>>> </persistence>
>>>>> 
>>>>> On Tue, Apr 12, 2011 at 4:08 PM, Johan Edstrom <[email protected]> wrote:
>>>>>> What does your persistence look like?
>>>>>> You'll need something like
>>>>>> 
>>>>>> <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_2_0.xsd";
>>>>>>             version="2.0">
>>>>>> 
>>>>>>  <persistence-unit name="mymagical-jpa-unit" transaction-type="JTA">
>>>>>>    
>>>>>> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
>>>>>>    <jta-data-source>blueprint:comp/jta</jta-data-source>
>>>>>>    
>>>>>> <non-jta-data-source>osgi:service/javax.sql.DataSource/(transactional=false)</non-jta-data-source>
>>>>>>        <!-- Entity classes here -->
>>>>>> 
>>>>>>    <exclude-unlisted-classes>true</exclude-unlisted-classes>
>>>>>>    <validation-mode>NONE</validation-mode>
>>>>>> 
>>>>>>    <properties>
>>>>>>      <property name="openjpa.Multithreaded" value="true"/>
>>>>>>      <property name="openjpa.TransactionMode" value="managed"/>
>>>>>>      <property name="openjpa.ConnectionFactoryMode" value="managed"/>
>>>>>>      <property name="openjpa.jdbc.MappingDefaults" 
>>>>>> value="ForeignKeyDeleteAction=restrict, 
>>>>>> JoinForeignKeyDeleteAction=restrict"/>
>>>>>>      <property name="openjpa.LockManager" 
>>>>>> value="pessimistic(VersionCheckOnReadLock=true,VersionUpdateOnWriteLock=true)"/>
>>>>>>      <property name="openjpa.Log" value="DefaultLevel=INFO, 
>>>>>> Runtime=INFO, Tool=INFO, SQL=INFO"/>
>>>>>>    </properties>
>>>>>>  </persistence-unit>
>>>>>> 
>>>>>> </persistence>
>>>>>> On Apr 12, 2011, at 7:43 AM, Guillaume Nodet wrote:
>>>>>> 
>>>>>>> Looking at the stack trace, the problem seems to be in the JPA
>>>>>>> definition, as it does not hit the datasource.
>>>>>>> Can you list the services exported by the datasource bundle ?
>>>>>>> Also, do you have aries jndi installed ? As your config uses it to
>>>>>>> lookup the osgi service.
>>>>>>> 
>>>>>>> On Tue, Apr 12, 2011 at 14:47, Charles Moulliard <[email protected]> 
>>>>>>> wrote:
>>>>>>>> Here is the complete blueprint file to expose the datasource
>>>>>>>> 
>>>>>>>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
>>>>>>>>           
>>>>>>>> xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0";>
>>>>>>>> 
>>>>>>>>    <cm:property-placeholder persistent-id="database" id="database">
>>>>>>>>        <cm:default-properties>
>>>>>>>> 
>>>>>>>>            <!-- JDBC Drivers -->
>>>>>>>>            <cm:property name="jdbc.driverClassName"
>>>>>>>> value="org.hsqldb.jdbcDriver"/>
>>>>>>>>            <cm:property name="jdbc.url"
>>>>>>>> value="jdbc:hsqldb:hsql://localhost/reportdb"/>
>>>>>>>>            <cm:property name="jdbc.username" value="sa"/>
>>>>>>>>            <cm:property name="jdbc.password" value=""/>
>>>>>>>> 
>>>>>>>>            <!-- Connection Pooling DBCP -->
>>>>>>>>            <cm:property name="jdbc.initialSize" value="5"/>
>>>>>>>>            <cm:property name="jdbc.maxActive" value="10"/>
>>>>>>>>            <cm:property name="jdbc.maxIdle" value="10"/>
>>>>>>>>            <cm:property name="jdbc.defaultAutoCommit" value="false"/>
>>>>>>>>            <cm:property name="jdbc.removeAbandoned" value="false"/>
>>>>>>>>            <cm:property name="jdbc.removeAbandonedTimeout" 
>>>>>>>> value="300"/>
>>>>>>>>            <cm:property name="jdbc.logAbandoned" value="false"/>
>>>>>>>> 
>>>>>>>>        </cm:default-properties>
>>>>>>>>    </cm:property-placeholder>
>>>>>>>> 
>>>>>>>>    <service auto-export="interfaces" ref="jta">
>>>>>>>>        <service-properties>
>>>>>>>>            <entry key="transactional" value="true"/>
>>>>>>>>        </service-properties>
>>>>>>>>    </service>
>>>>>>>> 
>>>>>>>>    <service auto-export="interfaces" ref="nonJTA">
>>>>>>>>        <service-properties>
>>>>>>>>            <entry key="transactional" value="false"/>
>>>>>>>>        </service-properties>
>>>>>>>>    </service>
>>>>>>>> 
>>>>>>>>    <!-- ###### JDBC Data Source ###### -->
>>>>>>>>    <bean id="jta" 
>>>>>>>> class="org.enhydra.jdbc.standard.StandardXADataSource">
>>>>>>>>        <property name="driverName" value="${jdbc.driverClassName}"/>
>>>>>>>>        <property name="url" value="${jdbc.url}"/>
>>>>>>>>        <property name="user" value="${jdbc.username}"/>
>>>>>>>>        <property name="password" value="${jdbc.password}"/>
>>>>>>>>    </bean>
>>>>>>>> 
>>>>>>>>    <bean class="org.apache.commons.dbcp.BasicDataSource" id="nonJTA">
>>>>>>>>        <property name="driverClassName" 
>>>>>>>> value="${jdbc.driverClassName}"/>
>>>>>>>>        <property name="url" value="${jdbc.url}"/>
>>>>>>>>        <property name="username" value="${jdbc.username}"/>
>>>>>>>>        <property name="password" value="${jdbc.password}"/>
>>>>>>>>        <property name="initialSize" value="${jdbc.initialSize}"/>
>>>>>>>>        <property name="maxActive" value="${jdbc.maxActive}"/>
>>>>>>>>        <property name="maxIdle" value="${jdbc.maxIdle}"/>
>>>>>>>>        <property name="defaultAutoCommit" value="false"/>
>>>>>>>>        <property name="removeAbandoned" 
>>>>>>>> value="${jdbc.removeAbandoned}"/>
>>>>>>>>        <property name="removeAbandonedTimeout"
>>>>>>>> value="${jdbc.removeAbandonedTimeout}"/>
>>>>>>>>        <property name="logAbandoned" value="${jdbc.logAbandoned}"/>
>>>>>>>>    </bean>
>>>>>>>> 
>>>>>>>> </blueprint>
>>>>>>>> 
>>>>>>>> Regards,
>>>>>>>> 
>>>>>>>> Charles
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Tue, Apr 12, 2011 at 2:37 PM, Ioannis Canellos <[email protected]> 
>>>>>>>> wrote:
>>>>>>>>> Halo Charles,
>>>>>>>>> 
>>>>>>>>> I think that you didn't paste the actual data source.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Tue, Apr 12, 2011 at 3:20 PM, Charles Moulliard 
>>>>>>>>> <[email protected]>wrote:
>>>>>>>>> 
>>>>>>>>>> Hi,
>>>>>>>>>> 
>>>>>>>>>> I have configured OpenJPA to use a JTA/XA Datasource on ServiceMix 
>>>>>>>>>> but
>>>>>>>>>> when I try to insert data in the DB, openJPA generates the following
>>>>>>>>>> error :
>>>>>>>>>> 
>>>>>>>>>> Caused by: java.lang.RuntimeException: There were errors initializing
>>>>>>>>>> your configuration: <openjpa-2.1.0-r422266:1071316 fatal user error>
>>>>>>>>>> org.apache.openjpa.util.UserException: A JDBC Driver or DataSource
>>>>>>>>>> class name must be specified in the ConnectionDriverName property.
>>>>>>>>>>        at
>>>>>>>>>> org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:76)
>>>>>>>>>>        at
>>>>>>>>>> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:844)
>>>>>>>>>>        at
>>>>>>>>>> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getConnectionFactory(JDBCConfigurationImpl.java:732)
>>>>>>>>>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>>>        at
>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>>>>>        at
>>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>>>>>        at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>>>        at
>>>>>>>>>> org.apache.openjpa.lib.conf.ConfigurationImpl.instantiateAll(ConfigurationImpl.java:295)
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> The property
>>>>>>>>>> <jta-data-source>osgi:service/javax.sql.DataSource/(transactional=true)</jta-datasource>
>>>>>>>>>>  in the persistence.xml file point to the XADataSource exposed as an
>>>>>>>>>> osgi service
>>>>>>>>>> 
>>>>>>>>>> Persistence
>>>>>>>>>> **************
>>>>>>>>>> <persistence-unit name="reportincident" transaction-type="JTA">
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>  
>>>>>>>>>> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>  
>>>>>>>>>> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>  
>>>>>>>>>> <jta-data-source>osgi:service/javax.sql.DataSource/(transactional=true)</jta-data-source>
>>>>>>>>>>        <!-- Required by openJPA to update sequence table outside of
>>>>>>>>>> Global Tx Management -->
>>>>>>>>>> 
>>>>>>>>>>  
>>>>>>>>>> <non-jta-data-source>osgi:service/javax.sql.DataSource/(transactional=false)</non-jta-data-source>
>>>>>>>>>> 
>>>>>>>>>>        <class>com.mycompany.persistence.model.Incident</class>
>>>>>>>>>> 
>>>>>>>>>>        <exclude-unlisted-classes>true</exclude-unlisted-classes>
>>>>>>>>>> 
>>>>>>>>>>        <!-- openjpa & HSQLDB -->
>>>>>>>>>>        <properties>
>>>>>>>>>>            <property name="openjpa.jdbc.SynchronizeMappings"
>>>>>>>>>> 
>>>>>>>>>> value="buildSchema(SchemaAction='add,deleteTableContents')"/>
>>>>>>>>>>            <property name="openjpa.Log"
>>>>>>>>>>                      value="commons"/>
>>>>>>>>>>            <property name="openjpa.jdbc.DBDictionary"
>>>>>>>>>>                      value="hsql(useSchemaName=true)"/>
>>>>>>>>>>            <property name="openjpa.jdbc.Schema"
>>>>>>>>>>                      value="PUBLIC"/>
>>>>>>>>>>            <property name="openjpa.TransactionMode"
>>>>>>>>>>                      value="managed"/>
>>>>>>>>>>            <property name="openjpa.ManagedRuntime"
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> value="jndi(TransactionManagerName=aries:services/javax.transaction.TransactionManager)"/>
>>>>>>>>>>            <property name="openjpa.Multithreaded"
>>>>>>>>>>                      value="true"/>
>>>>>>>>>>            <property name="openjpa.TransactionMode"
>>>>>>>>>>                      value="managed"/>
>>>>>>>>>>            <!--<property name="openjpa.ConnectionFactoryMode"
>>>>>>>>>>                      value="managed"/>-->
>>>>>>>>>>        </properties>
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Blueprint config of the DataSource
>>>>>>>>>> ****************************************
>>>>>>>>>>    <service auto-export="interfaces" ref="jta">
>>>>>>>>>>        <service-properties>
>>>>>>>>>>            <entry key="transactional" value="true"/>
>>>>>>>>>>        </service-properties>
>>>>>>>>>>    </service>
>>>>>>>>>> 
>>>>>>>>>>    <service auto-export="interfaces" ref="jta">
>>>>>>>>>>        <service-properties>
>>>>>>>>>>            <entry key="transactional" value="true"/>
>>>>>>>>>>        </service-properties>
>>>>>>>>>>    </service>
>>>>>>>>>> 
>>>>>>>>>> Any idea is welcome.
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Regards,
>>>>>>>>>> 
>>>>>>>>>> Charles Moulliard
>>>>>>>>>> 
>>>>>>>>>> Sr. Principal Solution Architect - FuseSource
>>>>>>>>>> Apache Committer
>>>>>>>>>> 
>>>>>>>>>> Blog : http://cmoulliard.blogspot.com
>>>>>>>>>> Twitter : http://twitter.com/cmoulliard
>>>>>>>>>> Linkedin : http://www.linkedin.com/in/charlesmoulliard
>>>>>>>>>> Skype: cmoulliard
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> *Ioannis Canellos*
>>>>>>>>> *
>>>>>>>>>  http://iocanel.blogspot.com
>>>>>>>>> 
>>>>>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>>>>>>>>> Apache ServiceMix <http://servicemix.apache.org/>  Committer
>>>>>>>>> *
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Cheers,
>>>>>>> Guillaume Nodet
>>>>>>> ------------------------
>>>>>>> Blog: http://gnodet.blogspot.com/
>>>>>>> ------------------------
>>>>>>> Open Source SOA
>>>>>>> http://fusesource.com
>>>>>> 
>>>>>> 
>>>> 
>>>> 
>>>> 
>> 
>> 

Reply via email to