from = consumer
to = producer


On Wed, Mar 10, 2010 at 8:13 AM, DaHoopster <[email protected]> wrote:
>
> Hi,
>
> Maybe I am not getting the concept correctly. I am trying to write a web
> scraper that scrapes a page and generate some messages. I think I need to
> write a Producer, correct me if I am wrong.
>
> So I went ahead and wrote a custom component along with an endpoint and a
> producer. But for some reason the producer was not created by the endpoint.
> Could you see what's wrong with my code?
>
> Many thanks.
>
> Code:
>
> ================ Main.java ===================================
>        this.camelContext.addComponent("scraper", scrapingComponent);
>        this.camelContext.addRoutes(new RouteBuilder()
>        {
>           �...@override
>            public void configure() throws Exception
>            {
>                from("scraper:" + ScrapingEndpoint.URI).
>                process(new Processor()
>                {
>                    public void process(final Exchange exchange) throws
> Exception
>                    {
>                        System.out.println("Yay !!!");
>                    }
>                });
>            }
>        });
>        this.camelContext.start();
> ===============================================================
>
> ================ ScrapingComponent.java ==========================
> public class ScrapingComponent extends DefaultComponent
> {
>
>   �...@override
>    protected Endpoint createEndpoint(final String uri, final String
> remaining, final Map<String, Object> parameters) throws Exception
>    {
>        return new ScrapingEndpoint(uri, ScrapingComponent.this);
>    }
> }
> ==============================================================
>
> ================ ScrapingEndpoint.java =============================
> public class ScrapingEndpoint extends DefaultEndpoint
> {
>    public static final String URI = "scraper:hello";
>
>    public BondDeskScrapingEndpoint(final String endpointUri, final
> Component component)
>    {
>        super(endpointUri, component);
>    }
>
>    public ScrapingEndpoint(final String endpointUri)
>    {
>        super(endpointUri);
>    }
>
>    public Producer createProducer() throws Exception
>    {
>        return new ScrapingProducer(this);
>    }
>
>    public Consumer createConsumer(final Processor processor) throws
> Exception
>    {
>        return new ScrapingConsumer(this, processor);
>    }
>
>    public boolean isSingleton()
>    {
>        return true;
>    }
>
>   �...@override
>    protected String createEndpointUri()
>    {
>        return URI;
>    }
>
>   �...@override
>    public boolean isLenientProperties()
>    {
>        return true;
>    }
> }
> ===============================================================
>
> ================= ScrapingProducer ================================
> public class ScrapingProducer extends DefaultProducer
> {
>    private MyScraper scraper;
>
>    public BondDeskScrapingProducer(Endpoint endpoint)
>    {
>        super(endpoint);
>        this.scaper = new MyScraper();
>        System.out.println("=== creating producer ===");
>    }
>
>    public void process(final Exchange exchange) throws Exception
>    {
>        System.out.println("=== processing ===");
>        final List<Item> items = bondDeskScraper.scrape();
>        exchange.getIn().setBody(items.get(0).toString());
>    }
> ==============================================================
>
> =================== ScrapingConsumer.java =========================
> public class ScrapingConsumer extends DefaultConsumer
> {
>    public ScrapingConsumer(Endpoint endpoint, Processor processor)
>    {
>        super(endpoint, processor);
>    }
> }
> ==============================================================
> --
> View this message in context: 
> http://old.nabble.com/Writing-customer-component%2C-endpoint-and-producer-tp27846283p27846283.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
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