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.