[Search] Search   [Register] Register /  [Login] Login 
Caused by: java.sql.SQLException: 로케일을 인식할 수 없습니다.
Forum Index » Resin Server Q&A
Author Message
user



안녕하세요.
현재 Resin 3.1을 사용하고있는 유저입니다.
아래와 같은 환경으로 WebService를 구축했습니다.

1. 구축환경
- OS : Windows 2008
- Resin : 3.1
- jdk : 1.5.0_17
- jdbcdriver : ojdbc5.jar
- Oracle : 11.2.0.3 (11g)

위와같은 구축환경으로 사이트를 운영하고 있습니다.
그런데, 간헐적으로 DB Connection 이 잘안되는 현상이 발생하면서, 아래와 같은 에러가 발생합니다.
현재 서버는 이중화 되어있고, 두대의 서버에 각각의 resin 서버가 돌아가고 있습니다.
(L4로 로드발랜싱 하고 있음)
아래는 에러발생시 로그입니다.
* 참고 : resin.conf를 첨부파일로 올려드립니다.

=============================================================================================
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: 로케일을 인식할 수 없습니다. at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) at javax.servlet.http.HttpServlet.service(HttpServlet.java:153) at javax.servlet.http.HttpServlet.service(HttpServlet.java:91) at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:273) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682) at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743) at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662) at java.lang.Thread.run(Thread.java:595) Caused by: org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: 로케일을 인식할 수 없습니다. at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:240) at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371) at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:335) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy68.getCommDocDeviceList(Unknown Source) at com.sds.citec.workflow.common.web.WorkflowCommonController.ajaxListCommDocDevice(WorkflowCommonController.java:196) at sun.reflect.GeneratedMethodAccessor1381.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426) at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:409) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) ... 14 more Caused by: java.sql.SQLException: 로케일을 인식할 수 없습니다. at oracle.jdbc.driver.T4CTTIoauthenticate.setSessionFields(T4CTTIoauthenticate.java:990) at oracle.jdbc.driver.T4CTTIoauthenticate.<init>(T4CTTIoauthenticate.java:235) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:370) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521) at net.sf.log4jdbc.DriverSpy.connect(DriverSpy.java:717) at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294) at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1148) at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96) at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880) at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:202) ... 32 more
Admin

[Avatar]


안녕하세요.

우선 첨부해주신 Resin 설정을 확인해본 결과 특별히 이상은 없었습니다.또한 현재 Resin 의 DB pool 을 사용하는 것이 아니며 Spring 에서 Apache DBCP 를 통해getConnection 을 하고 있기 때문에 발생하고 있는 문제는 Resin 과는 상관 없다고 보셔도 좋습니다.

Apache DBCP 설정 (url , service name 등 ) 의 유효성 체크,Spring 의 Transaction Manager 설정의 이상 유무 체크,11g 에 현재 JDBC driver 가 정상적으로 사용가능 한지 확인 및 교체 시도,Oracle 11g 환경 등을 살펴보셔야 할 것 같습니다.
 
Forum Index » Resin Server Q&A
Go to: