我正在从玻璃鱼迁移到嵌入式码头。 我已经配置了嵌入式码头以使用焊接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相同
谢谢!
答案 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");
...
}
}