我是jboss的新手,我被要求将jboss连接池机制与现有的Web应用程序结合在一起.考虑到正确编写了Web应用程序数据库层,即所有结果集,语句和连接在不需要时正确关闭,在我正确配置jboss数据源之后,我必须在我的Web应用程序中进行所有代码更改.
任何人都可以指向我在Web应用程序中使用jboss数据源的教程或代码示例.
解决方法
JBoss中的池都在DataSource配置中处理.
Here是HowTo. Web应用程序必须对数据源执行JNDI查找以获取数据库连接而不是执行直接JDBC URL,然后您将进行池化.
然而,交易是另一个故事.
String jndiPath = "java:DataSourceJNDIName"; //The exact prefix here has a lot to do with clustering,etc.,but if you are using one JBoss instance standalone,this works. Context ctx = new InitialContext(); DataSource ds = (DataSource) PortableRemoteObject.narrow(ctx.lookup(jndiPath),DataSource.class); Connection c = ds.getConnection();
从技术上讲,在JBoss(4.2.2无论如何)单服务器配置中,PortableRemoteObject.narrow不是必需的,但它是更合适的J2EE标准代码,因为通用应用程序服务器不必返回正确类型的对象只是为了做一个Context.lookup.
以上内容不包括资源利用率和错误处理问题.当你完成它时,你应该关闭那个Context对象,当然还有数据库连接,尽管如果你忘记关闭数据库连接并且事务结束,JBoss会对你大喊大叫,并为你关闭它.
无论如何,Connection对象可以和DriverManager.getConnection(url)一样使用;