1) setup jetty in your web app project
                       <plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>8.1.10.v20130312</version>
    <configuration>
     <scanIntervalSeconds>10</scanIntervalSeconds>
     <webApp>
      <contextPath>${project.artifactId}</contextPath>
      <descriptor>${basedir}/src/main/webapp/WEB-INF/web.xml</descriptor>
      <jettyEnvXml>${basedir}/src/test/resources/jetty-env.xml</jettyEnvXml>
     </webApp>
     <scanTargets>
      <scanTarget>src/main/java</scanTarget>
      <scanTarget>src/main/resources</scanTarget>
      <scanTarget>src/main/webapp</scanTarget>
     </scanTargets>
     <scanTargetPatterns>
      <scanTargetPattern>
       <directory>src/test/resources</directory>
       <includes>
        <include>jetty*.xml</include>
       </includes>
       <excludes>
        <exclude></exclude>
       </excludes>
      </scanTargetPattern>
     </scanTargetPatterns>
    </configuration>
   </plugin>
2) setup jndi in jetty-env.xml
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure id='wac' class="org.mortbay.jetty.plugin.JettyWebAppContext">
 <New id="mysql" class="org.eclipse.jetty.plus.jndi.Resource">
     <Arg><Ref id="wac"/></Arg>
      <Arg>jdbc/abcd</Arg>
      <Arg>
         <New class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <Set name="driverClassName">com.mysql.jdbc.Driver</Set>
    <Set name="url">jdbc:mysql://localhost:3306/abcddb</Set>
    <Set name="username">user1</Set>
    <Set name="password">pwd123</Set>
   </New>
      </Arg>
    </New>
  
</Configure>
and, in web.xml
 <resource-ref>
  <description>JNDI config to access MySQL Database</description>
  <res-ref-name>jdbc/abcd</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>
3) db config in spring
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
 xmlns:cache="http://www.springframework.org/schema/cache" xmlns:p="http://www.springframework.org/schema/p"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/aop
         http://www.springframework.org/schema/aop/spring-aop.xsd
         http://www.springframework.org/schema/tx
      http://www.springframework.org/schema/tx/spring-tx.xsd
         http://www.springframework.org/schema/context
         http://www.springframework.org/schema/context/spring-context.xsd
         http://www.springframework.org/schema/cache
         http://www.springframework.org/schema/cache/spring-cache.xsd">
 <aop:aspectj-autoproxy />
 
 <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
  <property name="jndiName">
   <value>java:comp/env/jdbc/abcd</value>
  </property>
 </bean>
 <context:component-scan base-package="com.yourproject.dao" />
 <!-- We tell Spring that we are using annotations -->
 <context:annotation-config />
 <!-- switches on the @transactional behavior -->
 <tx:annotation-driven transaction-manager="transactionManager" />
 <bean id="transactionManager"
  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory" />
 </bean>
 <!-- Hibernate SessionFactory -->
 <bean id="sessionFactory"
  class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
  p:dataSource-ref="dataSource">
  <property name="packagesToScan" value="com.yourproject.dao" />
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
   </props>
  </property>
 </bean>
</beans>
Reference:
http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin
  
No comments:
Post a Comment