oracle 11g, hibernate 3 및 jsf2.I를 사용하고 있습니다. was7.Every에 응용 프로그램을 배포했으나 나중에 로그인하려고 시도합니다. 그것이 5-6시간 내가없는이 오류를 사전에 도움이 와요 고마워요 solve.Please하는 방법을 찾기 위해 나에게 오류java.sql.SQLException : Io 예외 : 피어에 의한 연결 재설정 : 소켓 쓰기 오류
ERROR org.hibernate.util.JDBCExceptionReporter - Io exception: Connection reset by peer: socket write error
[5/28/13 11:31:25:048 IST] 00000024 SystemErr R org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.doList(Loader.java:2231)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
at org.hibernate.loader.Loader.list(Loader.java:2120)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
을 제공합니다.
이제이 문제를 코드로 해결했지만 올바른 방법인지 아닌지는 모르겠다. 제안 할 때까지는이 솔루션을 계속 사용하지 않아야합니다.
public class ApplicationUtilityBean implements Serializable {
private SessionFactory sessionFactory;
private AnnotationConfiguration cfg;
public String filePath;
private String realPath = Config.PATH;
public ApplicationUtilityBean() throws URISyntaxException {
getConnection();
}
public void getConnection() {
URL r = this.getClass().getClassLoader().getResource("hibernate.cfg.xml");
cfg = new AnnotationConfiguration();
cfg.configure(r);
String pwd = cfg.getProperty("hibernate.connection.password");
TripleDESEncryption tripledesenc = null;
try {
tripledesenc = new TripleDESEncryption();
} catch (Exception e) {
e.printStackTrace();
}
cfg.setProperty("hibernate.connection.password",
tripledesenc.decrypt(pwd));
sessionFactory = cfg.buildSessionFactory();
System.out.println("cfg: " + cfg);
System.out.println("sessionFactory: " + sessionFactory);
}
public Session getSession() {
System.out.println("Going to get session");
Session session = null;
try {
System.out.println("cfg is: " + cfg);
System.out.println("sessionFactory: " + sessionFactory);
session = sessionFactory.openSession();
if(session != null){
try {
Transaction trxn = session.beginTransaction();
Query queryResult = session.createSQLQuery("select * from dual");
List<GTS_USER>listgtsuser = queryResult.list();
} catch (Exception e) {
e.printStackTrace();
System.out.println("Creating new connection............");
session.close();
sessionFactory.close();
getConnection();
session = sessionFactory.openSession();
}
}
} catch (Exception e) {
e.printStackTrace();
}
return session;
}
}
내 최대 절전 모드 설정 파일은 여기
<hibernate-configuration>
<session-factory>
<property name="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</property>
<property name="hibernate.cache.use_query_cache">true</property>
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@xxxxxxxxx:1521:HMS</property>
<property name="hibernate.connection.username">xxxxx</property>
<property name="hibernate.connection.password">xxxxxxxxxxx</property>
<property name="hibernate.connection.pool_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.OracleDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
최대 절전 모드 구성 파일에 데이터베이스 매개 변수를 지정했거나 was7에 정의 된 데이터 원본을 사용하고 JNDI를 사용하여 조회하고 있습니까? – gkamal
최대 절전 모드 설정에서만 db 매개 변수를 지정 – RaviPancholi