= Browse Component
:doctitle: Browse
:shortname: browse
:artifactid: camel-browse
:description: Inspect the messages received on endpoints supporting BrowsableEndpoint.
:since: 1.3
:supportlevel: Stable
:tabs-sync-option:
:component-header: Both producer and consumer are supported
:core:
//Manually maintained attributes
:camel-spring-boot-name: browse

*Since Camel {since}*

*{component-header}*

The Browse component provides a simple BrowsableEndpoint which can be useful for testing, visualization tools or debugging.
The exchanges sent to the endpoint are all available to be browsed.

== URI format

-------------------------
browse:someId[?options]
-------------------------

Where _someId_ can be any string to uniquely identify the endpoint.


// component-configure options: START

// component-configure options: END

// component options: START
include::partial$component-configure-options.adoc[]
include::partial$component-endpoint-options.adoc[]
// component options: END

// endpoint options: START

// endpoint options: END


== Examples

In the route below, we insert a `browse:` component to be able to browse
the Exchanges that are passing through:

[source,java]
----
from("activemq:order.in").to("browse:orderReceived").to("bean:processOrder");
----

We can now inspect the received exchanges from within the Java code:

[source,java]
----
private CamelContext context;

public void inspectReceivedOrders() {
    BrowsableEndpoint browse = context.getEndpoint("browse:orderReceived", BrowsableEndpoint.class);
    List<Exchange> exchanges = browse.getExchanges();

    // then we can inspect the list of received exchanges from Java
    for (Exchange exchange : exchanges) {
        String payload = exchange.getIn().getBody();
        // do something with payload
    }
}
----



include::spring-boot:partial$starter.adoc[]
