외부 액세스 Jboss 5에서 구성된 DataSource
(1) jboss-5.0.1 다운로드.GA, 그리고 디렉터리로 압축을 풀면 "${Jboss 루트}"로 디렉터리를 표시합니다.
(2) MySQL Connector를 다운로드하고 압축을 풀면 mysql-connector-java-5.1.22-bin.jar를 ${Jboss 루트 디렉터리}/server/default/lib로 복사합니다.
(3) MySQL을 시작하여 testDb를 만들고 testTable 테이블을 만듭니다.
+-----------------+
| name |
+-----------------+
| testData |
| anotherTestData |
+-----------------+
(4) ${Jboss 루트 디렉터리 복사}/jboss-5.0.1.GA/docs/examples/jca/mysql-ds.xml 파일을 ${Jboss 루트 디렉터리}/server/default/deploy 디렉터리에 저장하고 다음과 같이 수정합니다.
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>MySqlDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/testDb</connection-url>、
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>{ }</user-name>
<password>{ }</password>
<use-java-context>false</use-java-context>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
특별히 주의하세요, mysql-ds.xml 파일에 다음과 같이 추가해야 합니다.
<
use-java-context
>false</
use-java-context
>
DataSource , DataSource :
Exception in thread "main" javax.naming.NameNotFoundException: MySqlDS not bound
(5) Jboss를 시작하여 ${Jboss 루트 디렉터리}/bin 아래의run을 직접 실행합니다.sh하면 됩니다. 기본적으로default 모드를 시작합니다.방문http://localhost:8080/jmx-console/, 페이지의 "서비스JNDIVIEW"를 클릭하고 다음 페이지에서 list 표시줄의 Invoke 단추를 누르면 우리가 이미 설정한 MySqlDS를 볼 수 있습니다:
(6) 다음과 같은 테스트 클래스를 작성합니다.
public class MySqlTest
{
public static void main(String args[]) throws NamingException, SQLException
{
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL, "jnp://127.0.0.1:1099");
env.put(Context.URL_PKG_PREFIXES, "org.jboss.namingrg.jnp.interfaces");
Context ctx = new InitialContext(env);
Connection connection = ((DataSource) ctx.lookup("MySqlDS")).getConnection();
ResultSet resultSet = connection.createStatement().executeQuery("SELECT * FROM testTable");
while (resultSet.next())
{
String job_name = resultSet.getString("name");
System.out.println(job_name);
}
}
}
실행할 때 다음 두 개의jar 파일을classpath에 추가해야 합니다.
.{Jboss 루트}/common/lib/jnpserver.jar
본인의 방법은 {Jboss 루트 디렉터리}/common/lib와 {Jboss 루트 디렉터리}/lib를 모두classpath에 추가하는 것입니다.
(7) 테스트 클래스를 실행하고 프로그램 출력은 다음과 같습니다.
출력은 데이터베이스에 있는 데이터로 큰 성과를 거두었다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.