tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chatree Srichart <chatree.srich...@gmail.com>
Subject Re: Multiple Aliases Problem
Date Tue, 22 Nov 2011 03:56:45 GMT
Any comment?

On Mon, Nov 21, 2011 at 1:52 PM, Chatree Srichart <
chatree.srichart@gmail.com> wrote:

> Hi community.
> I am working on embedding a Tomcat server into my project.
>
> I have 2 domain name called localhost1 and localhost2.
> I created a Host instance with the localhost1 domain name.
>
> Host host = new StandardHost();
> host.setAppBase(CATALINA_HOSTS_HOME);
> host.setName("localhost1");
> host.setDeployOnStartup(false);
> host.setBackgroundProcessorDelay(5);
> host.setAutoDeploy(false);
> host.setRealm(engine.getRealm());
> engine.addChild(host);
>
> Then I added the localhost2 as a alias.
>
> host.addAlias("localhost2");
>
> If I entered localhost1 at a browser then it works fine but if I entered
> localhost2 at the browser then I got an error:
>
> Nov 21, 2011 1:29:26 PM org.apache.coyote.http11.AbstractHttp11Processor
> process
> SEVERE: Error processing request
> java.lang.ClassCastException:
> org.apache.tomcat.util.http.mapper.Mapper$Host cannot be cast to
> org.apache.catalina.Host
>     at org.apache.catalina.connector.Request.getHost(Request.java:631)
>     at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:105)
>     at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
>     at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
>     at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
>     at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
>     at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
>
>
> I solved this problem by adding some codes into the trunk:
>
> Index: java/org/apache/tomcat/util/http/mapper/Mapper.java
> ===================================================================
> --- java/org/apache/tomcat/util/http/mapper/Mapper.java    (revision
> 1204361)
> +++ java/org/apache/tomcat/util/http/mapper/Mapper.java    (working copy)
> @@ -149,6 +149,10 @@
>          newHost.contextList = realHost.contextList;
>          newHost.object = realHost;
>          if (insertMap(hosts, newHosts, newHost)) {
> +            Object object = newHost.object;
> +            if (object instanceof Mapper.Host) {
> +                newHost.object = ((Mapper.Host) object).object;
> +            }
>              hosts = newHosts;
>          }
>      }
>
>
> Do you think I am doing in the right track and this fixed should be
> committed into the trunk? If not, could you please give me a solution to
> solve the problem?
>
> Regards,
> Chatree Srichart
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message