You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "James Strachan (JIRA)" <ji...@apache.org> on 2008/10/02 18:26:52 UTC
[jira] Created: (CAMEL-959) JMS InOut operations should default to
non transacted even if the JMS component or endpoint defaults to
transacted; as typically RPCs over JMS are not transacted
JMS InOut operations should default to non transacted even if the JMS component or endpoint defaults to transacted; as typically RPCs over JMS are not transacted
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: CAMEL-959
URL: https://issues.apache.org/activemq/browse/CAMEL-959
Project: Apache Camel
Issue Type: Improvement
Reporter: James Strachan
Fix For: 1.5.0
currently there is no automatic transaction commit inside the send of the request when doing InOut with JMS; so the transaction won't commit if the component/endpoint is transacted - then the message won't reach the request and things will time out.
This will be confusing to users.
So if things are transacted; lets default to using non-transacted for InOut - and force a new property, transactedInOut to allow that to be transacted if folks really want that (which they usually won't I'd have thought).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CAMEL-959) JMS InOut operations should default to
non transacted even if the JMS component or endpoint defaults to
transacted; as typically RPCs over JMS are not transacted
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen updated CAMEL-959:
------------------------------
Component/s: camel-jms
> JMS InOut operations should default to non transacted even if the JMS component or endpoint defaults to transacted; as typically RPCs over JMS are not transacted
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-959
> URL: https://issues.apache.org/activemq/browse/CAMEL-959
> Project: Apache Camel
> Issue Type: Improvement
> Components: camel-jms
> Affects Versions: 1.5.0
> Reporter: James Strachan
> Assignee: James Strachan
> Fix For: 1.5.1, 2.0.0
>
>
> currently there is no automatic transaction commit inside the send of the request when doing InOut with JMS; so the transaction won't commit if the component/endpoint is transacted - then the message won't reach the request and things will time out.
> This will be confusing to users.
> So if things are transacted; lets default to using non-transacted for InOut - and force a new property, transactedInOut to allow that to be transacted if folks really want that (which they usually won't I'd have thought).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (CAMEL-959) JMS InOut operations should default to
non transacted even if the JMS component or endpoint defaults to
transacted; as typically RPCs over JMS are not transacted
Posted by "Willem Jiang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Willem Jiang reassigned CAMEL-959:
----------------------------------
Assignee: Willem Jiang
> JMS InOut operations should default to non transacted even if the JMS component or endpoint defaults to transacted; as typically RPCs over JMS are not transacted
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-959
> URL: https://issues.apache.org/activemq/browse/CAMEL-959
> Project: Apache Camel
> Issue Type: Improvement
> Reporter: James Strachan
> Assignee: Willem Jiang
> Fix For: 2.0.0
>
>
> currently there is no automatic transaction commit inside the send of the request when doing InOut with JMS; so the transaction won't commit if the component/endpoint is transacted - then the message won't reach the request and things will time out.
> This will be confusing to users.
> So if things are transacted; lets default to using non-transacted for InOut - and force a new property, transactedInOut to allow that to be transacted if folks really want that (which they usually won't I'd have thought).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-959) JMS InOut operations should default
to non transacted even if the JMS component or endpoint defaults to
transacted; as typically RPCs over JMS are not transacted
Posted by "Willem Jiang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=48297#action_48297 ]
Willem Jiang commented on CAMEL-959:
------------------------------------
User should avoid the situation of configure the same transaction manager for two jms component in the same route rule for the InOut message.
{code}
from("activemq:queue:mainStage?replyTo=queue:mainStage.reply").to("activemq:queue:request?replyTo=queue:request.reply");
{code}
If not , you will get transaction time out exception, since the message sending to the second queue will never be committed in a single local transaction.
> JMS InOut operations should default to non transacted even if the JMS component or endpoint defaults to transacted; as typically RPCs over JMS are not transacted
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-959
> URL: https://issues.apache.org/activemq/browse/CAMEL-959
> Project: Apache Camel
> Issue Type: Improvement
> Components: camel-jms
> Affects Versions: 1.5.0
> Reporter: James Strachan
> Assignee: James Strachan
> Fix For: 1.5.1, 2.0.0
>
>
> currently there is no automatic transaction commit inside the send of the request when doing InOut with JMS; so the transaction won't commit if the component/endpoint is transacted - then the message won't reach the request and things will time out.
> This will be confusing to users.
> So if things are transacted; lets default to using non-transacted for InOut - and force a new property, transactedInOut to allow that to be transacted if folks really want that (which they usually won't I'd have thought).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-959) JMS InOut operations should default
to non transacted even if the JMS component or endpoint defaults to
transacted; as typically RPCs over JMS are not transacted
Posted by "Willem Jiang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=47505#action_47505 ]
Willem Jiang commented on CAMEL-959:
------------------------------------
For the Queue to Queue with InOut ExchangePattern , we will face another issue.
If the transacted is set to be true but the transactedInOut is false, since we don't want to use the JMS transaction, do we still need to inject the JMSTransacationManager for the jms MessageListenerContainer ?
Since the jms consumer doesn't know the message exchange pattern, I'd like to change current JMSConfig to take consideration of transactedInOut and transacted flags at the same time.
If they are all true, we can inject the transactionManager into the MessageListenerContainer, if any of them is false , we won't inject the transactionManger into MessageListenerContainer even the TransactionManager is configured into the JMSConfig.
> JMS InOut operations should default to non transacted even if the JMS component or endpoint defaults to transacted; as typically RPCs over JMS are not transacted
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-959
> URL: https://issues.apache.org/activemq/browse/CAMEL-959
> Project: Apache Camel
> Issue Type: Improvement
> Affects Versions: 1.5.0
> Reporter: James Strachan
> Assignee: Willem Jiang
> Fix For: 1.5.1, 2.0.0
>
>
> currently there is no automatic transaction commit inside the send of the request when doing InOut with JMS; so the transaction won't commit if the component/endpoint is transacted - then the message won't reach the request and things will time out.
> This will be confusing to users.
> So if things are transacted; lets default to using non-transacted for InOut - and force a new property, transactedInOut to allow that to be transacted if folks really want that (which they usually won't I'd have thought).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (CAMEL-959) JMS InOut operations should default to
non transacted even if the JMS component or endpoint defaults to
transacted; as typically RPCs over JMS are not transacted
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen reassigned CAMEL-959:
---------------------------------
Assignee: James Strachan (was: Willem Jiang)
Assigning this to James as he promised to update the camel-jms wiki page with a bit on this new transactedInOut option and why it's there.
Willem have commited the code.
> JMS InOut operations should default to non transacted even if the JMS component or endpoint defaults to transacted; as typically RPCs over JMS are not transacted
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-959
> URL: https://issues.apache.org/activemq/browse/CAMEL-959
> Project: Apache Camel
> Issue Type: Improvement
> Components: camel-jms
> Affects Versions: 1.5.0
> Reporter: James Strachan
> Assignee: James Strachan
> Fix For: 1.5.1, 2.0.0
>
>
> currently there is no automatic transaction commit inside the send of the request when doing InOut with JMS; so the transaction won't commit if the component/endpoint is transacted - then the message won't reach the request and things will time out.
> This will be confusing to users.
> So if things are transacted; lets default to using non-transacted for InOut - and force a new property, transactedInOut to allow that to be transacted if folks really want that (which they usually won't I'd have thought).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CAMEL-959) JMS InOut operations should default to
non transacted even if the JMS component or endpoint defaults to
transacted; as typically RPCs over JMS are not transacted
Posted by "Willem Jiang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Willem Jiang updated CAMEL-959:
-------------------------------
Fix Version/s: 1.5.1
Affects Version/s: 1.5.0
> JMS InOut operations should default to non transacted even if the JMS component or endpoint defaults to transacted; as typically RPCs over JMS are not transacted
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-959
> URL: https://issues.apache.org/activemq/browse/CAMEL-959
> Project: Apache Camel
> Issue Type: Improvement
> Affects Versions: 1.5.0
> Reporter: James Strachan
> Assignee: Willem Jiang
> Fix For: 1.5.1, 2.0.0
>
>
> currently there is no automatic transaction commit inside the send of the request when doing InOut with JMS; so the transaction won't commit if the component/endpoint is transacted - then the message won't reach the request and things will time out.
> This will be confusing to users.
> So if things are transacted; lets default to using non-transacted for InOut - and force a new property, transactedInOut to allow that to be transacted if folks really want that (which they usually won't I'd have thought).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-959) JMS InOut operations should default
to non transacted even if the JMS component or endpoint defaults to
transacted; as typically RPCs over JMS are not transacted
Posted by "Willem Jiang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=47506#action_47506 ]
Willem Jiang commented on CAMEL-959:
------------------------------------
This change just has a side effect , if you want to set use the transaction and JMSTransactionManager in camel-jms componnent ,
you need to set the transacted and transactedInOut all to be true.
> JMS InOut operations should default to non transacted even if the JMS component or endpoint defaults to transacted; as typically RPCs over JMS are not transacted
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-959
> URL: https://issues.apache.org/activemq/browse/CAMEL-959
> Project: Apache Camel
> Issue Type: Improvement
> Affects Versions: 1.5.0
> Reporter: James Strachan
> Assignee: Willem Jiang
> Fix For: 1.5.1, 2.0.0
>
>
> currently there is no automatic transaction commit inside the send of the request when doing InOut with JMS; so the transaction won't commit if the component/endpoint is transacted - then the message won't reach the request and things will time out.
> This will be confusing to users.
> So if things are transacted; lets default to using non-transacted for InOut - and force a new property, transactedInOut to allow that to be transacted if folks really want that (which they usually won't I'd have thought).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CAMEL-959) JMS InOut operations should default to
non transacted even if the JMS component or endpoint defaults to
transacted; as typically RPCs over JMS are not transacted
Posted by "Hadrian Zbarcea (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hadrian Zbarcea updated CAMEL-959:
----------------------------------
Fix Version/s: 2.0.0
(was: 1.5.0)
> JMS InOut operations should default to non transacted even if the JMS component or endpoint defaults to transacted; as typically RPCs over JMS are not transacted
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-959
> URL: https://issues.apache.org/activemq/browse/CAMEL-959
> Project: Apache Camel
> Issue Type: Improvement
> Reporter: James Strachan
> Fix For: 2.0.0
>
>
> currently there is no automatic transaction commit inside the send of the request when doing InOut with JMS; so the transaction won't commit if the component/endpoint is transacted - then the message won't reach the request and things will time out.
> This will be confusing to users.
> So if things are transacted; lets default to using non-transacted for InOut - and force a new property, transactedInOut to allow that to be transacted if folks really want that (which they usually won't I'd have thought).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CAMEL-959) JMS InOut operations should default to
non transacted even if the JMS component or endpoint defaults to
transacted; as typically RPCs over JMS are not transacted
Posted by "James Strachan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Strachan resolved CAMEL-959.
----------------------------------
Resolution: Fixed
have updated the JMS page...
http://cwiki.apache.org/CAMEL/jms.html
> JMS InOut operations should default to non transacted even if the JMS component or endpoint defaults to transacted; as typically RPCs over JMS are not transacted
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-959
> URL: https://issues.apache.org/activemq/browse/CAMEL-959
> Project: Apache Camel
> Issue Type: Improvement
> Components: camel-jms
> Affects Versions: 1.5.0
> Reporter: James Strachan
> Assignee: James Strachan
> Fix For: 1.5.1, 2.0.0
>
>
> currently there is no automatic transaction commit inside the send of the request when doing InOut with JMS; so the transaction won't commit if the component/endpoint is transacted - then the message won't reach the request and things will time out.
> This will be confusing to users.
> So if things are transacted; lets default to using non-transacted for InOut - and force a new property, transactedInOut to allow that to be transacted if folks really want that (which they usually won't I'd have thought).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-959) JMS InOut operations should default
to non transacted even if the JMS component or endpoint defaults to
transacted; as typically RPCs over JMS are not transacted
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=47574#action_47574 ]
Claus Ibsen commented on CAMEL-959:
-----------------------------------
Remember to update the wiki at:
http://activemq.apache.org/camel/jms.html
At least update
- add it as an option in the big list
- consider adding a h3. section about using transactedInOut to explain what it's used for. Maybe James can help with a good description and sample.
Willem see this patch for trunk, maybe it should be in 1.5.1 since this ticket is also target for 1.5.1
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java?rev=719851&r1=719850&r2=719851&view=diff
> JMS InOut operations should default to non transacted even if the JMS component or endpoint defaults to transacted; as typically RPCs over JMS are not transacted
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-959
> URL: https://issues.apache.org/activemq/browse/CAMEL-959
> Project: Apache Camel
> Issue Type: Improvement
> Affects Versions: 1.5.0
> Reporter: James Strachan
> Assignee: Willem Jiang
> Fix For: 1.5.1, 2.0.0
>
>
> currently there is no automatic transaction commit inside the send of the request when doing InOut with JMS; so the transaction won't commit if the component/endpoint is transacted - then the message won't reach the request and things will time out.
> This will be confusing to users.
> So if things are transacted; lets default to using non-transacted for InOut - and force a new property, transactedInOut to allow that to be transacted if folks really want that (which they usually won't I'd have thought).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.