<bean id="dataSource" class="oracle.ucp.jdbc.PoolDataSourceFactory"
factory-method="getPoolDataSource" lazy-init="true" >
<property name="connectionFactoryClassName" value="oracle.jdbc.pool.OracleDataSource"/>
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="URL" value="${jdbc.url}" />
<property name="connectionWaitTimeout" value="30" />
<property name="minPoolSize" value="3"/>
<property name="maxPoolSize" value="20"/>
<property name="abandonedConnectionTimeout" value="300"/>
<property name="inactiveConnectionTimeout" value="900"/>
<property name="validateConnectionOnBorrow" value="true"/>
<property name="exceptionManager" value="exceptionManager"/>
</bean>
我坚持这个问题,如果有任何帮助是非常感谢的
请在以上问题上帮助我
经过一个星期的努力,我终于解决了这个问题:
解决方案:很可能是基于全局临时表(GTT)打开游标,该表是用on COMMIT DELETE ROWS选项创建的。ORA-08103:object Not Regoner exists错误的原因是紧随delete语句之后的commit语句。DBA团队不同意在提交保留行时更改GTT,所以最后我在Java服务层中添加了代码库[实现了Spring-Programmatic TransactionManager.rollback(status)int catch block这导致了连接关闭错误。
修复:
import java.util.List;
import javax.sql.DataSource;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.DefaultTransactionDefinition;
public class StudentJDBCTemplate implements StudentDAO {
private DataSource dataSource;
private JdbcTemplate jdbcTemplateObject;
private PlatformTransactionManager transactionManager;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
this.jdbcTemplateObject = new JdbcTemplate(dataSource);
}
public void setTransactionManager(PlatformTransactionManager transactionManager) {
this.transactionManager = transactionManager;
}
public void create(String name, Integer age, Integer marks, Integer year){
TransactionDefinition def = new DefaultTransactionDefinition();
TransactionStatus status = transactionManager.getTransaction(def);
try {
String SQL1 = "insert into Student (name, age) values (?, ?)";
jdbcTemplateObject.update( SQL1, name, age);
// Get the latest student id to be used in Marks table
String SQL2 = "select max(id) from Student";
int sid = jdbcTemplateObject.queryForInt( SQL2 );
String SQL3 = "insert into Marks(sid, marks, year) " + "values (?, ?, ?)";
jdbcTemplateObject.update( SQL3, sid, marks, year);
System.out.println("Created Name = " + name + ", Age = " + age);
transactionManager.commit(status);
}
catch (DataAccessException e) {
System.out.println("Error in creating record, rolling back");
**transactionManager.rollback(status);**
throw e;
}
return;
}
public List<StudentMarks> listStudents() {
String SQL = "select * from Student, Marks where Student.id=Marks.sid";
List <StudentMarks> studentMarks = jdbcTemplateObject.query(SQL,
new StudentMarksMapper());
return studentMarks;
}
}
我使用weblogic应用服务器和oracle数据库。我使用jdbc与oracle数据库通信。我从weblogic数据源获得连接,并向表中插入一条记录。问题是,当我想关闭连接(插入数据库后)时,我会遇到一个异常(连接已经关闭)。这是我的代码: 但是联系。close语句引发异常: 我试图避免连接。close语句(因为我教过连接是自动关闭的!!但过了一段时间,所有的连接都打开了,因此引发了一个异常)
我在上一篇文章java中试图解决我的问题。sql。SQLRecoverableException:已关闭连接。我尝试了c3p0连接。财产如下:, 在JBOSS中部署之后,我开始测试我的web。一开始,它工作得很好,甚至更快。10分钟后,继续加载并超时。当通过服务器时。日志我得到了如下一些警告消息。 请给出一些解决这个问题的想法。
我最近一直在玩套接字,但是我遇到了一个问题…当我从服务器接收数据时,我得到一个“java.net.套接字异常:套接字关闭”异常。我没有在任何地方关闭套接字,事实上,我唯一使用关闭()的地方是扫描仪上从System.in读取文本; 以下是我的代码: 客户: 服务器: 数据包发送者: 客户端接收器: 数据包接收器:
运行CRON JOB时,得到一个异常,说连接已经关闭。应用程序正在dropwizard上运行,以下是数据库配置 请帮助解决问题。
我正在尝试使用Http将数据发布到REST服务,我已将我的客户端配置如下: 现在我有一个executor service负责调用实际发布,我将上述参数移交给executor service,如下所示: line是我试图发送的JSON负载。 现在,我在executor服务中的方法如下所示: 我在
我已经将我的代码版本从http更改为https,我正在使用HttpClient=HttpClientFactory。getHttpsClient(),用于执行目的。当我第一次尝试运行代码时,它运行良好,下次抛出异常 Java语言lang.IllegalStateException:连接池关闭异常 我使用的是4.5HC。