Hi all,
this is my application
Spring 3.0.5 + Oc4j 10.1.3.3 + Oracle DB + Oracle Aq
This is the flow:
1. Update datas
2. Send jms message

The application updates correctly datas, in the same transaction sends a message to an oracle jms queue but the queue table is empty.
Transaction starts with method avvService.updateStatoService()

This is a log snapshot
Code:
2013-02-07 11:04:48,982 [DEBUG] org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:365) CLIENT: HOST: - Creating new transaction with name [it.mycompany.gevi.service.avvenimenti.AvvenimentoService.updateStatoAvvenimentoService]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-java.lang.Exception 
2013-02-07 11:04:52,340 [DEBUG] it.mycompany.service.qbuilder.logic.QBUpdateService.doExecute(QBUpdateService.java:62) CLIENT: HOST: - DAO.updateService - getStatement  
2013-02-07 11:04:52,340 [INFO] it.mycompany.service.qbuilder.logic.QBUpdateService.doExecute(QBUpdateService.java:62) CLIENT: HOST: - DAO - SQL is: 
		UPDATE TABLE_NAME
		SET STATO = ?
		WHERE COD = ?
		 
2013-02-07 11:04:52,918 [INFO] it.mycompany.service.qbuilder.logic.QBUpdateService.doExecute(QBUpdateService.java:62) CLIENT: HOST: - DAO - {1=1, 2=1200300146} 
2013-02-07 11:04:52,949 [INFO] it.mycompany.gevi.service.GenericService.updateService(GenericService.java:50) CLIENT: HOST: - Risultato updateService:1 
2013-02-07 11:04:52,965 [DEBUG] org.springframework.transaction.support.AbstractPlatformTransactionManager.handleExistingTransaction(AbstractPlatformTransactionManager.java:470) CLIENT: HOST: - Participating in existing transaction 
2013-02-07 11:04:53,730 [DEBUG] org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:464) CLIENT: HOST: - Executing callback on JMS Session: oracle.jms.AQjmsSession@ee2a92 
2013-02-07 11:04:54,167 [DEBUG] org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:567) CLIENT: HOST: - Sending created message: oracle.jms.AQjmsTextMessage@27fdb9 
2013-02-07 11:04:54,526 [INFO] it.mycompany.gevi.service.JMSSenderService.sendMessage(JMSSenderService.java:64) CLIENT: HOST: - JSM Message Sent! 
2013-02-07 11:04:54,526 [DEBUG] org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:752) CLIENT: HOST: - Initiating transaction commit 
Spring bean configuration file
Code:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx" 
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:jee="http://www.springframework.org/schema/jee"
	xmlns:orcl="http://www.springframework.org/schema/data/orcl" 
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/tx
		http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
		http://www.springframework.org/schema/aop
		http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
		http://www.springframework.org/schema/context 
		http://www.springframework.org/schema/context/spring-context-3.0.xsd
		http://www.springframework.org/schema/task 
		http://www.springframework.org/schema/task/spring-task-3.0.xsd
		http://www.springframework.org/schema/data/orcl
		http://www.springframework.org/schema/data/orcl/spring-data-orcl-1.0.xsd
		http://www.springframework.org/schema/jee 
     	http://www.springframework.org/schema/jee/spring-jee-3.0.xsd"
	
	default-lazy-init="true" default-autowire="byName">
	
	<jee:jndi-lookup id="geviDs" jndi-name="jdbc/DBGeviDS" />
	
	<jee:jndi-lookup id="geviAqAdmDs" jndi-name="jdbc/AQAdmGeviDS" />
	
	<orcl:aq-jms-connection-factory id="topicConnectionFactory" data-source="geviAqAdmDs" 
	 connection-factory-type="TOPIC_CONNECTION" />
	
	<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
		<property name="sessionTransacted" value="true"/>
        <property name="connectionFactory" ref="topicConnectionFactory"/>
        <property name="explicitQosEnabled" value="true"/>
        <property name="timeToLive" value="60000"/>
        <property name="pubSubDomain" value="true"/>
        <property name="defaultDestinationName" value="VR_INFO_VAR_TOPIC"/>
    </bean> 
	
	<tx:jta-transaction-manager/>

	<tx:annotation-driven transaction-manager="transactionManager"  proxy-target-class="true" />
	
	<aop:config>
		<aop:pointcut id="genericServiceMethods" expression="execution(* it.mycompany.gevi.service..*Service.*(..))" />
		
		<aop:advisor pointcut-ref="genericServiceMethods" advice-ref="txServiceAdvice"/>
	</aop:config>
	
	<tx:advice id="txServiceAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="read*Service" read-only="true"/>
	        <!-- Other methods use the default transaction settings (see below) -->
	        <tx:method name="insertReturning*Service"    propagation="REQUIRED" />
	        <tx:method name="create*Service" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
	        <tx:method name="delete*Service" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
	        <tx:method name="update*Service" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
	        <tx:method name="sendMessage" propagation="REQUIRED" rollback-for="java.lang.Exception" />
		</tx:attributes>
	</tx:advice>

	<bean name="genericService" class="it.mycompany.gevi.service.GenericService" />
	<bean name="avvService" class="it.mycompany.gevi.service.avvenimenti.AvvenimentoService"/>
	
	<bean name="jmsSender" class="it.mycompany.gevi.service.JMSSenderService" >
		<property name="jmsTemplate" ref="jmsTemplate"/>
	</bean>
	
</beans>
Thanks in advance.