Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Name

Default Value

Description

conf

null

To use a custom org.tuckey.web.filters.urlrewrite.Conf as the configuration for the url rewrite filter.

configFile

null

Refers to a file name to load as the configuration file. The file should be XML file.

modRewriteConfFile

null

Refers to a file name to load as the Apache mod_rewrite style based configuration file. This file should be a plain text file.

modRewriteConfText

null

Is used to quickly configure a Apache mod_rewrite style based configuration without using a file.

useQueryString

false

Whether to use query strings in the url rewrite rules.

useContext

false

Whether to include context-path or not in the matching. Will be default remove the context-path.

defaultMatchType

"regex"

Which match type to use. Can be either "wildcard" or "regex".

decodeUsing

null

To use a specific encoding such as "utf-8" or "iso-8859-1".

...

Component

Class

camel-http

 Camel 2.15 or older: org.apache.camel.component.urlrewrite.http.HttpUrlRewrite

camel-jetty

Camel 2.15 or older:org.apache.camel.component.urlrewrite.http.HttpUrlRewrite

camel-http4

Camel 2.15 or older:org.apache.camel.component.urlrewrite.http4.HttpUrlRewrite

...

You setup the url rewrite as a bean of the type org.apache.camel.component.urlrewrite.http.HttpUrlRewrite (when using HTTP component) as shown below: Wiki Markup{snippet:id=e1|lang=java|url=camel/trunk/components/camel-urlrewrite/src/test/java/org/apache/camel/component/urlrewrite/jetty/JettyUrlRewriteTest.java}And in XML DSL you can do:

...

In the bean above we configure it with the configFile option which is a XML UrlRewriteFilter configuration file. Wiki Markup{snippet:id=e1|lang=xml|url=camel/trunk/components/camel-urlrewrite/src/test/resources/example/urlrewrite2.xml}

...

...

See more details at UrlRewriteFilter for how to configure the XML rules file.

In the Camel routes, you bridge the endpoints, and refer to the url rewrite on the producer endpoint as shown below. Notice how we refer to our url rewrite filter using the urlRewrite option in the endpoint uri. Wiki Markup{snippet:id=e2|lang=java|url=camel/trunk/components/camel-urlrewrite/src/test/java/org/apache/camel/component/urlrewrite/jetty/JettyUrlRewriteTest.java}

Using load balancing eip

You can also use Camel's Load Balancer together with UrlRewrite, as shown below. In this code we use the failover load balancer, to failover to the 2nd endpoint (which goes to myapp3) in case of any exception thrown. Wiki Markup{snippet:id=e1|lang=java|url=camel/trunk/components/camel-urlrewrite/src/test/java/org/apache/camel/component/urlrewrite/jetty/JettyUrlRewriteLoadBalanceFailoverTest.java}

Using Apache mod_rewrite style configuration

...

For example to configure the bean using the modRewriteConfFile property to refer to a mod configuration file:

...

...

Which then can contain mod rewrite rules and the likes: Wiki Markup{snippet:e1|lang=none|url=camel/trunk/components/camel-urlrewrite/src/test/resources/example/modrewrite.cfg}You can have multiple RewriteRule rules and other configurations. See more details at UrlRewriteFilter project.

...

The url parameter contains the full url including scheme://hostname:port/path?query. The relativeUrl parameter is the url without the endpoint configured path. Notice this option may be null if the url doesn't start with the endpoint configured path. Wiki Markup{snippet:id=e1|lang=java|url=camel/trunk/components/camel-http/src/test/java/org/apache/camel/component/http/GoogleUrlRewrite.java} Include PageEndpoint See AlsoEndpoint See Also