-
Bug
-
Resolution: Done
-
Major
-
jboss-fuse-6.3
-
None
There is a problem with transactions on a few latest EAP container versions.
<route> <from uri="direct:newTransactionRollbackTest"/> <transacted ref="PROPAGATION_REQUIRED"/> <!-- send to JMS --> <to uri="jms:queue:ejbTestRouteQueue?transacted=true&password=${jboss.qa.password}&username=${jboss.qa.username}"/> <!-- call EJB to send to JMS --> <to uri="ejb:java:module/NewTransactionEjb?method=accept"/> <rollback markRollbackOnly="true"/> </route>
@Stateless @TransactionAttribute(value = TransactionAttributeType.REQUIRES_NEW) // default public class NewTransactionEjb { @Resource(mappedName = "java:/hornetq/ejbTestJmsXA") private QueueConnectionFactory connectionFactory; @Resource(mappedName = "java:/ejbTestEjbQueue") private Destination queue; public void accept(String message) throws Exception { sendMessage("[" + getClass().getName() + "]:" + message); } private void sendMessage(String text) throws Exception { final Connection connection = connectionFactory.createConnection(); connection.start(); try { final Session session = connection.createSession(false, -1); // CMTD final MessageProducer producer = session.createProducer(queue); final TextMessage message = session.createTextMessage(); message.setText(text); producer.send(message); } finally { connection.close(); } } }
Scenario
1) jms component opens new transaction
2) EJB opens new transaction and sends message to ejbTestEjbQueue
3) rollback jms transaction
4) assert message is present in ejbTestEjbQueue
EJB transaction should be done because rollback should take place only for jms transaction
This scenario was working (tested with Red Hat JBoss Enterprise Application Platform - Version 6.4.15.GA)
After upgrade to jboss-eap-6.4.19 message is not present in ejbTestEjbQueue
- is blocked by
-
ENTESB-10741 Neither tag nor branch for Fuse-EAP build
-
- Closed
-