Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache camel 如何将UrlRewriter连接到Camel应用程序?_Apache Camel - Fatal编程技术网

Apache camel 如何将UrlRewriter连接到Camel应用程序?

Apache camel 如何将UrlRewriter连接到Camel应用程序?,apache-camel,Apache Camel,在我的Camel应用程序中,我实现了一个url重写器(请参阅本页末尾:) 只有一个问题,我的URLEwriter从未调用过 我该如何把这个重写器连接起来 PS我正在使用以下Camel mvn依赖项: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> <ver

在我的Camel应用程序中,我实现了一个url重写器(请参阅本页末尾:)

只有一个问题,我的URLEwriter从未调用过

我该如何把这个重写器连接起来

PS我正在使用以下Camel mvn依赖项:

    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-core</artifactId>
        <version>${camel.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-cxf</artifactId>
        <version>${camel.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-cxf-transport</artifactId>
        <version>${camel.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-http</artifactId>
        <version>${camel.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-spring</artifactId>
        <version>${camel.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-urlrewrite</artifactId>
        <version>${camel.version}</version>
    </dependency>

org.apache.camel
驼芯
${camel.version}
org.apache.camel
骆驼型cxf
${camel.version}
org.apache.camel
骆驼式cxf运输
${camel.version}
org.apache.camel
骆驼http
${camel.version}
org.apache.camel
骆驼泉
${camel.version}
org.apache.camel
重写
${camel.version}

这里没有什么神奇之处。您定义了类并实现了URLEwriter,很好。现在,一条路线必须使用它

例如,从文档:

from("jetty:http://localhost:{{port}}/myapp?matchOnUriPrefix=true")
    .to("jetty:http://localhost:{{port2}}/myapp2?bridgeEndpoint=true&throwExceptionOnFailure=false&urlRewrite=#myRewrite");

这里没有什么神奇的东西。您定义了类并实现了URLEwriter,很好。现在,一条路线必须使用它

例如,从文档:

from("jetty:http://localhost:{{port}}/myapp?matchOnUriPrefix=true")
    .to("jetty:http://localhost:{{port2}}/myapp2?bridgeEndpoint=true&throwExceptionOnFailure=false&urlRewrite=#myRewrite");

您定义了这个类,但现在在可以使用bean名称调用rewriteurl之后,在上下文中定义了一个bean

    SimpleRegistry registry = new SimpleRegistry();
    CamelContext ctx = new DefaultCamelContext(registry);

    try {
        registry.put("rewriterUrl", new RewriterUrl());
在路线中,您可以定义

.to("jetty:https://login?urlRewrite=#rewriterUrl")
对我来说,这项工作,我不知道是否对你有用。
再见

您定义了这个类,但是现在您在上下文中定义了一个bean,在您可以使用bean名称调用rewriteurl之后

    SimpleRegistry registry = new SimpleRegistry();
    CamelContext ctx = new DefaultCamelContext(registry);

    try {
        registry.put("rewriterUrl", new RewriterUrl());
在路线中,您可以定义

.to("jetty:https://login?urlRewrite=#rewriterUrl")
对我来说,这项工作,我不知道是否对你有用。
拜拜

请包含您尝试连接并使用URL重写的代码;导入org.apache.camel.Producer;导入org.apache.camel.component.http.UrlRewrite;公共类AliveUrlRewrite实现UrlRewrite{@Override public String rewrite(String url,String relativeUrl,Producer-Producer){return url.replaceAll(“yahoo”,“google”);}请编辑您的问题,包括您在AliveUrlRewrite中连接的代码以及您尝试激活它的代码。这是我的问题。我不“激活”任何东西。我创建了一个实现UrlRewrite接口的类。现在,我该如何让这个类真正被调用呢?请包含您尝试连接并使用URLRewite的代码;导入org.apache.camel.Producer;导入org.apache.camel.component.http.UrlRewrite;公共类AliveUrlRewrite实现UrlRewrite{@Override public String rewrite(String url,String relativeUrl,Producer-Producer){return url.replaceAll(“yahoo”,“google”);}请编辑您的问题,包括您在AliveUrlRewrite中连接的代码以及您尝试激活它的代码。这是我的问题。我不“激活”任何东西。我创建了一个实现UrlRewrite接口的类。现在我该如何让这个类真正被调用?