2011-10-28 10 views
8

के लिए जेएनडीआई को कॉन्फ़िगर करना 1.5 विकेट के बाद, मैं जेटी 6.1.25 से 7.5.0.v20110901 तक एक परियोजना को परिवर्तित कर रहा हूं।जेट्टी 7: Start.java

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 निम्नलिखित है:: मेरे मौजूदा Start.java निम्नलिखित सेटअप है, जो मैं कॉन्फ़िगर करने के लिए JNDI का उपयोग होता है

<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 करता है प्रतीत नहीं होता है (या शायद मुझे एक जार याद आ रही है)।

क्या कोई मुझे जेटी 7 के साथ जेएनडीआई को कॉन्फ़िगर करने के बारे में कुछ मार्गदर्शन दे सकता है?

उत्तर

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"); 

और जोड़ने 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

जेट्टी 7 से शुरू होने पर, पैकेज का नाम org.mortbay.jetty से org.eclipse.jetty में बदल दिया गया था।

इसके अलावा, org.eclipse.jetty.plus.webapp.Configuration संस्करण 7.2.0 में नाम दिया गया था और नया नाम PlusConfiguration है। मुझे लगता है कि org.eclipse.jetty.webapp.Configuration के साथ नाम टकराव से बचने के लिए यह किया गया था।

संबंधित मुद्दे