2011-10-28 9 views
8

Wicket 1.5のリードに従って、プロジェクトをJetty 6.1.25から7.5.0.v20110901に変換しています。私はStart.javaを既存のは、私はJNDIを構成するために使用し、以下の設定を、含まれていますJetty 7:Start.javaのJNDIを設定する

EnvConfiguration envConfiguration = new EnvConfiguration(); 
    URL url = new File("src/main/webapp/WEB-INF/jetty-env.xml").toURI().toURL(); 
    envConfiguration.setJettyEnvXml(url); 

    bb.setConfigurations(new Configuration[]{new WebInfConfiguration(), 
         envConfiguration, 
         new org.mortbay.jetty.plus.webapp.Configuration(), new JettyWebXmlConfiguration(), 
         new TagLibConfiguration()}); 

それから私のjetty-env.xmlは以下があります。

<Configure class="org.mortbay.jetty.webapp.WebAppContext"> 

    <New class="org.mortbay.jetty.plus.naming.Resource"> 
     <Arg>jdbc/myapp</Arg> 
     <Arg> 
      <New class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
       <Set name="driverClassName">com.mysql.jdbc.Driver</Set> 
       <Set name="url">jdbc:mysql://localhost/myapp?characterEncoding=utf8</Set> 
       <Set name="username">username</Set> 
       <Set name="password">password</Set> 
      </New> 
     </Arg> 
    </New> 

</Configure> 

これは桟橋6で素晴らしい仕事をしているが、7で、org.mortbay.jetty.plus.webapp.Configurationはありません存在していないようです(または、おそらく私は瓶がないです)。

Jetty 7でJNDIを設定する方法に関するガイダンスはありますか?

答えて

5

のsrc /テスト/桟橋/桟橋-env.xmlに次を置き:

<Configure id="wac" class="org.eclipse.jetty.webapp.WebAppContext"> 
    <New class="org.eclipse.jetty.plus.jndi.EnvEntry"> 
    <Arg>jdbc/mydatasource</Arg> 
    <Arg> 
     <New class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource"> 
      <Set name="Url">jdbc:mysql://localhost/mydatabase?characterEncoding=utf8</Set> 
      <Set name="User">username</Set> 
      <Set name="Password">password</Set> 
     </New> 
    </Arg> 
    </New> 
</Configure> 

を次に以下のプロパティを定義するStart.javaを変更します。

System.setProperty("java.naming.factory.url.pkgs", "org.eclipse.jetty.jndi"); 
System.setProperty("java.naming.factory.initial", "org.eclipse.jetty.jndi.InitialContextFactory"); 

し、AddをWebAppContextの次のコンフィグレーション:

EnvConfiguration envConfiguration = new EnvConfiguration(); 
URL url = new File("src/test/jetty/jetty-env.xml").toURI().toURL(); 
envConfiguration.setJettyEnvXml(url); 

bb.setConfigurations(new Configuration[]{ new WebInfConfiguration(), envConfiguration, new WebXmlConfiguration() }); 

詳細はblogです。

4

Jetty 7からは、パッケージ名がorg.mortbay.jettyからorg.eclipse.jettyに変更されました。

さらに、org.eclipse.jetty.plus.webapp.Configurationはバージョン7.2.0で名前が変更され、新しい名前はPlusConfigurationです。私はこれがorg.eclipse.jetty.webapp.Configurationと名前の衝突を避けるために行われたと推測しています。

関連する問題