Submitted by string on 2007, November 21, 11:54 PM
Context ctx=new InitialContext();
Connection conn=null;
Hashtable parms = new Hashtable();
parms.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.ejs.ns.jndi.CNInitialContextFactory");
try{
ctx = new InitialContext(parms);
DataSource ds = (DataSource)ctx.lookup("jdbc/test");
conn = ds.getConnection("test","test");
}catch(NamingException ne){
System.out.println(ne);
}
Tags: websphere, jndi, 数据库
系统工程师 | 评论:0
| 阅读:1455
Submitted by string on 2006, November 16, 11:22 AM
从一个项目组到另外一个项目组。环境从tomcat+db2,走jndi的连接方式到weblogic+oracle ,走直接连接方式,认证用ladp。奶奶的,结果等rollback的时候,发现之前配置的jndi不能使用了。采用的app的驱动。开发环境采用的是eclipse3.1+myeclipse4.1GA,小版本号没记。tomcat没有变化,还是5.016。
思考一下调整过的地方。
myeclipse的插件,使用tomcat的和时候,查找lib的方式和m7的插件不同。和独立启动的查找lib的方式也不同。因为要启动weblogic,之间需要加载class12.jar,开始配置再tomcat里面,改动了Append to lib path的内容,后来发现需要使用weblogic,这边没有修改成功,也没有restore一下。使用现在的问题就是。
启动tomcat走jndi的方式调用db2的连接,应该怎么设置。
分析,使用app去驱动,也就是需要客户端的连接。检查连接方式,还有之前的配置。完全没有改动,现在的问题就是出现在myeclipse的插件的关于tomcat的调用的问题。ok,继续分析:
app既然需要调用客户端连接,那么Append to lib path里面,引入的是dir,那么也就是说,这个dir应该是客户端的目录dir。ok,添加此dir。test,调用成功。
总结:思考问题的模式一定要从最底层开始往上发散,这样才能抓住症结。
Tags: jndi, app, db2, tomcat
生活在别处 | 评论:0
| 阅读:2059
Submitted by string on 2006, October 18, 11:40 AM
一 载入jndi问题
在tomcat中,(我的版本是5.016)。在tomcat\conf\Catalina\localhost里的xml文件,内容如下:
<Context path="/sec" docBase="D:\\stringlew workspace\\BankCommPortal\\WebContent">
<Resource name="jdbc/bankcomm" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/bankcomm">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>60</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>500</value>
</parameter>
<parameter>
<name>username</name>
<value>username</value>
</parameter>
<parameter>
<name>password</name>
<value>password</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>COM.ibm.db2.jdbc.app.DB2Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:db2:bankcomm</value>
</parameter>
</ResourceParams>
</Context>
如何调用呢?调用如下:
<ServiceElement id="DB2Conn" classname="com.geong.util.service.JndiConnectionPool">
<Param name="jndiName">java:comp/env/jdbc/bankcomm</Param>
</ServiceElement>
可以完成调用了。
二 jni调用dll的问题。
调试中文分词,词库放在项目根目录,eclipse测试main方法可以通过,正确分词。
但是用jsp调用,(tomcat)不能。分析原因:没有找到词库。
跟踪调试,打印出来user.dir.发现用main函数调用的时候,user .dir是项目的目录。而用tomcat的时候,发现user.dir是tomcat的安装目录的bin,那么把词库文件拷贝到tomcat的bin目录下就能正确分词。
效果如下:

Tags: eclipse, tomcat, dll, jni, jndi
系统工程师 | 评论:0
| 阅读:2524