配置数据源时,可以选中“公开为JNDI数据源”部分中的“使用数据源工厂”复选框。文件对此的解释如下:
若要从外部环境访问数据源,必须使用数据源工厂。选择此选项时,将使用定义的数据源属性创建引用对象。当从外部环境访问数据源时,数据源工厂将根据引用对象的值创建数据源实例。在数据源配置中,设置如下:< jndiConfig useDataSourceFactory="true“>
不过,对我来说,这听起来完全不清楚。这里的“外部环境”是什么?
能不能更详细地解释一下set和unset复选框状态之间的实际区别?
我在自定义中介中使用这样的JNDI数据源来连接Postgres9.3,并看到如下区别:
发布于 2015-12-16 12:36:29
因此,此设置的效果是为每个请求它的中介实例化特定的连接池(org.apache.tomcat.jdbc.pool.DataSource)。否则,所有中介程序都使用相同的连接池。
在我的例子中,出现这个问题是因为连接设置一旦返回到池中就不会被清除。一些中介器为某些连接设置了autoCommit=false,在这里,行为变得不确定:仍然具有默认设置的连接成功地将数据保存在DB中,而与autoCommit=false的连接则发出BEGIN/ROLLBACK语句(因此在DB中没有保存任何数据)。
https://stackoverflow.com/questions/34228565
复制相似问题