首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JNDI数据源的WSO2“使用数据源工厂”选项

JNDI数据源的WSO2“使用数据源工厂”选项
EN

Stack Overflow用户
提问于 2015-12-11 16:50:41
回答 1查看 227关注 0票数 2

配置数据源时,可以选中“公开为JNDI数据源”部分中的“使用数据源工厂”复选框。文件对此的解释如下:

若要从外部环境访问数据源,必须使用数据源工厂。选择此选项时,将使用定义的数据源属性创建引用对象。当从外部环境访问数据源时,数据源工厂将根据引用对象的值创建数据源实例。在数据源配置中,设置如下:< jndiConfig useDataSourceFactory="true“>

不过,对我来说,这听起来完全不清楚。这里的“外部环境”是什么?

能不能更详细地解释一下set和unset复选框状态之间的实际区别?

我在自定义中介中使用这样的JNDI数据源来连接Postgres9.3,并看到如下区别:

  • 复选框" on ":没有发出事务标记(开始/提交/回滚),但新记录总是添加到数据库中,就像自动提交是打开的一样。
  • 复选框"off":不时添加新记录,隐式地发出BEGIN和ROLLBACK语句(显示在Postgres日志中)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-16 12:36:29

因此,此设置的效果是为每个请求它的中介实例化特定的连接池(org.apache.tomcat.jdbc.pool.DataSource)。否则,所有中介程序都使用相同的连接池。

在我的例子中,出现这个问题是因为连接设置一旦返回到池中就不会被清除。一些中介器为某些连接设置了autoCommit=false,在这里,行为变得不确定:仍然具有默认设置的连接成功地将数据保存在DB中,而与autoCommit=false的连接则发出BEGIN/ROLLBACK语句(因此在DB中没有保存任何数据)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34228565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档