2012-10-25 3 views
0

ServletContext에서 Jdbc Connection 객체를 공유하려고 시도했지만 좋은 생각이 아닙니다! 이제 각 서블릿에 대한 Jdbc를 공유한다고 생각합니다! 모든 서블릿과 동일한 서블릿의 스레드가 연결을 공유하는 방식으로. 이제 나는 약간의 의심을 품었다! 오류입니까 아니면 안전하지 않은 것입니까? 마지막으로 MySql을 사용하여 연결의 시간 초과 속성에 문제가 있습니까? 모두에게 감사드립니다.Servlet에서 데이터베이스 연결 공유

+0

'내가 ServletContext 내에서 JDBC 연결 객체를 공유하려고했지만 그것은 좋은 생각이 아니다 '는 좋은 생각이 아니다 왜!? –

+0

@Paulius : [이 답변에 언급 된 이유로 (http://stackoverflow.com/questions/9428573/is-it-safe-to-use-a-static-connection-java-sql-object-in-a) -multithreaded-syste/9431863 # 9431863). – BalusC

+0

연결 풀링의 존재에 대해 몰랐기 때문에 나는이 클래스를 사용하여 나를 작성하려고했습니다. – paolo2988

답변

0

연결 풀링이 필요합니다. 이 작업을 수행하는 표준 방법입니다. 연결 풀링 및 Java에서 구현하는 방법에 대해 읽어보십시오. 당신이 대답을 읽을 수

그것을 설명하기 좀 더 : Opening a database connection in a constructor, when should I close it?

+0

내가 올바르게 이해한다면 나는 "context.xml"을 편집해야하고 init() 메소드에서 풀을 생성해야한다. 그러나 모든 Serlvet Init()에서 풀을 만들면 각 서블릿에 대해 별도의 풀을 얻을 수 있습니까? 그렇지 않으면 내가 ServletContextListener에서 모든 서블릿이 공유하는 풀을 얻을 수 있습니까? – paolo2988

+0

서블릿 배포에 어떤 서버를 사용하고 있습니까? TomCat을 사용하는 것 같습니까? 이 문제를 해결하는 데 도움이 될 수 있도록 알려 주시기 바랍니다. – Namphibian

+0

네, TomCat 7을 사용하고 있으며 NetBeans를 사용하여 웹 응용 프로그램을 개발하고 있습니다. 그래서, 내가 새로운 서블릿이나 로컬에서 새로운 기능을 시도 할 때 NetBeans에서 TomCat을 사용합니다. 당신의 도움을 주셔서 감사합니다. – paolo2988