Sun Java System Web Server 7.0 관리자 설명서

Java 자원 구성

웹 응용 프로그램은 자원 관리자, 데이터 소스(예: SQL 데이터 소스), 전자 메일 세션 및 URL 연결 팩토리 등 다양한 자원에 액세스할 수 있습니다. Java EE 플랫폼은 JNDI(Java Naming and Directory Interface) 서비스를 통해 응용 프로그램이 이러한 자원을 사용할 수 있도록 합니다.

Sun Java System Web Server를 사용하면 다음 Java EE 자원을 만들고 관리할 수 있습니다.

JDBC 자원 구성

JDBC 데이터 소스는 Sun Java System Web Server를 사용하여 만들고 관리할 수 있는 Java EE 자원입니다.

JDBC API는 관계형 데이터베이스 시스템과의 연결을 위한 API입니다. JDBC API는 두 부분으로 이루어집니다.

JDBC 데이터 소스 객체는 Java 프로그래밍 언어로 데이터 소스를 구현한 것입니다. 간단히 말해 데이터 소스는 데이터를 저장하기 쉽게 하는 것입니다. 이는 대규모 기업용의 복잡한 데이터베이스처럼 정교한 것일 수도 있고 행과 열로 이루어진 파일과 같이 간단한 것일 수도 있습니다. JDBC 데이터 소스는 Sun Java System Web Server를 통해 만들고 관리할 수 있는 Java EE 자원입니다.

JDBC API는 일련의 Java용 클래스를 제공하며, 다양한 범위의 관계형 데이터베이스에 동일하게 액세스할 수 있도록 하는 표준 SQL 데이터베이스 액세스 인터페이스를 포함합니다.

JDBC를 사용하면 SQL 문을 거의 모든 데이터베이스 관리 시스템(DBMS)에 보낼 수 있습니다. 또한 관계형 및 객체 DBMS 모두에 대한 인터페이스로 사용됩니다.

JDBC 자원 추가

CLI를 통해 JDBC 자원을 추가하려면 다음 명령을 실행합니다.


wadm> create-jdbc-resource --user=admin --password-file=admin.pwd --host=serverhost
--port=8989 --config=config1 --datasource-class=oracle.jdbc.pool.OracleDataSource jdbc

CLI 참조 create-jdbc-resource(1)를 참조하십시오.

위의 예에서 com.pointbase.jdbc.jdbcDataSource는 JDBC 드라이버 클래스를 나타냅니다.

지원되는 JDBC 드라이버의 목록은 Sun Java System Web Server에서 지원되는 JDBC 드라이버를 참조하십시오.

Sun Java System Web Server에서 지원되는 JDBC 드라이버

다음 표에서는 새 JDBC 자원을 추가할 때 구성해야 하는 공통 JDBC 드라이버 및 해당 등록 정보 목록을 제공합니다. 새 JDBC 자원 추가를 참조하십시오.

표 11–2 공통 및 지원되는 JDBC 드라이버 목록

드라이버

클래스 이름

등록 정보

Oracle 드라이버

oracle.jdbc.pool.OracleDataSource

  • url

  • 사용자

  • 비밀번호

Oracle용 SJS JDBC 드라이버

com.sun.sql.jdbcx.oracle.OracleDataSource

  • 서버 이름

  • 포트 번호

  • 사용자

  • 비밀번호

  • SID

DB2 IBM 드라이버

com.ibm.db2.jdbc.DB2DataSource

  • 서버 이름

  • 데이터베이스 이름

  • 포트 번호

  • 사용자

  • 비밀번호

  • 드라이버 유형

DB2용 SJS JDBC 드라이버

com.sun.sql.jdbcx.db2.DB2DataSource

  • 데이터베이스 이름

  • 위치 이름

  • 패키지 이름

  • 비밀번호

  • 포트 번호

  • 서버 이름

  • 사용자

MS SQLServer 드라이버

com.ddtek.jdbcx.sqlserver.SQLServerDataSource

  • 데이터베이스 이름

  • 비밀번호

  • 사용자

  • 서버 이름

  • 포트 번호

MS용 SJS JDBC 드라이버

com.sun.sql.jdbcx.sqlserver.SQLServerDataSource

  • 데이터베이스 이름

  • 비밀번호

  • 사용자

  • 서버 이름

  • 포트 번호

Sybase 드라이버

com.sybase.jdbcx.SybDataSource

  • 데이터베이스 이름

  • 비밀번호

  • 포트 번호

  • 서버 이름

  • 사용자

Sybase용 SJS JDBC 드라이버

com.sun.sql.jdbcx.sybase.SybaseDataSource

  • 데이터베이스 이름

  • 비밀번호

  • 사용자

  • 포트 번호

  • 서버 이름

MySQL MM 드라이버

org.gjt.mm.mysql.jdbc2.optional.MysqlDataSource

  • 서버 이름

  • 포트

  • 데이터베이스 이름

  • 사용자

  • 비밀번호

Informix 드라이버

com.informix.jdbcx.IfxDataSource

  • 포트 번호

  • 데이터베이스 이름

  • IfxIFXHOST(Informix 데이터베이스를 실행하는 컴퓨터의 IP 주소 또는 호스트 이름)

  • 서버 이름

  • 사용자

  • 비밀번호

Informix용 SJS JDBC 드라이버

com.sun.sql.jdbcx.informix.InformixDataSource

  • 데이터베이스 이름

  • informixServer(연결할 Informix 데이터베이스 서버의 이름)

  • 비밀번호

  • 포트 번호

  • 서버 이름

PostgreSQL 드라이버

org.postgresql.ds.PGSimpleDataSource

  • 서버 이름

  • 데이터베이스 이름

  • 포트 번호

  • 사용자

  • 비밀번호

Apache Derby 드라이버

org.apache.derby.jdbc.EmbeddedDataSource

  • 데이터베이스 이름

  • 사용자

  • 비밀번호

JDBC 자원 관리

Procedure새 JDBC 자원 추가

  1. 구성을 선택합니다.

    구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 목록을 가져옵니다.

  2. Java > 자원 탭을 누릅니다.

  3. JDBC 자원 섹션 아래에 있는 새로 만들기 버튼을 누릅니다.

  4. 드라이버 공급업체를 선택합니다.

    JNDI 이름에 고유한 값을 지정하고 사용 가능한 목록에서 JDBC 드라이버 공급업체를 선택합니다.

  5. JDBC 자원 등록 정보를 제공합니다.

    이전 단계에서 선택한 JDBC 드라이버 공급업체를 기반으로 드라이버의 클래스 이름 및 JDBC자원 등록 정보가 자동으로 채워집니다.

  6. 검토를 수행합니다.

    요약을 보고 마침을 눌러 새 JDBC 자원을 만듭니다.

JDBC 연결 풀 관리

JDBC 연결 풀 구성

Sun Java System Web Server 7.0에서 JDBC 연결 풀은 jdbc-resource 요소를 통해 구성됩니다. 아래의 단계를 수행하여 가장 간단한 형태의 연결 풀을 구성할 수 있습니다. 이 예에서 연결 풀은 Oracle JDBC 드라이버를 사용합니다.

ProcedureJDBC 연결 풀을 만드는 방법

  1. wadm을 시작합니다.

  2. JDBC 자원을 만듭니다.

    기본 구성으로 JDBC 자원을 만듭니다. 다른 속성을 사용하여 연결 풀을 미세 조정할 수 있습니다. 추가 속성 및 예는 설명서 페이지를 참조하십시오.


    wadm> create-jdbc-resource --config=test 
    --datasourceclass=oracle.jdbc.pool.OracleDataSource jdbc/MyPool
  3. 공급업체별 등록 정보를 구성합니다.

    등록 정보는 드라이버의 공급업체별 등록 정보를 구성하는 데 사용됩니다. 아래 예에서는 등록 정보 url, userpassword가 JDBC 자원에 추가됩니다.


    wadm> add-jdbc-resource-userprop --config=test --jndi-name=jdbc/MyPool 
    url=jdbc:oracle:thin:@hostname:1521:MYSID user=myuser password=mypassword
  4. 연결 확인을 활성화합니다.

    풀에 대해 연결 확인을 활성화할 수 있습니다. 이 옵션을 사용하면 연결이 응용 프로그램으로 전달되기 전에 확인 과정을 거칩니다. 따라서 네트워크 고장 또는 데이터베이스 서버 장애로 인해 데이터베이스를 사용할 수 없는 경우 서버가 자동으로 데이터베이스 연결을 다시 설정할 수 있습니다. 연결 확인에는 추가 오버헤드가 필요하므로 성능이 약간 저하될 수 있습니다.


    wadm> set-jdbc-resource-prop --config=test --jndi-name=jdbc/MyPool 
    connection-validation-table-name=test connection-validation=table
  5. 기본 풀 설정을 변경합니다.

    이 예에서는 최대 연결 수를 변경합니다.


    wadm> set-jdbc-resource-prop --config=test --jndi-name=jdbc/MyPool 
    max-connections=100
  6. 구성을 배포합니다.


    wadm> deploy-config test
  7. JDBC 드라이버를 포함하는 Jar 파일을 지정합니다.

    서버에는 드라이버를 구현하는 클래스를 제공해야 합니다. 이 작업은 다음과 같은 두 가지 방법으로 수행할 수 있습니다.

    • 드라이버의 jar 파일을 서버 인스턴스 lib 디렉토리에 복사합니다. 인스턴스 lib 디렉토리에 포함된 jar 파일이 자동으로 로드되어 서버에서 사용할 수 있게 되기 때문에 이 방법이 가장 간단한 방법입니다.

    • JVM의 class-path-suffix가 JDBC 드라이버의 jar 파일을 포함하도록 수정합니다.


      wadm> set-jvm-prop  --config=test class-path-suffix=/export/home/lib/classes12.jar
  8. 웹 응용 프로그램에서의 사용법

    • WEB-INF/web.xml 수정


      <web-app>
      ...
        <resource-ref>
          <description>JDBC Connection Pool</description>
          <res-ref-name>jdbc/myJdbc</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
        </resource-ref>
      ...
      </web-app>
    • WEB-INF/sun-web.xml 수정


      <sun-web-app>
      ...
        <resource-ref>
          <res-ref-name>jdbc/myJdbc</res-ref-name>
          <jndi-name>jdbc/MyPool</jndi-name>
        </resource-ref>
      ...
      </sun-web-app>
    • 연결 풀 사용


      Context initContext = new InitialContext();
          Context webContext = (Context)context.lookup("java:/comp/env");
      
          DataSource ds = (DataSource) webContext.lookup("jdbc/myJdbc");
          Connection dbCon = ds.getConnection();

사용자 정의 자원 등록

다음 작업을 수행하여 인스턴스에 사용자 정의 자원을 등록할 수 있습니다.

Procedure사용자 정의 자원을 추가하는 방법

  1. 구성을 선택합니다.

    구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 목록을 가져옵니다.

  2. Java > 자원 탭을 누릅니다.

  3. 사용자 정의 자원 섹션 아래에 있는 새로 만들기 버튼을 누릅니다.

사용자 정의 자원 등록 정보

다음 표에서는 사용자 정의 자원을 만드는 데 사용할 수 있는 등록 정보에 대해 설명합니다.

표 11–3 사용자 정의 자원 등록 정보

등록 정보

설명

JNDI 이름

사용자 정의 자원에 대해 고유한 JNDI 이름을 제공합니다. 

사용 가능

런타임에 이 JDBC 자원을 사용할지 여부를 결정합니다. 

자원 유형

이 자원의 정규화된 유형입니다. 

팩토리 클래스

이 자원 유형을 인스턴스화하는 클래스입니다. javax.naming.spi.ObjectFactory를 구현하는 사용자 작성 팩토리 클래스의 정규화된 이름입니다.

설명

사용자 정의 자원에 대한 간단한 설명을 제공합니다. 

등록 정보

등록 정보 추가 버튼을 눌러 CLI 등록 정보를 제공합니다(선택 사항). 


주 –

CLI 사용

CLI를 통해 사용자 정의 자원을 만들려면 다음 명령을 실행합니다.


wadm> create-custom-resource --user=admin --password-file=admin.pwd --host=serverhost 
--port=8989 --config=config1 --res-type=samples.jndi.customResource.MyBean 
--factory-class=samples.jndi.customResource.MyCustomConnectionFactory custom

CLI 참조 create-custom-resource(1)를 참조하십시오.


외부 JNDI 자원 작업

외부 JNDI 리소스 생성

이 옵션을 사용하여 외부 JNDI(Java Naming and Directory Interface) 자원을 만들 수 있습니다. 내부 JNDI 저장소에 저장된 자원에 액세스하려면 외부 JNDI 자원이 필요합니다.

Procedure외부 JNDI 자원을 추가하는 방법

  1. 구성을 선택합니다.

    구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 목록을 가져옵니다.

  2. Java > 자원 탭을 누릅니다.

  3. 외부 JNDI 섹션 아래에 있는 새로 만들기 버튼을 누릅니다.

외부 JNDI 자원 등록 정보

다음 표에서는 새 외부 JNDI 자원을 추가하는 동안 사용할 수 있는 등록 정보에 대해 설명합니다.

표 11–4 외부 JNDI 자원 등록 정보

등록 정보

설명

JNDI 이름

새 외부 JNDI 자원에 대해 고유한 이름을 제공합니다. 

사용 가능

런타임에 이 외부 JNDI 자원을 사용할지 여부를 결정합니다. 

외부 JNDI 이름

외부 JNDI 자원 이름입니다. 

자원 유형

이 자원의 정규화된 유형입니다. 

팩토리 클래스

이 자원 유형을 인스턴스화하는 클래스입니다. 

설명

사용자 정의 자원에 대한 간단한 설명을 제공합니다. 

등록 정보

등록 정보 추가 버튼을 눌러 CLI 등록 정보를 제공합니다(선택 사항). 


주 –

CLI 사용

CLI를 통해 외부 JNDI 자원을 만들려면 다음 명령을 실행합니다.


wadm> create-external-jndi-resource --user=admin 
--password-file=admin.pwd --host=serverhost --port=8989 --config=config1 
--res-type=org.apache.naming.resources.Resource 
--factory-class=samples.jndi.externalResource.MyExternalConnectionFactory 
--jndilookupname=index.html external-jndi

CLI 참조 create-external-jndi-resource(1)를 참조하십시오.


메일 자원 구성

JMS 대상은 Sun Java System Web Server를 통해 만들고 관리할 수 있는 Java EE 자원입니다.

많은 인터넷 응용 프로그램에는 전자 메일 알림을 보낼 수 있는 기능이 필요하므로 Java EE 플랫폼에는 응용 프로그램 구성 요소가 인터넷 메일을 보낼 수 있게 하는 JavaMail 서비스 공급자와 함께 JavaMail API가 포함되어 있습니다.

Procedure메일 자원을 추가하는 방법

  1. 구성을 선택합니다.

    구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 목록을 가져옵니다.

  2. Java > 자원 탭을 누릅니다.

  3. 메일 자원 섹션 아래에 있는 새로 만들기 버튼을 누릅니다.

메일 자원 등록 정보

다음 표에서는 새 메일 자원을 추가하는 동안 사용할 수 있는 등록 정보에 대해 설명합니다.

표 11–5 메일 자원 등록 정보

등록 정보

설명

JNDI 이름

새 메일 자원에 대해 고유한 이름을 제공합니다. 

사용 가능

런타임에 이 메일 자원을 사용할지 여부를 결정합니다. 

사용자

메일 서버에 등록된 유효한 사용자 이름입니다. 

보낸 사람

서버가 메일을 보낸 전자 메일 주소입니다. 

호스트

메일 서버의 호스트 이름/IP 주소입니다. 

저장소 프로토콜

메시지 검색에 사용된 프로토콜입니다. 

저장소 프로토콜 클래스

저장소 프로토콜에 대한 저장소 서비스 공급자 구현입니다. 저장소 프로토콜을 구현하는 클래스의 정규화된 클래스 이름입니다. 기본 클래스는 com.sun.mail.imap.IMAPStore입니다.

전송 프로토콜

메시지를 보낼 때 사용되는 프로토콜입니다. 

전송 프로토콜 클래스

전송 프로토콜에 대한 전송 서비스 공급자 구현입니다. 전송 프로토콜을 구현하는 클래스의 정규화된 클래스 이름입니다. 기본 클래스는 com.sun.mail.smtp.SMTPTransport입니다.


주 –

CLI 사용

메일 자원을 만들려면 다음 명령을 실행합니다.


wadm> create-mail-resource --config=test --server-host=localhost 
--mail-user=nobody --from=xyz@foo.com mail/Session

CLI 참조 create-mail-resource(1)를 참조하십시오.