嵌入式码头焊接 - 如何设置jdbc

时间:2013-12-08 16:34:33

标签: embedded-jetty

我正在从玻璃鱼迁移到嵌入式码头。 我已经配置了嵌入式码头以使用焊接CDI并且它可以工作。 我想连接到AS400 DB2数据库,我遇到了麻烦。

我的glassfish-resources.xml如下所示:

    

<jdbc-connection-pool name="db2_pool"
                      datasource-classname="com.ibm.as400.access.AS400JDBCDataSource"
                      res-type="javax.sql.ConnectionPoolDataSource"
                      driver-classname="">
    <description />
    <property name="DatabaseName" value="xxx"></property>
    <property name="ServerName" value="1.1.1.1"></property>
    <property name="naming" value="SYSTEM"></property>
    <property name="User" value="user"></property>
    <property name="Password" value="pass"></property>
    <property name="URL" value="jdbc:as400://1.1.1.1;libraries=db2"></property>
    <property name="libraries" value="DB2"></property>          
</jdbc-connection-pool>

有没有人知道如何配置jetty-env.xml和web.xml与jetty 9.1相同

谢谢!

1 个答案:

答案 0 :(得分:1)

假设Jetty 9.1

请参阅:http://www.eclipse.org/jetty/documentation/current/jndi-configuration.html#configuring-datasources

WEB-INF/jetty-env.xml

<Configure id='wac' class="org.eclipse.jetty.webapp.WebAppContext">
  <New id="db2_pool" class="org.eclipse.jetty.plus.jndi.Resource">
    <Arg><Ref refid="wac"/></Arg>
    <Arg>jdbc/db2_pool</Arg>
    <Arg>
      <New class="com.ibm.as400.access.AS400JDBCDataSource">
        <Set name="DatabaseName">xxx</Set>
        <Set name="ServerName">1.1.1.1</Set>
        <Set name="naming">SYSTEM</Set>
        <Set name="User">user</Set>
        <Set name="Password">pass</Set>
        <Set name="URL">jdbc:as400://1.1.1.1;libraries=db2"></Set>
        <Set name="libraries">DB2</Set>
      </New>
    </Arg>
  </New>
</Configure>

然后你有一个WEB-INF / web.xml部分

<resource-ref>
  <res-ref-name>jdbc/db2_pool</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

最后,在您的代码中,您可以通过...

访问它
import javax.naming.InitialContext;
import javax.sql.DataSource;

public class MyClass {

  public void myMethod() {

    InitialContext ic = new InitialContext();
    DataSource myDS = (DataSource)ic.lookup("java:comp/env/jdbc/db2_pool");     

    ...
  }
}