在我的Camel应用中,我实施了一个网址重写器(请参阅本页末尾:http://camel.apache.org/urlrewrite.html)
只有一个问题,我的UrlRewriter永远不会被调用。
如何将此重写器挂钩?
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>
答案 0 :(得分:0)
这里没有什么魔力。你定义了这个类并实现了UrlRewriter,很好。现在,路线必须使用它。
例如,来自doc:
from("jetty:http://localhost:{{port}}/myapp?matchOnUriPrefix=true")
.to("jetty:http://localhost:{{port2}}/myapp2?bridgeEndpoint=true&throwExceptionOnFailure=false&urlRewrite=#myRewrite");
答案 1 :(得分:0)
您定义了类,但是现在可以在使用bean名称调用rewriteurl之后在上下文中定义bean。
SimpleRegistry registry = new SimpleRegistry();
CamelContext ctx = new DefaultCamelContext(registry);
try {
registry.put("rewriterUrl", new RewriterUrl());
,您可以在路线中定义
.to("jetty:https://login?urlRewrite=#rewriterUrl")
对于我来说,这项工作对我是否有用。 再见