30002

How to get channel information from a global wire tap

Question:

Is there a way to use a global wire tap and still be able to log the identification information about the associated channel? To clarify lets suppose, I want to use a global wire tap as follows:

... <int:channel id="myChannel1" /> ... <int:channel id="myChannel2" /> ... <int:wire-tap pattern="*" order="2" channel="wireTapChannel" /> <int:logging-channel-adapter id="wireTapChannel" expression="'payload: ' + getPayload()" level="DEBUG" logger-name="WIRETAP" />

This would log something like

14:44:31,350 DEBUG WIRETAP:126 - payload: some payload1 14:44:31,350 DEBUG WIRETAP:126 - payload: some payload2

Now is there a way to put an expression so that looking into the logs I can identify the associated channels as well? I am expecting something like this:

14:44:31,350 DEBUG WIRETAP:126 - channel: myChannel1, payload: some payload1 14:44:31,350 DEBUG WIRETAP:126 - channel: myChannel2, payload: some payload2

Not sure whether this information is already lost once the flow reaches the wireTapChannel

Answer1:

You could enable <a href="http://docs.spring.io/spring-integration/docs/2.2.x/reference/html/system-management-chapter.html#message-history" rel="nofollow">Message History</a> and then use a Spel to print the desired headers.

Recommend

  • ListView with the fixed number of items to display
  • Setting spinner text color programmatically lags, is slow, is wrong color for split second
  • C++ equivalent of Java's andThen() function to composite new function
  • Accessing static field in annotation
  • Android: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widg
  • How can i attach an listener to listview?
  • How can we trace push notifications being sent to the Apple APNS server from IBM MobileFirst 7.0?
  • How to paginate a Firebase Recyclerview
  • Android - dlopen failed: file offset for the library
  • How to know when data is loaded inside custom RecyclerView?
  • Using @Before aspect on @Controller methods with Spring doesn't work
  • RecyclerView Dynamic Header
  • Android ListFragment update/refresh and onItemClick
  • How to use getFilter form Listadapter
  • Passing Props from State to Child
  • PXAction seemingly does nothing
  • How Can I Prevent Activation For Some ListView Items When The Selection Mode Is MultiChoiceModal?
  • BizTalk Party not being resolved for incoming HL7v2 message
  • Unicorn and Rails eat up 2x MySQL connections
  • Mocha throws unexpected token error for ES6 object spread operator
  • didUpdatePushCredentials not get called
  • Plotting line graph with factors in R
  • Why use database factory in asp.net mvc?
  • Should I or shouldn't I use the CachingConnectionFactory with hornetq 2.4.1
  • Can you perform a UNION without a subquery in SQLAlchemy?
  • Breeze - Deleted Items nav properties bug
  • FFmpeg Conversion Error
  • javaw.exe and eclipse startup problems
  • WinForms: two way TextBox problem
  • R: gsub and capture
  • How to delete a row from a dynamic generate table using jquery?
  • json Serialization in asp
  • Rails 2: use form_for to build a form covering multiple objects of the same class
  • What are the advantages and disadvantages of reading an entire file into a single String as opposed
  • How to stop GridView from loading again when I press back button?
  • need help with bizarre java.net.HttpURLConnection behavior
  • Observable and ngFor in Angular 2
  • How to Embed XSL into XML
  • UserPrincipal.Current returns apppool on IIS
  • Conditional In-Line CSS for IE and Others?