2012-04-17 3 views
2

내 응용 프로그램에서 코드를 변경하지 않고 JBoss에서 ConnectionPool/JDBC를 만들려면 어떻게해야합니까? 이미 배치 파일 (.WAR)이 있습니다.JBoss AS 5.x에서 Tomcat 연결 풀 사용

예를 들어, tomcat에서는 server.xml 파일에 새 리소스를 추가하기 만하면됩니다. 다음과 같은 것이 있습니다 :

... 
<GlobalNamingResources> 
    ... 
    <Resource driverClassName="com.mysql.jdbc.Driver" name="testDBConnectionPool" password="root" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/testDB" username="root"/> 
    ... 
</GlobalNamingResources> 
... 

JBoss에서 수행하는 방법? 내가 이해할 수있는 것처럼 JBoss는 mysql-ds.xml file을 사용하지만 코드에서 호출해야합니다. 내가 맞습니까?

JBoss에 Tomcat과 비슷한 접근법이 있습니까?

답변

2

mysql-ds.xml에 필요한 정보를 추가하고 $ JBOSS_HOME/dirserver/default/deploy에 넣으십시오. 당신의 데이터 소스의 이름은 JDBC/MySQLDS 경우

, 당신은 다음과 같이 호출 할 수

javax.naming.Context ic = new javax.naming.InitialContext(); 
javax.naming.Context ctx = (javax.naming.Context) ic.lookup("java:"); 
javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup("jdbc/MySQLDS"); 
java.sql.Connection con = ds.getConnection(); 

갱신 : 당신이 확실 mysql을-ds.xml은 정확한 값이해야

거기 tomcat의 server.xml.

+0

감사합니다.하지만 내 문제는 코드를 변경할 수 없다는 것입니다. 난 그냥 게시 할 WAR 파일을 가지고 ... jdbc 연결은 persistence.xml의 WAR 내에 정의되어 있습니다. – jbatista

+1

데이터 소스 및 게시를 구성하기 만하면 아무 것도 변경할 필요가 없습니다. context.xml 또는 web.xml 파일에 제공된 JDBC 데이터 소스를 참조 할 수 있습니다. JBoss의 context.xml/web.xml vs * -ds.xml에서 이름의 차이가없는 한. 그들은 모두 일해야합니다. – Phani