2011-10-21 5 views
2

conf/server.xmlに複数のホスト・タグを指定した場合、サーブレット・コンテキストは2回ロードされます。それはベースのWebアプリケーションです。私は春を延長してContextLoaderとそれをカスタマイズしています。サーブレット・コンテキストの読み込みを2回実行しました

私のserver.xml(Tomcatの7.0.22)

     <Host name="localhost" appBase="webapps" 
         unpackWARs="true" autoDeploy="true"> 

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/mnt/databank/logs/tomcat7" 
        prefix="localhost_access_log." suffix=".txt" 
        pattern="%h %l %u %t &quot;%r&quot; %s %b" resolveHosts="false"/> 

    </Host> 

    <Host name="domain.com" appBase="webapps/Domain" 
         unpackWARs="true" autoDeploy="true" 
         > 
         <Context path="" docBase="."/> 
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/mnt/databank/logs/tomcat7" 
        prefix="localhost_access_log." suffix=".txt" 
        pattern="%h %l %u %t &quot;%r&quot; %s %b" resolveHosts="false"/> 
      <Context docBase="/mnt/databank/posters" path="/Domain/posters"/> 
      <Context docBase="/mnt/databank/advertisement" path="/Domain/advertisement"/> 
      <Context docBase="/mnt/databank/star" path="/Domain/star"/> 
    </Host> 

    <Host name="www.domain.com" appBase="webapps/Redirecter" 
         unpackWARs="true" autoDeploy="true"> 

         <Context path="" docBase="."/> 
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/mnt/databank/logs/tomcat7" 
      prefix="localhost_access_log." suffix=".txt" 
      pattern="%h %l %u %t &quot;%r&quot; %s %b" resolveHosts="false"/> 
    </Host> 

私は任意の助けをいただければ幸い、次のように二回trigering

2011-10-21 12:11:22,933 ERROR [Thread-2] c.i.b.u.DomainUtilInitializer [DomainUtilInitializer.java:38] Init Method Triggered 
2011-10-21 12:11:46,621 ERROR [Thread-15] c.i.b.u.DomainUtilInitializer [DomainUtilInitializer.java:38] Init Method Triggered 

をContextLoaderでログを追加しました。

+0

私は2つのアプリケーションを持っています。私はこのTomcatに両方を展開したいと思います。そのうちの1つは登録されたドメイン名を解決する必要があります。他にはコンテキストパスを使用してアクセスする必要があります。 3番目のホストは、SSLナビゲーションを修正することです。私たちはhttp://domain.comとしてドメインを登録しています。リクエストがwww.domain.comから来た場合、ブラウザにセキュリティリスクが表示されます。 www.domain.comをdomain.comにリダイレクトする別のアプリケーションを導入しました。ユーザーは混乱することはありません。 – sunnychayen

答えて

3

これは期待される動作であるように思えます。つまり、ホストごとに1回、アプリケーションを2回実行するようにTomcatを設定しました。あなたは何を期待していますか? webappのインスタンスを1つだけ実行したい場合は、<host>sのように2つを設定しないでください。add a host name aliasを単一/デフォルトの<Host>に設定してください。

+1

ご協力いただきありがとうございます – sunnychayen

関連する問題