首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否必须使用JDBC连接池重新启动with服务器以反映数据库记录的更改?

是否必须使用JDBC连接池重新启动with服务器以反映数据库记录的更改?
EN

Stack Overflow用户
提问于 2013-01-03 19:29:47
回答 1查看 233关注 0票数 0

我发现我的web服务器有奇怪的行为。Java Servlet返回的输出没有反映我对数据库所做的更改。

我的servlet使用JDBC连接池连接到Oracle数据库。

以下是设置:

代码语言:javascript
复制
    <JDBCCONNECTIONPOOL name="mypool" datasourceclassname="oracle.jdbc.pool.OracleDataSource" steadypoolsize="8" 

maxpoolsize="32" poolresizequantity="2" idletimeout="300" maxwaittime="60000" 

connectionvalidationrequired="off" connectionvalidationmethod="auto-commit" 

validationtablename="" failallconnections="off" transactionisolationlevel="serializable" 

isolationlevelguaranteed="off">

要查看我的表更改,我需要重新启动我的For服务器。

这是某种故障,还是我需要更改我的配置?

我不确定我已经提交了SQL Developer上的所有更改。

谢谢

附注:如有解释将不胜感激(加分!)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-03 22:58:09

我看到你有:

代码语言:javascript
复制
 transactionisolationlevel="serializable" 

如果这是到oracle连接的映射,那么您看到的行为就是我所期望的。

也就是说,即使另一个会话提交,您也不会看到该行,直到到数据库的java连接提交。

例如,以2个sql*plus会话为例。

代码语言:javascript
复制
SESSION 1                                   SESSION 2
SQL> create table foobar(id number);        SQL> alter session set isolation_level=serializable;

Table created.                              Session altered.

SQL> insert into foobar values (1);         SQL> select * from foobar;

1 row created.                              no rows selected

到目前为止预期的结果,会话2看不到该行。现在我们在会话1中提交:

代码语言:javascript
复制
SQL> commit;                               

Commit complete.
                                           SQL> select * from foobar;

                                           no rows selected

但是session 2仍然看不到它。

代码语言:javascript
复制
                                           SQL> commit;

                                           Commit complete.

                                           SQL> alter session set isolation_level=serializable;

                                           Session altered.

                                           SQL> select * from foobar;

                                                   ID
                                           ----------
                                                    1

但是现在,一旦session2提交,它就可以了。

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

https://stackoverflow.com/questions/14138073

复制
相关文章

相似问题

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