nbaertuo 发表于 2013-1-14 23:46:05

手动建立jetty datasource

看了jetty官方的datasource建立代码 需要在web/inf下面新建一个jetty-env.xml。但是这种方式只适合在整个项目有完整的war包情况下,才能顺利加载,如果你的项目是个多工程的,而且webapp目录还没有生成或者web.xml是编译期生成的,那么你不不能适合这种方式。 在前面的文章中介绍了手动使用jetty嵌入加载web工程,这里给个手动设置jndi datasource的代码例子。
 
 
 /** * 绑定datasource到JNDI */
private void bindDataSource()
{
   DriverManagerDataSource dataSource = new DriverManagerDataSource();         
   dataSource.setDriverClassName("org.hsqldb.jdbcDriver");
   dataSource.setUrl("jdbc:hsqldb:mem:booking");
   dataSource.setUsername("sa");
   dataSource.setPassword("");
   javax.naming.Context context;
   try {
          context = new InitialContext();
          javax.naming.Context compCtx = (javax.naming.Context) context.lookup("java:comp");    
           javax.naming.Context envCtx = compCtx.createSubcontext("env"); NamingUtil.bind(envCtx, 
                                   "jdbc/hsqldb", dataSource); }
   catch (NamingException e)
            { e.printStackTrace();
 
       }
}
 
 
 
spring中使用jndi <!-- jndi test-->
<bean id="dataSourceJNDI" class="org.springframework.jndi.JndiObjectFactoryBean">
      <property name="jndiName"><value>java:comp/env/jdbc/hsqldb</value></property>
</bean>
页: [1]
查看完整版本: 手动建立jetty datasource