Hi

You should not have transacted in the Camel route if you do not use
JMS or JDBC etc.


On Fri, Dec 16, 2011 at 6:16 PM, Justin Rosenberg
<rosenbe...@crlcorp.com> wrote:
> I'm not sure why my JTA is trying to use JMS Transaction.  I will do some 
> digging.  This is what I have in Spring.
>
>        <!-- JTA Transaction Management -->
>        <bean id="transactionManager" 
> class="org.springframework.transaction.jta.JtaTransactionManager">
>                <property name="transactionManagerName" 
> value="java:/TransactionManager" />
>                <property name="allowCustomIsolationLevels" value="true" />
>        </bean>
>
> Thanks for your help.
>
> ~Justin
>
>
> -----Original Message-----
> From: Claus Ibsen [mailto:claus.ib...@gmail.com]
> Sent: Friday, December 16, 2011 11:07 AM
> To: users@camel.apache.org
> Subject: Re: Email and File .transacted()
>
> On Fri, Dec 16, 2011 at 5:59 PM, Justin Rosenberg
> <rosenbe...@crlcorp.com> wrote:
>> So my question is, why is it looking for a JMS queue when I use 
>> .transacted().  I would assume I wouldn't need a JMS queue to do this 
>> "pseudo-transactional" route.
>>
>
> You must have a JTA transaction manager defined in some XML file
> somehere, that the .transacted() will lookup and use (convention over
> configuration).
> And the JTA transaction manager is wrongly configured. See the message
> in the stacktrace that says something about a broker not found.
>
>
>
>> Logs:
>> 2011-12-16 09:34:59,298 INFO  [JtaTransactionManager] Using JTA
>> UserTransaction:
>> org.jboss.tm.usertx.client.ServerVMClientUserTransaction@1318e59
>> 2011-12-16 09:34:59,298 INFO  [JtaTransactionManager] Using JTA
>> TransactionManager:
>> com.arjuna.ats.jbossatx.jta.TransactionManagerDelegate@787ee7
>> ...
>> 2011-12-16 09:35:14,509 WARN  [TransactionErrorHandler] Transaction rollback 
>> (0x1fc212d) for ExchangeId: ID-C1002822-3963-1324049699423-0-2
>> due exception: Could not create JMS transaction; nested exception is
>> javax.jms.JMSException: Could not create Transport. Reason:
>> java.io.IOException: Broker named 'localhost' does not exist.
>>
>>
>> Application versions:
>> Camel 2.7.0
>> Spring 3.0.5.RELEASE
>>
>> ~Justin
>>
>>
>> -----Original Message-----
>> From: Claus Ibsen [mailto:claus.ib...@gmail.com]
>> Sent: Friday, December 16, 2011 10:54 AM
>> To: users@camel.apache.org
>> Subject: Re: Email and File .transacted()
>>
>> On Fri, Dec 16, 2011 at 5:46 PM, Justin Rosenberg
>> <rosenbe...@crlcorp.com> wrote:
>>> Interesting.  It seems that if I have 
>>> from(emailURI).transacted().process(processor) with a JMSTransactionManager 
>>> defined.  It DOES work.  If the following processor fails, the file/email 
>>> is left on the server...
>>>
>>
>> That is because the Camel components uses UnitOfWork to defer the
>> until the end when the exchange is done.
>> Then they check the exchange status.
>>
>> If its okay, then they carry out their "commit" work such as for
>> email, to mark the mail as DELETED | SEEN
>> Likewise the file consumer will move the file / delete the file etc.
>>
>> However if the exchange is failed due an exception, then they will
>> "compensate". Which mean usually they do not do any work.
>> The email will leave the mail as is.
>> The file will leave the file as is.
>>
>> So its "pseudo" transaction. But they do not participate in the
>> transaction, and nor are they orchestrated by the transaction manager.
>> Likewise they cannot participate in a XA 2-phase commit etc.
>>
>>
>>
>>> ~Justin
>>>
>>>
>>> -----Original Message-----
>>> From: Claus Ibsen [mailto:claus.ib...@gmail.com]
>>> Sent: Friday, December 16, 2011 10:42 AM
>>> To: users@camel.apache.org
>>> Subject: Re: Email and File .transacted()
>>>
>>> Hi
>>>
>>> No transaction only works with resources which naturally supports
>>> transactions. In reality this is often only limited to RDBMS and JMS
>>> or the likes.
>>> So email and file does not support transactions.
>>>
>>> If you send an email, its sent.
>>> If you write a file, its written.
>>>
>>> However you can implement custom compensation logic to do work like a 
>>> rollback.
>>> For example to delete the written file, etc.
>>>
>>> If you got the Camel in Action book, then chapter 9 is all about
>>> transaction and compensations.
>>>
>>>
>>> On Fri, Dec 16, 2011 at 4:34 PM, Justin Rosenberg
>>> <rosenbe...@crlcorp.com> wrote:
>>>> Does the File and Email endpoint require a JMS transaction provider to
>>>> do transactions or can it use JTA instead?
>>>>
>>>>
>>>> ~Justin
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Justin Rosenberg [mailto:rosenbe...@crlcorp.com]
>>>> Sent: Tuesday, December 06, 2011 7:47 PM
>>>> To: users@camel.apache.org
>>>> Subject: Mail component ContentTypeResolver SPI customization
>>>>
>>>> I'm having trouble understanding how to use a custom ContentTypeResolver
>>>> for the mail component using Spring.
>>>>
>>>> Here is my Spring XML:
>>>> <camel:camelContext
>>>> id="CamelContext-${project.artifactId}_${project.version}">
>>>>  <camel:contextScan />
>>>> </camel:camelContext>
>>>> <bean id="mail" class="org.apache.camel.component.mail.MailComponent">
>>>>  <property name="contentTypeResolver">
>>>>    <bean class="com.crlcorp.oasis.routing.util.CRLContentTypeResolver"
>>>> />
>>>>  </property>
>>>> </bean>
>>>>
>>>> I'm retrieving the attachment in the processor as follows:
>>>> DataHandler dh =
>>>> exchange.getIn().getAttachments().values().iterator().next();
>>>> String contentType = dh.getContentType();
>>>>
>>>> For testing I have the ContentTypeResolver always return the same value.
>>>> However, the value that gets returned by dh.getContentType() is
>>>> "APPLICATION/OCTET-STREAM; name="file.pdf"
>>>> Am I missing a step to get the CamelContext to recognize the customized
>>>> MailComponent?  I have tried using the same Spring XML setting the value
>>>> on the MailEndpoint as well.
>>>>
>>>> Application versions:
>>>> Camel 2.7.0
>>>> Spring 3.0.5.RELEASE
>>>>
>>>> Any help is appreciated.
>>>>
>>>> Cheers,
>>>>
>>>> ~Justin
>>>>
>>>>
>>>>
>>>>
>>>> CONFIDENTIALITY NOTICE:
>>>> The information in this message, and any attachment, is intended for the
>>>>
>>>> sole use of the individual and entity to whom it is addressed. This
>>>> information may be privileged, confidential, and protected from
>>>> disclosure. If you are not the intended recipient you are hereby
>>>> notified
>>>> that you have received this communication in error and that any review,
>>>> disclosure, dissemination, distribution or copying of it, or its
>>>> contents,
>>>> is strictly prohibited. If you think that you have received this message
>>>>
>>>> in error please notify the sender and destroy all copies of this
>>>> communication and any attachments. Thank you.
>>>>
>>>> CONFIDENTIALITY NOTICE:
>>>> The information in this message, and any attachment, is intended for the
>>>> sole use of the individual and entity to whom it is addressed. This
>>>> information may be privileged, confidential, and protected from
>>>> disclosure. If you are not the intended recipient you are hereby notified
>>>> that you have received this communication in error and that any review,
>>>> disclosure, dissemination, distribution or copying of it, or its contents,
>>>> is strictly prohibited. If you think that you have received this message
>>>> in error please notify the sender and destroy all copies of this
>>>> communication and any attachments. Thank you.
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> -----------------
>>> FuseSource
>>> Email: cib...@fusesource.com
>>> Web: http://fusesource.com
>>> Twitter: davsclaus, fusenews
>>> Blog: http://davsclaus.blogspot.com/
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>
>>> CONFIDENTIALITY NOTICE:
>>> The information in this message, and any attachment, is intended for the
>>> sole use of the individual and entity to whom it is addressed. This
>>> information may be privileged, confidential, and protected from
>>> disclosure. If you are not the intended recipient you are hereby notified
>>> that you have received this communication in error and that any review,
>>> disclosure, dissemination, distribution or copying of it, or its contents,
>>> is strictly prohibited. If you think that you have received this message
>>> in error please notify the sender and destroy all copies of this
>>> communication and any attachments. Thank you.
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: cib...@fusesource.com
>> Web: http://fusesource.com
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>>
>> CONFIDENTIALITY NOTICE:
>> The information in this message, and any attachment, is intended for the
>> sole use of the individual and entity to whom it is addressed. This
>> information may be privileged, confidential, and protected from
>> disclosure. If you are not the intended recipient you are hereby notified
>> that you have received this communication in error and that any review,
>> disclosure, dissemination, distribution or copying of it, or its contents,
>> is strictly prohibited. If you think that you have received this message
>> in error please notify the sender and destroy all copies of this
>> communication and any attachments. Thank you.
>
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: cib...@fusesource.com
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>
> CONFIDENTIALITY NOTICE:
> The information in this message, and any attachment, is intended for the
> sole use of the individual and entity to whom it is addressed. This
> information may be privileged, confidential, and protected from
> disclosure. If you are not the intended recipient you are hereby notified
> that you have received this communication in error and that any review,
> disclosure, dissemination, distribution or copying of it, or its contents,
> is strictly prohibited. If you think that you have received this message
> in error please notify the sender and destroy all copies of this
> communication and any attachments. Thank you.



-- 
Claus Ibsen
-----------------
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to