2014-11-17 133 views
1

我想創建自己的駱駝組件。基於組件http4。我只想在默認情況下插入服務器和端口。所以,我可以寫:擁有自己的http4的http4駱駝組件

from("myhttp://test1.php") 
.to("myhttp://test2.php") 

而我的組件更改URI到的 「http://爲myhost:8080/test1.php」 和 「HTTP://爲myhost:8080/test2.php」,但我可以」 t創建我自己的方案名稱。我測試了類中的@UriEndpoint(scheme =「myhttp」)

public class myhttpEndpoint extends org.apache.camel.component.http4.HttpEndpoint { 
} 

你能幫我嗎?

我做什麼:創建一個自定義的駱駝組件時

public class myhttpComponent extends org.apache.camel.component.http4.HttpComponent { 

    @Override 
    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { 
    ... 
    ... 
    HttpEndpoint endpoint = new myhttpEndpoint(endpointUriString, this, clientBuilder, localConnectionManager, configurer); 
    ... 
    ... 
    } 
} 

@UriEndpoint(scheme = "myhttp") 
public class myhttpEndpoint extends org.apache.camel.component.http4.HttpEndpoint { 

    public myhttpEndpoint(String endpointUriString, 
      cacheComponent cacheComponent, HttpClientBuilder clientBuilder, 
      HttpClientConnectionManager localConnectionManager, 
      HttpClientConfigurer configurer) throws URISyntaxException { 
     super(endpointUriString, cacheComponent, clientBuilder, localConnectionManager, configurer); 
    } 

回答