Bug 1045695 - Non-transactional part of the demo "policy-transaction" does not work
Summary: Non-transactional part of the demo "policy-transaction" does not work
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: Examples
Version: 6.0.0
Hardware: All
OS: All
urgent
urgent
Target Milestone: ER4
: 6.0.0
Assignee: kconner
QA Contact: Martin Vecera
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-21 09:23 UTC by Martin Vecera
Modified: 2014-01-06 14:47 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-12-23 01:20:00 UTC
Type: Bug


Attachments (Terms of Use)

Description Martin Vecera 2013-12-21 09:23:50 UTC
When running the example with 
mvn -Dexec.args="[any command] policyQSNonTransacted" exec:java

it leads to 
Caught exception of type org.switchyard.HandlerException with message: SWITCHYARD014004: Invalid transaction status : propagatesTransaction is required but the transaction doesn't exist: org.switchyard.HandlerException: SWITCHYARD014004: Invalid transaction status : propagatesTransaction is required but the transaction doesn't exist
	at org.switchyard.handlers.TransactionHandler.evaluateTransactionStatus(TransactionHandler.java:176) [switchyard-runtime-1.1.1-p2-redhat-1.jar:1.1.1-p2-redhat-1]
	at org.switchyard.handlers.TransactionHandler.handleBefore(TransactionHandler.java:140) [switchyard-runtime-1.1.1-p2-redhat-1.jar:1.1.1-p2-redhat-1]
	at org.switchyard.handlers.TransactionHandler.handleMessage(TransactionHandler.java:80) [switchyard-runtime-1.1.1-p2-redhat-1.jar:1.1.1-p2-redhat-1]
...

This is expected from the source code. However, I would expect it to be done in a way the transactional behavior was either ignore, or this way was not suggested in the readme.

Comment 1 Tomohisa Igarashi 2013-12-23 01:20:00 UTC
This is correct behavior. Since WorkService requires "propagatesTransaction", TransactionHandler should throw this "transaction doesn't exist" exception if you invoke it through non-transacted gateway. You need to change the policy on WorkService to get working with the inbound gateway which doesn't provide transaction.


Note You need to log in before you can comment on or make changes to this bug.