Hi

Looks like the getTracedExchange method was removed a bit later. I
have adde a ticket to track this
https://issues.apache.org/activemq/browse/CAMEL-2556



On Wed, Mar 17, 2010 at 7:06 PM, Jim Talbut <jtal...@spudsoft.co.uk> wrote:
> I'm sorry, but I'm afraid I must be missing something.
> You say "just use your own JPA code to persist the message" like it's a
> simple thing to do, but it doesn't appear to be.
>
> The out of the box TraceInterceptor hard codes the canonical name of the
> class that it's loading, and loads it excplicitly, so I can't intercept that
> other than by providing another class in the same package.
> That's nasty and hacky and still doesn't solve the problem because it just
> gets called by the IntrospectionSupport, so I don't get the opportunity to
> access the Exchange object.
> That led me to try to replace the TraceInterceptor with my own, but that is
> complicated because the TraceInterceptor also builds up the TracedRouteNodes
> (and because I can't remove the out of the box TraceInterceptor).
>
> It seems to me that there should be a way to subclass the TraceInterceptor
> and just get access to the pre and post Exchange object to log it - that
> would need to be set on the default Trace object before any routes get
> created.
> But as I said, I must be missing something.
>
> Jim
>
>
>
> On 13/03/2010 09:06, Claus Ibsen wrote:
>>
>> You can just use your own JPA code to persist the message instead of
>> the out of the box feature.
>>
>>
>>
>> On Sat, Mar 13, 2010 at 9:54 AM, Jim Talbut<jtal...@spudsoft.co.uk>
>>  wrote:
>>
>>>
>>> On 13/03/2010 07:36, Claus Ibsen wrote:
>>>
>>>>
>>>> On Sat, Mar 13, 2010 at 8:27 AM, Jim Talbut<jtal...@spudsoft.co.uk>
>>>>  wrote:
>>>>
>>>>
>>>>>
>>>>> Willem,
>>>>>
>>>>> Ah.
>>>>> I still have no idea how the TypeConverter is being called, but it's
>>>>> working
>>>>> great :).
>>>>>
>>>>> I can make my SOAP:Fault converter into an interceptor, which has the
>>>>> benefit of making the routes simpler and thus more understandable by my
>>>>> clients.
>>>>> However if I do so the Tracer (using JPA) does not record the altered
>>>>> SOAP:fault.
>>>>> I have got tracer.setTraceInterceptors( true ); but that doesn't seem
>>>>> to
>>>>> make any difference, neither does the order in which the interceptors
>>>>> are
>>>>> added.
>>>>> Is it possible to make the Tracer record the output from another
>>>>> interceptor?
>>>>> If it isn't I'll just log the change myself.
>>>>>
>>>>> When the Tracer logs an exception it's just using toString, which
>>>>> misses
>>>>> out
>>>>> on a lot of information in a soap:fault.
>>>>> I tried writing a TypeConverter for
>>>>> org.apache.cxf.binding.soap.SoapFault,
>>>>> but that's not being called.
>>>>> Is there a way to make the Tracer use a TypeConverter for logging
>>>>> exceptions?
>>>>>
>>>>>
>>>>>
>>>>
>>>> You can implement your own
>>>> org.apache.camel.processor.interceptor.TraceFormatter and format the
>>>> traced message exactly how you like it.
>>>>
>>>>
>>>>
>>>
>>> TraceFormatter is just for logged tracing - I'm using JPA.
>>>
>>> Thanks.
>>>
>>> Jim
>>>
>>>
>>>
>>
>>
>>
>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to