48
Sun Java System Message Queue 4.1 릴리스 노트 Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. 부품 번호: 820–3192 20079

SunJavaSystemMessageQueue 4.1 릴리스노트 · 2011. 1. 25. · SunJavaSystemMessageQueue 4.1릴리스노트 SunMicrosystems,Inc. 4150NetworkCircle SantaClara,CA95054 U.S.A. 부품번호:820–3192

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Sun Java System Message Queue4.1릴리스노트

    Sun Microsystems, Inc.4150 Network CircleSanta Clara, CA 95054U.S.A.

    부품번호: 820–31922007년 9월

  • Copyright 2007 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. 모든권리는저작권자의소유입니다.

    Sun Microsystems, Inc.는이문서에설명된제품의기술관련지적재산권을소유합니다.특히이지적재산권에는하나이상의미국특허권이포함될수있으며,미국및다른국가에서하나이상의출원중인특허권이제한없이포함될수있습니다.

    미국정부권한및상용소프트웨어.정부사용자는 Sun Microsystems, Inc.의표준사용권계약과해당 FAR규정및보충규정을준수해야합니다.

    이배포판에는타사에서개발한자료가포함되어있을수있습니다.

    제품중에는캘리포니아대학에서허가한 Berkeley BSD시스템에서파생된부분이포함되어있을수있습니다. UNIX는미국및다른국가에서X/OpenCompany, Ltd.를통해독점적으로사용권이부여되는등록상표입니다.

    Sun, Sun Microsystems, Sun로고, Solaris로고, Java Coffee Cup로고, docs.sun.com, Java및 Solaris는미국및다른국가에서 Sun Microsystems, Inc.의상표또는등록상표입니다.모든 SPARC상표는사용허가를받았으며미국및다른국가에서 SPARC International, Inc.의상표또는등록상표입니다. SPARC상표를사용하는제품은 Sun Microsystems, Inc.에서개발한구조에기반을두고있습니다.

    OPEN LOOK및 SunTM그래픽사용자인터페이스(GUI)는 Sun Microsystems, Inc.가자사의사용자및정식사용자용으로개발했습니다. Sun은컴퓨터업계를위한시각적또는그래픽사용자인터페이스(GUI)의개념을연구개발한Xerox사의선구적인노력을높이평가하고있습니다. Sun은Xerox와Xerox그래픽사용자인터페이스(GUI)에대한비독점적사용권을보유하고있습니다.이사용권은OPEN LOOK GUI를구현하는 Sun의정식사용자에게도적용되며그렇지않은경우에는 Sun의서면사용권계약을준수해야합니다.

    이설명서에포함된정보및이설명서에서다루는제품은미국수출관리법이적용되며다른국가의수출또는수입관리법의적용을받을수있습니다.이제품과정보를직간접적으로핵무기,미사일또는생화학무기에사용하거나핵과관련하여해상에서사용하는것은엄격하게금지합니다.미국수출금지국가또는금지된개인과특별히지정된국민목록을포함하여미국수출금지목록에지정된대상으로의수출이나재수출은엄격하게금지됩니다.

    설명서는 "있는그대로"제공되며,법률을위반하지않는범위내에서상품성,특정목적에대한적합성또는비침해에대한묵시적인보증을포함하여모든명시적또는묵시적조건,표현및보증을배제합니다.

    071014@19028

  • 목차

    1 Sun Java System Message Queue 4.1릴리스노트 ..........................................................................5릴리스노트개정내역 .........................................................................................................................6Message Queue 4.1정보 ........................................................................................................................6

    4.1릴리스의새로운기능 ............................................................................................................7하드웨어및소프트웨어요구사항 ....................................................................................... 15

    Message Queue 4.0정보 ..................................................................................................................... 164.0릴리스의새로운기능 ......................................................................................................... 16하드웨어및소프트웨어요구사항 ....................................................................................... 31

    이릴리스에서해결된버그 ............................................................................................................. 31중요정보 ............................................................................................................................................. 33설치정보 ...................................................................................................................................... 33호환성문제 ................................................................................................................................. 33Message Queue 4.1설명서업데이트 ...................................................................................... 34

    알려진문제점및제한사항 ............................................................................................................ 35설치문제 ...................................................................................................................................... 35더이상사용되지않는비밀번호옵션 .................................................................................. 40일반적인문제 ............................................................................................................................. 41관리/구성문제 ........................................................................................................................... 41브로커문제 ................................................................................................................................. 42브로커클러스터 ........................................................................................................................ 42JMX문제 ...................................................................................................................................... 44SOAP지원 .................................................................................................................................... 45

    재배포가능파일 ............................................................................................................................... 45내게필요한옵션기능 ...................................................................................................................... 45문제보고및사용자의견제공방법 ............................................................................................. 45

    Sun Java System소프트웨어포럼 ............................................................................................ 46Java기술포럼 .............................................................................................................................. 46

    사용자의견환영 ............................................................................................................................... 46

    3

  • Sun의추가자원 ................................................................................................................................. 47

    목차

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월4

  • Sun Java System Message Queue 4.1릴리스노트

    버전 4.1

    부품번호 820-3192

    이릴리스노트에는 Sun JavaTM System Message Queue 4.1의릴리스시점에알려진중요한정보가들어있습니다.이문서에서는새로추가된기능과향상된기능,알려진제한사항과문제점및기타정보를제공합니다. Message Queue를사용하기전에먼저이문서를읽어보십시오.이릴리스노트에는Message Queue 4.0릴리스에대한정보도포함되어있습니다.이릴리스에서소개된기능에대한정보는 16페이지 “MessageQueue 4.0정보”를참조하십시오.

    이릴리스노트의최신버전은 Sun Java System Message Queue설명서웹사이트에서찾아볼수있습니다.소프트웨어를설치및설정하기전과후에도웹사이트를검토하여최신릴리스노트와제품설명서를정기적으로확인하시기바랍니다.

    이릴리스노트는다음내용으로구성되어있습니다.■ 6페이지 “릴리스노트개정내역”■ 6페이지 “Message Queue 4.1정보 ”■ 16페이지 “Message Queue 4.0정보”■ 31페이지 “이릴리스에서해결된버그”■ 33페이지 “중요정보”■ 35페이지 “알려진문제점및제한사항”■ 45페이지 “재배포가능파일”■ 45페이지 “내게필요한옵션기능”■ 45페이지 “문제보고및사용자의견제공방법”■ 46페이지 “사용자의견환영”■ 47페이지 “Sun의추가자원”

    이문서에는관련된정보를추가로얻을수있는타사URL도나와있습니다.

    Sun은이문서에언급된타사웹사이트의이용가능성에대해책임을지지않습니다.Sun은그러한사이트또는자원에있거나사용가능한내용,광고,제품또는기타자료에

    11 장

    5

  • 대하여보증하지않으며책임또는의무를지지않습니다. Sun은해당사이트나자원을통해사용가능한내용,상품또는서비스의사용과관련하여발생했거나발생했다고간주되는손해나손실에대해책임또는의무를지지않습니다.

    릴리스노트개정내역다음표에서는Message Queue제품의모든 4.x릴리스날짜를나열하고각릴리스와관련된주요변경사항에대해설명합니다.

    표 1–1 개정내역

    날짜 변경사항설명

    2006년 5월 Message Queue의버전 4.0에대한이문서의초기릴리스입니다.

    2007년 1월 Message Queue의베타버전 4.1에대한이문서의초기릴리스입니다. JAAS지원에대한설명이추가되었습니다.

    2007년 4월 Message Queue의베타버전 4.1에대한이문서의두번째릴리스입니다.고가용성기능이추가되었습니다.

    2007년 9월 공식출시를위한이문서의세번째릴리스입니다. Java Enterprise System MonitoringFramework,수정된C포트,버그수정사항및기타기능의지원에대한설명이추가되었습니다.

    Message Queue 4.1정보Sun Java System Message Queue는완벽한기능의메시지서비스로 Java MessagingSpecification(JMS) 1.1을따르는안정적인비동기식메시징을제공합니다.또한MessageQueue는 JMS사양을능가하는다양한기능을제공하여대규모엔터프라이즈배포요구를충족시킵니다.

    Message Queue버전 4.1에는고가용성, JAAS(Java Authentication and AuthorizationService),수정된C포트사용및 Java Enterprise System Monitoring Framework에대한지원과몇가지향상된기능및버그수정사항이추가되었습니다.이절은다음내용으로구성되어있습니다.■ 7페이지 “4.1릴리스의새로운기능”■ 15페이지 “하드웨어및소프트웨어요구사항”

    Message Queue 4.0에소개된기능에대한내용은 16페이지 “Message Queue 4.0정보”를참조하십시오.

    릴리스노트개정내역

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월6

  • 4.1릴리스의새로운기능Message Queue 4.1에는고가용성(데이터및서비스가용성)브로커클러스터, JAAS지원및기타여러가지사소한기능이도입되었습니다.이절에서는이러한기능과추가참조정보에대해설명합니다.

    ■ 7페이지 “고가용성”■ 8페이지 “JAAS지원”■ 13페이지 “영구저장소형식변경사항”■ 14페이지 “브로커구성”■ 14페이지 “JES Monitoring Framework지원”■ 15페이지 “트랜잭션관리”■ 15페이지 “C클라이언트연결을위한고정포트”

    고가용성Message Queue 4.1에서비스가용성및데이터가용성을제공하는고가용성클러스터가도입되었습니다.클라이언트와고가용성브로커의연결이끊어지면클라이언트가클러스터내의다른브로커와자동으로다시연결됩니다.새로연결될브로커는실패한브로커의영구데이터및상태를인계받으며실패한브로커의클라이언트에서비스를중단없이계속제공합니다.보안연결을통해고가용성브로커를실행할수있습니다.

    고가용성브로커에는고가용성데이터베이스(HADB)사용이필수입니다.이러한유형의데이터베이스가없거나데이터가용성이중요하지않은경우에는자동다시연결과서비스가용성을제공하는기존클러스터를계속사용할수있습니다.

    고가용성브로커를구성하는방법은간단합니다.클러스터의각브로커에다음과같은종류의브로커등록정보를지정합니다.

    ■ 클러스터구성원등록정보 -브로커가고가용성클러스터의일부인지여부,클러스터아이디및브로커아이디를지정합니다.

    ■ 고가용성데이터베이스(HADB)등록정보 -영구메시지모델(JDBC), HADB공급업체이름및데이터베이스에대한공급업체특정구성등록정보를지정합니다.

    ■ 오류감지및인계등록정보 -브로커오류를감지하고처리하는방법을지정합니다.

    이기능을사용하려면다음작업을수행해야합니다.

    1. 고가용성데이터베이스를설치합니다.2. JDBC드라이버의 .jar파일을설치합니다.3. 고가용성영구저장소에데이터베이스스키마를만듭니다.4. 클러스터의각브로커에고가용성과관련된등록정보를설정합니다.5. 클러스터의각브로커를시작합니다.

    고가용성에대한개념설명과일반클러스터와의비교에대해서는 Sun Java SystemMessage Queue 4.1 Technical Overview의 4장, “Broker Clusters”를참조하십시오.고가용성에대한절차및참조정보에대해서는 Sun Java System Message Queue 4.1

    Message Queue 4.1정보

    1장 • Sun Java System Message Queue 4.1릴리스노트 7

  • Administration Guide의 8장, “Broker Clusters”및 Sun Java System Message Queue 4.1Administration Guide의 “Cluster Configuration Properties”를참조하십시오.

    Message Queue버전 4.0에서HADB데이터베이스를사용하고있는경우고가용성클러스터를사용하려면 dbmgr유틸리티를사용하여공유HADB저장소로업그레이드할수있습니다.자세한내용은 42페이지 “브로커클러스터”를참조하십시오.

    JAAS지원Message Queue는기본으로제공된파일기반및 LDAP기반인증메커니즘이외에도다양한서비스를브로커로플러그인하여Message Queue클라이언트를인증할수있도록해주는 JAAS(Java Authentication and Authorization Service)도지원합니다.이절에서는브로커를통해 JAAS호환인증서비스에사용할수있는정보와브로커를구성하여이러한서비스를사용하는방법에대해설명합니다.

    JAAS API에대한설명은이문서에서다루지않습니다.자세한내용을보려면다음소스를참조하십시오.■ JAAS API에대한전체내용은 Java Authentication and Authorization Service (JAAS)

    Reference Guide를참조하십시오.http://java.sun.com/j2se/1.5.0/docs/guide/security/jaas/JAASRefGuide.html

    ■ LoginModule쓰기에대한내용은 Java Authentication and Authorization Service(JAAS) LoginModule Developer's Guide를참조하십시오.http://java.sun.com/j2se/1.5.0/docs/guide/security/jaas/JAASLMDevGuide.html

    JAAS API는 J2SE에서코어API이므로이는Message Queue런타임환경을구성하는일부분입니다. JAAS는응용프로그램과인증메커니즘간의추상화계층을정의하며원하는메커니즘을응용프로그램코드변경없이플러그인할수있도록해줍니다.Message Queue서비스의경우추상화계층은브로커(응용프로그램)와인증공급자사이에놓입니다.몇가지브로커등록정보를설정하여 JAAS호환인증서비스를플러그인할수있으며브로커코드의중단또는변경없이이서비스를업그레이드할수있습니다.

    JAAS기반인증을사용하고있는경우 JMX클라이언트를사용하여브로커를관리할수있지만이경우브로커를시작하기전에 JAAS지원을수동으로설정(JAAS관련브로커등록정보설정)해야합니다. JMX API를사용하여해당등록정보를변경할수없습니다.

    JAAS요소

    그림 1–1에서는 JAAS의기본요소를보여줍니다. JAAS의기본요소(JAAS클라이언트,JAAS호환인증서비스및 JAAS구성파일)를나타냅니다.

    ■ JAAS클라이언트는 JAAS호환인증서비스를사용하여인증을수행하려는응용프로그램입니다.이는 LoginModule을사용하여본서비스와통신하며LoginModule이사용자이름,비밀번호및기타관련정보를가져오기위해호출할수있는콜백처리기의제공을담당합니다.

    Message Queue 4.1정보

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월8

    http://java.sun.com/j2se/1.5.0/docs/guide/security/jaas/JAASRefGuide.htmlhttp://java.sun.com/j2se/1.5.0/docs/guide/security/jaas/JAASLMDevGuide.html

  • ■ JAAS호환인증서비스는하나이상의 LoginModule및필요인증을수행하는논리로구성됩니다. LoginModule은인증논리를포함하거나전용프로토콜또는API를사용하여해당논리를제공하는모듈과통신할수있습니다.

    ■ JAAS구성파일은 JAAS클라이언트가 JAAS호환서비스와의통신에필요한LoginModule을찾는데사용하는텍스트파일입니다.

    다음절에서는Message Queue서비스에서이요소를사용해 JAAS호환인증을제공하는방법에대해설명합니다.

    JAAS및Message Queue

    다음그림은Message Queue브로커가 JAAS를사용하는방법을나타냅니다.이그림은이전그림의 JAAS모델에비해좀더복잡한구현을나타냅니다.

    JAAS JAAS

    LoginModule

    그림 1–1 JAAS요소

    Message Queue 4.1정보

    1장 • Sun Java System Message Queue 4.1릴리스노트 9

  • 이전그림의단순한경우에서보았듯이인증서비스계층은브로커와구분되어있습니다.인증서비스는하나이상의로그인모듈(LoginModule)및추가인증모듈(필요시)로구성됩니다.로그인모듈은브로커와동일한 Java가상머신에서실행됩니다.Message Queue브로커는로그인모듈에 LogInContext로표현되며브로커런타임코드의일부인 CallBackHandler를통해로그인모듈과통신합니다.

    또한인증서비스는로그인모듈에대한항목이포함된 JAAS구성파일을제공합니다.구성파일은모듈의사용순서와일부사용조건을지정합니다.브로커가시작되면JAAS는 Java시스템등록정보 java.security.auth.login.config또는 Java보안등록정보파일로구성파일을찾습니다.그런다음 JAAS구성파일에서브로커등록정보imq.user_repository.jaas.name값에따른항목을선택합니다.이항목에는인증에사용할로그인모듈이지정되어있습니다.그림에서와같이브로커는로그인모듈을두개이상사용할수있습니다.구성파일,로그인모듈및브로커간의관계는그림 1–3에서볼수있습니다.

    브로커에서 JAAS플러그인인증서비스를사용하면이내용이Message Queue클라이언트에도완전히공개됩니다.클라이언트는사용자이름과비밀번호를전달하여이전과같이브로커에계속연결됩니다.한편브로커는콜백처리기를사용하여이정보를인증서비스에전달하며서비스는이정보를사용하여사용자를인증하고결과를반환합니다.인증에성공하면브로커에서연결을부여하며,인증에실패하면클라이언트런타임에서클라이언트가처리해야할 JMS보안예외를반환합니다.

    LoginModule1 LoginModule2 LoginModule3

    VM

    그림 1–2 Message Queue가 JAAS를사용하는방법

    Message Queue 4.1정보

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월10

  • Message Queue클라이언트가인증된후추가권한부여가필요할경우에는브로커에서액세스제어파일을참조하여인증된클라이언트가대상액세스,메시지사용,대기열찾아보기등의작업을수행할수있는권한이부여되어있는지여부를결정합니다(브로커가정상일경우).

    JAAS호환인증설정

    JAAS호환인증설정에는이유형의인증을선택하고구성파일의위치를지정하며사용할로그인모듈에대한항목을지정할수있는브로커및시스템등록정보의설정이포함됩니다.

    이절에서는 JAAS클라이언트,로그인모듈및 JAAS구성파일간의관계와 JAAS호환인증설정에필요한프로세스에대해설명합니다.다음그림은구성파일,로그인모듈및브로커간의관계를나타냅니다.

    그림에서와같이 JAAS구성파일 MyJAASCFile.config에는시작점에서그룹화된여러로그인모듈에대한참조항목이포함됩니다.브로커에서는 Java시스템등록정보java.security.auth.login.config또는 Java보안등록정보파일을참조하여구성파일을찾습니다.사용할로그인모듈은구성파일에원하는항목을지정할수있는브로커등록정보 imq.user_repository.jaas.name을참조하여결정합니다.이모듈에대한클래스는 lib/ext디렉토리에있습니다.

    LoginModule1.java

    MyEntry1{com.some.module.MyLoginModule1 requireddebug=truecom.some.module.MyLoginModule2 optionaldebug=true }

    MyJAASCFile.config

    CallBackHandler

    그림 1–3 JAAS지원설정

    Message Queue 4.1정보

    1장 • Sun Java System Message Queue 4.1릴리스노트 11

  • Message Queue에 JAAS지원을설정하려면다음단계를완료해야합니다. (개발환경에서는개발자가다음의모든단계를수행할수있습니다.프로덕션환경에서는관리자가이작업의일부를인계받습니다.)

    1. 인증서비스를구현하는로그인모듈클래스를하나이상만듭니다.브로커에서지원하는 JAAS콜백유형은다음과같습니다.

    javax.security.auth.callback.LanguageCallback

    브로커에서이콜백을사용하여브로커가실행될로켈을인증서비스에전달합니다.이값은현지화에사용할수있습니다.

    javax.security.auth.callback.NameCallback

    브로커에서이콜백을사용하여연결요청시Message Queue클라이언트가지정한사용자이름을인증서비스에전달합니다.

    javax.security.auth.callback.TextInputCallback

    TextInputCallback.getPrompt()가 imq.authentication.type일때브로커에서이콜백을사용하여 imq.authentication.type값을인증서비스에지정합니다.이때이필드에지정할수있는유일한값은 basic입니다.이는 Base 64비밀번호인코딩을나타냅니다.

    javax.security.auth.callback.PasswordCallback

    브로커에서이콜백을사용하여연결요청시Message Queue클라이언트가지정한비밀번호를인증서비스에전달합니다.

    javax.security.auth.callback.TextOutputCallback

    브로커에서이콜백을사용하여텍스트출력을브로커로그파일에기록함으로써인증서비스에로깅서비스를제공합니다.콜백의MessageType ERROR,INFORMATION, WARNING은각각브로커로그수준 ERROR, INFO및 WARNING에매핑됩니다.

    2. 로그인모듈클래스를참조하는항목을사용하여 JAAS구성파일을만들고이파일의위치를Message Queue관리자에지정합니다. (이파일은원격으로찾을수있으며해당위치를URL로지정할수있습니다.)

    3. 로그인구현클래스를참조하는항목이름을 JAAS구성파일에기록합니다.4. 로그인모듈을구현하는클래스를 jar파일로아카이브하고이 jar파일을Message

    Queue lib/ext디렉토리에둡니다.5. JAAS지원과관련된브로커등록정보를구성합니다.이에대해서는표 1–2에서설명합니다.

    6. 다음시스템등록정보를설정하여 JAAS구성파일의위치를지정합니다.java.security.auth.login.config= JAAS_Config_File_Location예를들어,브로커를시작할때다음과같이구성파일을지정할수있습니다.imqbrokerd -Djava.security.auth.login.config=JAAS_Config_File_Location다른방법을사용하여 JAAS구성파일의위치를지정할수도있습니다.추가정보는다음사이트를참조하십시오.

    Message Queue 4.1정보

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월12

  • http://java.sun.com/

    j2se/1.5.0/docs/guide/security/jaas/tutorials/LoginConfigFile.html

    다음표는 JAAS지원설정에필요한브로커등록정보에대해설명합니다.

    표 1–2 JAAS지원을위한브로커등록정보

    등록정보 설명

    imq.authentication.type Base 64비밀번호인코딩을지정하려면 basic으로설정합니다.이는 JAAS인증에지정할수있는유일한값입니다.

    imq.authentication.basic.user_repository JAAS인증을지정하려면 jaas로설정합니다.

    imq.accesscontrol.type file로설정합니다.

    imq.user_repository.jaas.name JAAS구성파일에서인증메커니즘으로사용할로그인모듈이참조된항목중원하는항목이름으로설정합니다.이이름은단계 3에서기록한이름입니다.

    imq.user_repository.jaas.userPrincipalClass Message Queue액세스제어에서사용하는이등록정보는Message Queue액세스제어파일에서사용자엔티티를나타내는 Principal이름을추출하기위해브로커가사용하는로그인모듈에java.security.Principal구현클래스를지정합니다.이등록정보를지정하지않으면연결요청시Message Queue클라이언트로부터전달된사용자이름이대신사용됩니다.

    imq.user_repository.jaas.groupPrincipalClass Message Queue액세스제어에서사용하는이등록정보는Message Queue액세스제어파일에서그룹엔티티를나타내는 Principal이름을추출하기위해브로커가사용하는로그인모듈에java.security.Principal구현클래스를지정합니다.이등록정보를지정하지않으면Message Queue액세스제어파일의그룹규칙(있는경우)이무시됩니다.

    영구저장소형식변경사항Message Queue버전 4.1에서는고가용성을지원할수있도록 JDBC저장소를변경합니다.이러한이유로 JDBC저장소버전이 410으로업그레이드됩니다. JDBC저장소버전 350,370및 400이 410버전형식으로자동으로마이그레이션됩니다.

    파일기반의영구저장소버전은변경되지않고 370으로유지됩니다.

    Message Queue 4.1정보

    1장 • Sun Java System Message Queue 4.1릴리스노트 13

    http://java.sun.com/j2se/1.5.0/docs/guide/security/jaas/tutorials/LoginConfigFile.htmlhttp://java.sun.com/j2se/1.5.0/docs/guide/security/jaas/tutorials/LoginConfigFile.html

  • 브로커구성imqenv.conf파일에 IMQ_DEFAULT_EXT_JARS등록정보가추가되었습니다.이등록정보를설정하여브로커가시작될때 CLASSPATH에포함될수있도록외부 .jar파일의경로이름을지정할수있습니다.이등록정보를사용하여외부 .jar파일의위치를지정하면이파일을더이상 lib/ext디렉토리에복사할필요가없습니다.외부 jar파일은 JDBC드라이버또는 JAAS로그인모듈과관련된것일수있습니다.다음예제명령은 JDBC드라이버의위치를지정합니다.

    IMQ_DEFAULT_EXT_JARS=/opt/SUNWhadb4/lib/hadbjdbc4.jar:/opt/SUNWjavadb/derby.jar

    JES Monitoring Framework지원Message Queue는공통그래픽인터페이스를사용하여 Java Enterprise System구성요소를모니터링할수있도록해주는 Sun Java Enterprise System(JES) Monitoring Framework를지원합니다.이인터페이스는 Sun Java System Monitoring Console이라고하는웹기반의콘솔로구현됩니다. Message Queue를다른 JES구성요소와함께실행중인경우에는단일인터페이스를사용하여이러한모든구성요소를관리하는것이편리할수있습니다.

    JES Monitoring Framework는모든 JES구성요소제품에서사용할공통모니터링모델(CMM)을정의합니다.이모델을사용하면모든 JES구성요소의중앙집중식동일보기가가능해집니다. Message Queue는 JES Monitoring Framework에다음객체를제공합니다.

    ■ 설치된제품■ 브로커인스턴스이름■ 브로커포트매퍼■ 각연결서비스■ 각물리적대상■ 영구저장소■ 사용자저장소

    각객체는 JES Monitoring Console을사용하여속성을모니터링할수있는CMM객체에매핑됩니다.런타임시관리자는콘솔을사용하여성능통계를보고,자동으로모니터링할수있는규칙을만들고,경보를확인할수있습니다. CMM객체에MessageQueue객체를매핑하는방법에대한자세한내용은 Sun Java Enterprise SystemMonitoring Guide를참조하십시오.

    JES모니터링을활성화하려면다음작업을수행해야합니다.

    1. Sun Java Enterprise System Installation Guide의지침에따라해당배포(Message Queue및기타구성요소)에모든구성요소를설치및구성합니다.

    2. Sun Java Enterprise System Monitoring Guide의설명에따라모니터링되는모든구성요소에대해모니터링프레임워크를활성화하고구성합니다.

    3. Sun Java Enterprise System Monitoring Guide의설명에따라별도의호스트에모니터링콘솔을설치하고마스터에이전트를시작한다음웹서버를시작합니다.

    Message Queue 4.1정보

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월14

  • 모든메트릭수집작업은브로커의기존모니터링데이터인프라로부터데이터를가져오는모니터링프레임워크에서수행하기때문에 JES Monitoring Framework를사용해도브로커성능에영향을주지않습니다.

    트랜잭션관리이전에는 PREPARED상태의트랜잭션만관리목적으로롤백할수있었습니다.즉,분산트랜잭션의일부인세션이정상적으로종료되지않은경우트랜잭션이브로커관리자에의해정리되지않은상태로유지되었습니다. Message Queue 4.1에서는 imqcmd유틸리티를사용하여 STARTED, FAILED, INCOMPLETE, COMPLETE및 PREPARED와같은상태의트랜잭션을정리(롤백)할수있습니다.

    특정트랜잭션을롤백할수있는지여부(특히트랜잭션이 PREPARED상태가아닐경우)를결정할수있도록 imqcmd유틸리티가 imqcmd query txn출력의일부로추가데이터를제공합니다.이유틸리티는트랜잭션을시작한연결의연결아이디를제공하며트랜잭션이만들어진시간을지정합니다.관리자는이정보를사용하여트랜잭션을롤백해야하는지여부를결정할수있습니다.일반적으로관리자는트랜잭션을조기에롤백해서는안됩니다.

    C클라이언트연결을위한고정포트C클라이언트는 MQ_SERVICE_PORT_PROPERTY연결등록정보를사용하여연결할고정포트를지정할수있습니다.이는포트를동적으로할당하는브로커의포트매퍼서비스를우회해야하거나방화벽을통과하려고시도할경우에유용할수있습니다.

    이포트를지정할경우브로커측에 JMS서비스포트도구성해야함에유의하십시오.예를들어,클라이언트를 ssljms를통해포트 1756에연결할경우다음작업을수행합니다.

    ■ 클라이언트측: 1756에는 MQ_SERVICE_PORT_PROPERTY를, SSL에는MQ_CONNECTION_TYPE_PROPERTY를설정합니다.

    ■ 브로커측:다음과같이 1756에 imq.serviceNameType.protocol.port등록정보를설정합니다.

    imq.ssljms.ssl.port=1756

    주 – MQ_SERVICE_PORT_PROPERTY연결등록정보는Message Queue버전 3.7 Update 2에서도입되었습니다.

    하드웨어및소프트웨어요구사항버전 4.1에대한하드웨어및소프트웨어요구사항에대해서는 Sun Java System MessageQueue 4.1 Installation Guide를참조하십시오.

    Message Queue 4.1정보

    1장 • Sun Java System Message Queue 4.1릴리스노트 15

  • Message Queue 4.0정보Message Queue 4.0은Application Server 9 PE를지원하기위해제한되었으며몇가지새로운기능과소수향상된기능및버그수정사항이포함된부릴리스입니다.이절은다음내용으로구성되어있습니다.■ 16페이지 “4.0릴리스의새로운기능”■ 31페이지 “하드웨어및소프트웨어요구사항”

    4.0릴리스의새로운기능Message Queue 4.0에는다음과같은새로운기능이추가되었습니다.■ 16페이지 “C API및C클라이언트런타임의인터페이스변경사항”■ 16페이지 “Java API및 Java클라이언트런타임의인터페이스변경사항”■ 17페이지 “영구저장소에대한정보표시”■ 17페이지 “영구저장소형식변경사항”■ 18페이지 “브로커관리”■ 19페이지 “JDBC지속성지원”■ 19페이지 “SSL지원”■ 19페이지 “JMX지원”■ 24페이지 “클라이언트런타임로깅”■ 28페이지 “연결이벤트알림”

    이러한기능에대해서는이어지는절에서설명합니다.

    주의 –버전 4.0에도입된,작지만잠재적으로혁신적인변경사항중하나는비밀번호를지정하는명령줄옵션이폐지되었다는점입니다.이제부터는 40페이지 “더이상사용되지않는비밀번호옵션”의설명대로한파일에모든비밀번호를저장해야합니다.

    C API및C클라이언트런타임의인터페이스변경사항Message Queue버전 4.0에는사용불능메시지대기열에있던모든메시지에설정할수있는등록정보두가지가새롭게추가되었습니다.■ JMS_SUN_DMQ_PRODUCING_BROKER는메시지를생성한브로커를나타냅니다.■ JMS_SUN_DMQ_DEAD_BROKER는메시지를사용불능으로표시한브로커를나타냅니다.

    Java API및 Java클라이언트런타임의인터페이스변경사항Message Queue버전 4.0에는사용불능메시지대기열에있던모든메시지에설정할수있는등록정보두가지가새롭게추가되었습니다.■ JMS_SUN_DMQ_PRODUCING_BROKER는메시지를생성한브로커를나타냅니다.■ JMS_SUN_DMQ_DEAD_BROKER는메시지를사용불능으로표시한브로커를나타냅니다.

    Message Queue 4.0정보

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월16

  • 영구저장소에대한정보표시imqdbmgr명령에 query하위명령이추가되었습니다.저장소버전,데이터베이스사용자및데이터베이스테이블이만들어졌는지의여부를포함한영구저장소에대한정보를표시하려면이하위명령을사용합니다.

    다음은이명령을사용하여표시한정보의예를나타냅니다.

    imqdbmgr query

    [04/Oct/2005:15:30:20 PDT] Using plugged-in persistent store:

    version=400

    brokerid=Mozart1756

    database connection url=jdbc:oracle:thin:@Xhome:1521:mqdb

    database user=scott

    Running in standalone mode.

    Database tables have already been created.

    영구저장소형식변경사항Message Queue버전 3.7 UR1에는성능을향상시킬수있는,영구저장소형식에대한두가지변경사항이도입되었습니다.하나는파일저장소에대한변경사항이며다른하나는 JDBC저장소에대한변경사항입니다.■ 파일저장소에저장되는트랜잭션데이터의형식

    Message Queue의파일기반영구저장소에저장되는트랜잭션상태정보형식이변경되어디스크입출력이줄었으며 JMS트랜잭션의성능이향상되었습니다.

    ■ Oracle JDBC저장소이전버전의Message Queue에서Oracle용저장소스키마는 LONG RAW데이터유형을사용하여메시지데이터를저장했습니다. Oracle 8에서는 BLOB데이터유형을도입했으며 LONG RAW유형은더이상사용하지않습니다. Message Queue 3.7UR1에서는성능및지원가능성향상을위해 BLOB데이터유형으로전환했습니다.

    이러한변경사항은저장소호환성에영향을주기때문에Message Queue버전 3.7UR1에서파일저장소및 JDBC저장소의버전이모두 350에서 370으로변경되었습니다.

    Message Queue버전 4.0에서는 JDBC저장소를최적화하고향후향상된기능을지원할수있는변경내용이도입되었습니다.이러한이유로 JDBC저장소버전이 400으로업그레이드되었습니다.버전 4.0에서는파일기반의영구저장소버전이변경되지않고370으로유지됩니다.

    Message Queue 4.0은파일기반영구저장소및 JDBC영구저장소를최신버전으로자동으로변환할수있도록지원합니다.처음 imqbrokerd가시작될때유틸리티에서이전저장소를감지하면이전저장소를그대로두고새형식의저장소로마이그레이션합니다.■ 파일기반의저장소버전 200및 350은 370버전형식으로마이그레이션됩니다.

    Message Queue 4.0정보

    1장 • Sun Java System Message Queue 4.1릴리스노트 17

  • ■ JDBC저장소버전 350및 370은 400버전형식으로마이그레이션됩니다. (200저장소를업그레이드해야하는경우에는먼저중간에있는 3.5또는 3.6릴리스단계를밟아야합니다.)

    이업그레이드를롤백해야하는경우Message Queue 4.0설치를제거한다음이전에실행중이던버전을다시설치할수있습니다.이전저장소의복사본이그대로유지되므로브로커는이전저장소복사본을실행할수있습니다.

    브로커관리관리자가브로커를정지하거나,지정된간격후브로커를종료하거나,연결을삭제하거나, java시스템등록정보(예:연결관련등록정보)를설정할수있도록해주는하위명령및여러옵션이명령유틸리티(imqcmd)에받습니다.)■ 브로커를정지하면브로커가자동상태가되며브로커가종료되거나다시시작되기전에메시지가드레인됩니다.정지된브로커에는새연결을만들수없습니다.브로커를정지하려면다음명령을입력하십시오.imqcmd quiesce bkr -b Wolfgang:1756

    ■ 지정된간격후브로커를종료하려면다음명령을입력하십시오. (시간간격은브로커가종료되기전에대기하는시간(초)을지정합니다.)imqcmd shutdown bkr -b Hastings:1066 -time 90

    시간간격을지정하면브로커에서종료시간을나타내는메시지를기록합니다.예를들면다음과같습니다.Shutting down the broker in 29 seconds (29996 milliseconds)

    브로커종료대기중해당동작은다음과같은방식으로영향을받습니다.■ 관리 jms연결은계속허용됩니다.■ 새 jms연결은허용되지않습니다.■ 기존 jms연결은계속작동합니다.■ 브로커는고가용성클러스터내의다른브로커를인계받을수없습니다.■ imqcmd유틸리티는차단되지않고종료요청을브로커에전송하며즉시반환됩니다.

    ■ 연결을삭제하려면다음명령을입력하십시오.imqcmd destroy cxn -n 2691475382197166336

    연결아이디를가져오려면 imqcmd list cxn또는 imqcmd query cxn명령을사용합니다.

    ■ imqcmd를사용하여시스템등록정보를설정하려면새로운 –D옵션을사용하십시오.이명령은 JMS연결팩토리등록정보또는연결관련 java시스템등록정보를설정하거나대체할때유용합니다.예를들면다음과같습니다.

    imqcmd list svc -secure -DimqSSLIsHostTrusted=true

    imqcmd list svc -secure -Djavax.net.ssl.trustStore=/tmp/mytruststore

    -Djavax.net.ssl.trustStorePassword=mytrustword

    Message Queue 4.0정보

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월18

  • imqcmd명령의구문에대한자세한내용은 Sun Java System Message Queue 4.1Administration Guide의 13장, “Command Line Reference”를참조하십시오.

    JDBC지속성지원이제Apache Derby버전 10.1.1이 JDBC호환영구저장소공급자로지원됩니다.

    SSL지원릴리스 4.0시작시클라이언트연결팩토리등록정보 imqSSLIsHostTrusted의기본값은false입니다.응용프로그램이이전기본값 true를따르는경우에는등록정보를재구성하여명시적으로 true로설정해야합니다.

    자체서명된인증서를사용하도록브로커를구성한경우호스트를신뢰하도록선택할수있습니다.이경우 imqConnectionType등록정보를사용하여연결이 SSL기반연결서비스를사용하도록지정해야할뿐아니라 imqSSLIsHostTrusted등록정보를 true로설정해야합니다.

    예를들어,브로커가자체서명된인증서를사용할때클라이언트응용프로그램을안전하게실행하려면다음명령을사용합니다.

    java -DimqConnectionType=TLS

    -DimqSSLIsHostTrusted=true

    브로커가자체서명된인증서를사용할때관리도구 imqcmd를안전하게실행하려면다음명령을사용합니다.

    imqcmd list svc -secure -DimqSSLIsHostTrusted=true

    JMX지원JMX(Java Management Extensions)사양에따라Message Queue브로커구성및모니터링을위한새로운API가추가되었습니다.이API를사용하여Message Queue클라이언트응용프로그램내에서브로커기능을프로그래밍방식으로구성하고모니터링할수있습니다.이전버전의Message Queue에서는명령줄이나관리콘솔을통해서만이기능에액세스할수있었습니다.

    API는다음Message Queue관련자원을관리하기위한 JMX Managed Beans(MBeans)집합으로구성됩니다.

    ■ 메시지브로커■ 연결서비스■ 연결■ 대상■ 메시지생성자■ 메시지사용자■ 트랜잭션

    Message Queue 4.0정보

    1장 • Sun Java System Message Queue 4.1릴리스노트 19

  • ■ 브로커클러스터■ 로깅■ JVM(Java Virtual Machine)

    이MBean은상태변경사항이발생할때클라이언트응용프로그램이이변경사항을수신하고이에대해비동기식으로응답할수있도록해주는알림뿐아니라기본자원의상태를동기식으로폴링하고조작하는데필요한속성및작업을제공합니다.클라이언트응용프로그램은 JMX API를사용하여다음과같은구성및모니터링작업을수행할수있습니다.

    ■ 브로커의포트번호설정■ 브로커의최대메시지크기설정■ 연결서비스일시중지■ 연결서비스에대한최대스레드수설정■ 서비스에서현재연결수가져오기■ 연결삭제■ 대상만들기■ 대상삭제■ 대상자동만들기활성화또는비활성화■ 대상에서모든메시지제거■ 브로커가시작된후대상에서수신한누적메시지수가져오기■ 대기열의현재상태(실행중또는일시중지됨)가져오기■ 주제에대한현재메시지생성자수가져오기■ 영구가입자의모든메시지제거■ 현재 JVM힙크기가져오기

    JMX API에대한소개와전체참조정보에대해서는 Sun Java System Message Queue 4.1Developer’s Guide for JMX Clients를참조하십시오.

    브로커지원: JMX관련등록정보

    JMX API를지원하기위한몇개의새로운브로커등록정보가추가되었습니다(표 1–3참조).이등록정보는명령줄에서Message Queue명령유틸리티(imqcmd)를사용하여설정할수없습니다.대신,브로커유틸리티(imqbrokerd)의 -D옵션을사용하여설정하거나브로커의인스턴스구성파일(config.properties)에서직접편집할수있습니다.또한이러한등록정보의일부(imq.jmx.rmiregistry.start,imq.jmx.rmiregistry.use, imq.jmx.rmiregistry.port)는표 1–4에서설명하는새로운브로커유틸리티옵션을사용하여설정할수있습니다.다음표에서는각옵션을나열하고해당유형및용도를지정및설명합니다.

    Message Queue 4.0정보

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월20

  • 표 1–3 JMX지원을위한새브로커등록정보

    등록정보 유형 설명

    imq.jmx.rmiregistry.start Boolean 브로커시작시RMI레지스트리를시작할지여부를지정합니다.

    true로설정하면브로커가imq.jmx.rmiregistry.port에지정한포트에서RMI레지스트리를시작하며이를사용하여 JMX커넥터에RMI스텁을저장합니다.이경우imq.jmx.rmiregistry.use값은무시됩니다.

    기본값: false

    imq.jmx.rmiregistry.use Boolean 외부RMI레지스트리를사용할지여부를지정합니다.

    이값은 imq.jmx.rmiregistry.start가 false일경우에만적용됩니다.

    true로설정하면브로커가imq.jmx.rmiregistry.port에지정한포트에서외부RMI레지스트리를사용하여 JMX커넥터에RMI스텁을저장합니다.브로커시작시외부RMI레지스트리가이미실행중이어야합니다.

    기본값: false

    imq.jmx.rmiregistry.port Integer RMI레지스트리의포트번호입니다.

    이값은 imq.jmx.rmiregistry.start또는imq.jmx.rmiregistry.use가 true인경우에만적용됩니다.이렇게위의값이 true로설정되면이포트번호를 JMX서비스URL의URL경로에포함시켜RMI레지스트리를사용할수있도록 JMX커넥터를구성할수있습니다.

    기본값: 1099

    imq.jmx.connector.list String 사전구성된 JMX커넥터이름입니다(쉼표로구분).

    기본값: jmxrmi,ssljmxrmi

    imq.jmx.connector.activelist String 브로커시작시활성화할 JMX커넥터이름입니다(쉼표로구분).

    기본값: jmxrmi

    Message Queue 4.0정보

    1장 • Sun Java System Message Queue 4.1릴리스노트 21

  • 표 1–3 JMX지원을위한새브로커등록정보 (계속)등록정보 유형 설명

    imq.jmx.connector.connectorName .urlpath String connectorName커넥터에대한 JMX서비스URL의urlPath구성요소입니다.

    JMX서비스URL경로를명시적으로설정해야할경우(예:공유된외부RMI레지스트리를사용하는경우)에유용합니다.

    기본값: JMX커넥터에RMI스텁을저장하는데RMI레지스트리를사용하는경우(즉,imq.jmx.registry.start또는imq.jmx.registry.use가 true인경우)에는다음과같습니다.

    /jndi/rmi://brokerHost:rmiPort/brokerHost/brokerPort/connectorName

    RMI레지스트리를사용하지않는경우(기본적으로imq.jmx.registry.start및 imq.jmx.registry.use가모두 false)에는다음과같습니다.

    /stub/rmiStub

    여기서 rmiStub은RMI스텁의인코딩되고일련화된표현입니다.

    imq.jmx.connector.connectorName .useSSL Boolean connectorName커넥터에 SSL(Secure Socket Layer)을사용할지여부를지정합니다.

    기본값: false

    imq.jmx.connector.connectorName .brokerHostTrusted Boolean connectorName커넥터에대해브로커에서제공한인증서를신뢰할지여부를지정합니다.

    이값은 imq.jmx.connector.connectorName.useSSL이true인경우에만적용됩니다.

    이값이 false인경우에는Message Queue클라이언트런타임이제공되는모든인증서를검증합니다.인증서서명자가클라이언트의트러스트저장소에없는경우검증이실패합니다.

    이값이 true인경우에는인증서검증이생략됩니다.이설정은,예를들어자체서명된인증서를사용하는소프트웨어를테스트할때유용할수있습니다.

    기본값: false

    Message Queue 4.0정보

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월22

  • imq.jmx.connector.list등록정보는브로커시작시명명된 JMX커넥터집합을만들도록정의합니다. imq.jmx.connector.activelist는만들어진커넥터집합에서활성화할커넥터를지정합니다.명명된각커넥터에는다음과같은고유등록정보집합이있습니다.

    imq.jmx.connector.connectorName .urlpathimq.jmx.connector.connectorName .useSSLimq.jmx.connector.connectorName .brokerHostTrusted

    기본적으로 jmxrmi와 ssljmxrmi라고하는두가지 JMX커넥터가만들어집니다.첫번째커넥터는 SSL암호화를사용하지않도록구성되며(imq.jmx.connector.jmxrmi.useSSL =false),두번째커넥터는이암호화를사용하도록구성됩니다(imq.jmx.connector.ssljmxrmi.useSSL = true).기본적으로브로커시작시jmxrmi커넥터만활성화됩니다.보안통신을위해 ssljmxrmi커넥터를활성화하는방법에대한내용은 24페이지 “JMX클라이언트에대한 SSL지원”을참조하십시오.

    편의상새옵션(표 1–4)도RMI레지스트리에대한사용,시작및포트를제어하기위해명령줄브로커유틸리티(imqbrokerd)에추가되었습니다.이러한옵션의사용과효과는표 1–3에서설명하는것처럼해당브로커등록정보와동일합니다.다음표에서는각옵션을나열하고해당브로커등록정보및용도를지정및설명합니다.

    표 1–4 JMX지원을위한새브로커유틸리티옵션

    옵션 해당브로커등록정보 설명

    -startRmiRegistry imq.jmx.rmiregistry.start 브로커시작시RMI레지스트리를시작할지여부를지정합니다.

    -useRmiRegistry imq.jmx.rmiregistry.use 외부RMI레지스트리를사용할지여부를지정합니다.

    -rmiRegistryPort imq.jmx.rmiregistry.port RMI레지스트리의포트번호입니다.

    브로커시작시작성및시작되는 JMX커넥터의 JMX서비스URL을나열하기위한새로운하위명령(표 1–5)이명령줄명령유틸리티(imqcmd)에추가되었습니다.이정보는JMX커넥터를가져오는데Message Queue편의클래스 AdminConnectionFactory를사용하지않는 JMX클라이언트에필요하며, Java모니터링및관리콘솔(jconsole)과같은일반 JMX브라우저를통해Message Queue를관리하거나모니터링하는데사용할수도있습니다.

    표 1–5 새명령유틸리티하위명령

    하위명령 설명

    list jmx JMX커넥터의 JMX서비스URL을나열합니다.

    Message Queue 4.0정보

    1장 • Sun Java System Message Queue 4.1릴리스노트 23

  • JMX클라이언트에대한 SSL지원

    위에언급한바와같이Message Queue메시지브로커는기본적으로사전구성된 JMX커넥터 jmxrmi를사용하므로보안통신이설정되지않은상태로구성됩니다.응용프로그램에보안통신을위한 SSL(Secure Socket Layer)을사용하려면대신사용할수있는보안 JMX커넥터 ssljmxrmi를활성화해야합니다.이커넥터를활성화하려면다음단계를수행해야합니다.

    1. Message Queue관리설명서에설명된대로 ssljms, ssladmin또는 cluster연결서비스와동일한방법으로서명된인증서를가져오고설치합니다.

    2. 필요시트러스트저장소에루트인증기관인증서를설치합니다.3. 브로커시작시활성화될수있도록다음과같이 JMX커넥터목록에 ssljmxrmi커넥터를추가합니다.imq.jmx.connector.activelist=jmxrmi,ssljmxrmi

    4. Message Queue브로커유틸리티(imqbrokerd)에비밀번호파일의키저장소비밀번호를전달하거나프롬프트창의명령줄에서이유틸리티를입력하여브로커를시작합니다.

    5. 기본적으로 ssljmxrmi커넥터(또는다른 SSL기반커넥터)는제공되는모든브로커SSL인증서를검증하도록구성됩니다.이검증을수행하지않으려면(예를들어,소프트웨어테스트중자체서명된인증서를사용할경우)브로커등록정보imq.jmx.connector.ssljmxrmi.brokerHostTrusted를 true로설정합니다.

    클라이언트측에서는다음과같이 ssljmxrmi를기본커넥터로지정하는URL로관리자연결팩토리(AdminConnectionFactory)를구성해야합니다.

    AdminConnectionFactory acf = new AdminConnectionFactory();

    acf.setProperty(AdminConnectionConfiguration.imqAddress, "mq://myhost:7676/ssljmxrmi");

    필요시시스템등록정보 javax.net.ssl.trustStore및javax.net.ssl.trustStorePassword를사용하여 JMX클라이언트가트러스트저장소를가리키도록설정합니다.

    클라이언트런타임로깅이절에서는Message Queue 4.0의연결및세션관련이벤트에대한클라이언트런타임로깅지원에대해설명합니다.

    JDK 1.4이상버전에는 java.util.logging라이브러리가포함되어있습니다.이라이브러리는응용프로그램특정로깅에사용할수있는표준로거인터페이스를구현합니다.

    Message Queue클라이언트런타임은 Java로깅API를사용하여로깅기능을구현합니다.모든 J2SE 1.4로깅기능을사용하여로깅작업을구성할수있습니다.예를들어,응용프로그램은다음과같은 Java로깅기능을사용하여Message Queue클라이언트런타임이해당로깅정보를출력하는방법을구성할수있습니다.

    Message Queue 4.0정보

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월24

  • ■ 로깅처리기■ 로깅필터■ 로깅포매터■ 로깅수준

    Java로깅API에대한자세한내용은http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/overview.html의 JavaLogging Overview를참조하십시오.

    로깅이름공간,수준및작업Message Queue공급자는로깅구성을적절하게설정한경우Message Queue클라이언트가연결및세션이벤트를기록할수있도록해주는로깅수준및로깅작업과연관된로깅이름공간집합을정의합니다.

    Message Queue클라이언트런타임의루트로깅이름공간은 javax.jms로정의됩니다.Message Queue클라이언트런타임의모든로거에서이이름을부모이름공간으로사용합니다.

    Message Queue클라이언트런타임에사용되는로깅수준은 java.util.logging.Level클래스에정의된로깅수준과동일합니다.이클래스는 7개의표준로그수준과로깅기능을활성화및비활성화하는데사용할수있는 2가지추가설정을정의합니다.

    OFF 로깅을비활성화합니다.

    SEVERE 최고우선순위로가장높은값입니다.응용프로그램에서정의됩니다.

    WARNING 응용프로그램에서정의됩니다.

    INFO 응용프로그램에서정의됩니다.

    CONFIG 응용프로그램에서정의됩니다.

    FINE 응용프로그램에서정의됩니다.

    FINER 응용프로그램에서정의됩니다.

    FINEST 최저우선순위로가장낮은값입니다.응용프로그램에서정의됩니다.

    ALL 모든메시지로깅을활성화합니다.

    일반적으로Message Queue클라이언트런타임에서발생한예외및오류는이름공간이javax.jms인로거에서기록합니다.

    ■ JVM에서발생하여클라이언트런타임이수신하는예외(예: IOException)는로깅이름공간이 javax.jms인로거가 WARNING수준에서기록합니다.

    ■ 클라이언트런타임에서발생하는 JMS예외(예: IllegalStateException)는로깅이름공간이 javax.jms인로거가 FINER수준에서기록합니다.

    ■ JVM에서발생하여클라이언트런타임이수신하는오류(예: OutOfMemoryError)는로깅이름공간이 javax.jms인로거가 SEVERE수준에서기록합니다.

    Message Queue 4.0정보

    1장 • Sun Java System Message Queue 4.1릴리스노트 25

    http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/overview.html

  • 다음에나오는표에는 JMS연결및세션에대한이벤트를기록하기위해설정해야하는로그수준과기록할수있는이벤트가나열되어있습니다.

    다음표에서는연결에대한로그수준과이벤트에대해설명합니다.

    표 1–6 javax.jms.connection이름공간에대한로그수준및이벤트

    로그수준 이벤트

    FINE 연결생성

    FINE 연결시작

    FINE 연결닫힘

    FINE 연결끊어짐

    FINE 다시연결됨

    FINER setClientID와같은기타연결작업

    FINEST 메시지,확인, Message Queue작업및제어메시지(예:트랜잭션완결)

    세션의경우에는다음정보가로그레코드에기록됩니다.

    ■ 사용자에전송된메시지에대한각로그레코드에는ConnectionID, SessionID및ConsumerID가포함됩니다.

    ■ 생성자에서전송한메시지에대한각로그레코드에는ConnectionID, SessionID,ProducerID및대상이름이포함됩니다.

    다음표에서는세션에대한로그수준과이벤트에대해설명합니다.

    표 1–7 javax.jms.session이름공간에대한로그수준및이벤트

    로그수준 이벤트

    FINE 세션생성

    FINE 세션닫힘

    FINE 생성자생성

    FINE 사용자생성

    FINE 대상생성

    FINER 세션완결과같은기타세션작업

    FINEST 메시지생성및사용(메시지등록정보및본문은로그레코드에기록되지받습니다.)

    Message Queue 4.0정보

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월26

  • 기본적으로출력로그수준은응용프로그램이실행중인 JRE에서상속됩니다.해당수준을확인하려면 JRE_DIRECTORY/lib/logging.properties파일을확인하십시오.

    프로그래밍방식이나구성파일을사용하여로깅을구성할수있고로깅의범위를제어할수있습니다.다음절에서는이러한작업에대해설명합니다.

    JRE로깅구성파일사용

    다음예는 Java런타임환경의로그수준을설정하는데사용되는JRE_DIRECTORY/lib/logging.properties파일에로깅이름공간및수준을설정하는방법을나타냅니다.이 JRE를사용하는모든응용프로그램에는동일한로깅구성이있습니다.다음의예제구성은 javax.jms.connection이름공간에대해로깅수준을INFO로설정하며출력을 java.util.logging.ConsoleHandler에기록할것을지정합니다.

    #logging.properties file.

    # "handlers" specifies a comma separated list of log Handler# classes. These handlers will be installed during VM startup.

    # Note that these classes must be on the system classpath.

    # By default we only configure a ConsoleHandler, which will only

    # show messages at the INFO and above levels.

    handlers= java.util.logging.ConsoleHandler

    # Default global logging level.

    # This specifies which kinds of events are logged across

    # all loggers. For any given facility this global level

    # can be overriden by a facility-specific level.

    # Note that the ConsoleHandler also has a separate level

    # setting to limit messages printed to the console.

    .level= INFO

    # Limit the messages that are printed on the console to INFO and above.

    java.util.logging.ConsoleHandler.level = INFO

    java.util.logging.ConsoleHandler.formatter =

    java.util.logging.SimpleFormatter

    # The logger with javax.jms.connection name space will write

    # Level.INFO messages to its output handler(s). In this configuration

    # the ouput handler is set to java.util.logging.ConsoleHandler.

    javax.jms.connection.level = INFO

    Message Queue 4.0정보

    1장 • Sun Java System Message Queue 4.1릴리스노트 27

  • 특정응용프로그램에대한로깅구성파일사용

    응용프로그램을실행하는데사용하는 java명령줄에서로깅구성파일을정의할수도있습니다.응용프로그램은지정한로깅파일에정의된구성을사용합니다.다음예에서configFile은 JRE_DIRECTORY/lib/logging.properties파일에정의된형식과동일한형식을사용합니다.

    java -Djava.util.logging.config.file=configFile MQApplication

    프로그래밍방식으로로깅구성설정

    java.util.logging API를사용하는다음코드는 javax.jms.connection이름공간로그수준을 FINE으로변경하여연결이벤트를기록합니다.이러한코드를응용프로그램에포함시킴으로써프로그래밍방식으로로깅구성을설정할수있습니다.

    import java.util.logging.*;

    //construct a file handler and output to the mq.log file

    //in the system’s temp directory.

    Handler fh = new FileHandler("%t/mq.log");fh.setLevel (Level.FINE);

    //Get Logger for "javax.jms.connection" domain.

    Logger logger = Logger.getLogger("javax.jms.connection");logger.addHandler (fh);

    //javax.jms.connection logger would log activities

    //with level FINE and above.

    logger.setLevel (Level.FINE);

    연결이벤트알림Message Queue클라이언트는연결이벤트알림을통해닫힘및다시연결이벤트를수신하고알림유형및연결상태를기반으로적절한작업을수행할수있습니다.예를들어,페일오버가발생하고클라이언트가다른브로커에다시연결된경우응용프로그램은해당트랜잭션상태를정리하고새트랜잭션으로작업을계속하려할수있습니다.

    Message Queue공급자가연결에서심각한문제를감지한경우에는연결객체의등록된예외수신기를호출한후이수신기의 onException메소드를호출하고,문제를설명하는JMSException인수를이메소드에전달합니다.또한Message Queue공급자는클라이언트런타임이연결상태변경사항을응용프로그램에알릴수있도록해주는이벤트알림API를제공하기도합니다.알림API는다음요소로정의됩니다.

    ■ 이벤트수신기및알림이벤트객체를정의하는com.sun.messaging.jms.notification패키지

    Message Queue 4.0정보

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월28

  • ■ javax.jms.Connection인터페이스에대한확장을정의하는com.sun.messaging.jms.Connection인터페이스

    다음절에서는알림을트리거할수있는이벤트에대한정보와이벤트수신기를만들수있는방법에대해설명합니다.

    연결이벤트

    다음표에서는이벤트수신기에서반환할수있는이벤트를나열하고설명합니다.

    연결이벤트가발생한경우에는 JMS예외수신기가호출되지않습니다.이예외수신기는클라이언트런타임이다시연결시도를모두소진한경우에만호출됩니다.클라이언트런타임은항상예외수신기보다이벤트수신기를먼저호출합니다.

    표 1–8 알림이벤트

    이벤트유형 의미

    ConnectionClosingEvent Message Queue클라이언트런타임이관리자의종료요청으로인해연결이닫히려고하는브로커에서알림을수신한경우이이벤트를생성합니다.

    ConnectionClosedEvent 브로커오류나관리자의종료또는다시시작요청으로인해연결이닫힌경우Message Queue클라이언트런타임이이이벤트를생성합니다.

    이벤트수신기가 ConnectionClosedEvent를수신한경우응용프로그램은수신된이벤트의getEventCode()메소드를사용하여연결이닫힌원인을지정하는이벤트코드를가져올수있습니다.

    ConnectionReconnectedEvent Message Queue클라이언트런타임이브로커에다시연결되었음을나타냅니다.이는이전에클라이언트에연결되었던동일한브로커이거나다른브로커일수있습니다.

    응용프로그램은수신된이벤트의getBrokerAddress메소드를사용하여다시연결된브로커의주소를가져올수있습니다.

    Message Queue 4.0정보

    1장 • Sun Java System Message Queue 4.1릴리스노트 29

  • 표 1–8 알림이벤트 (계속)이벤트유형 의미

    ConnectionReconnectFailedEvent Message Queue클라이언트런타임을브로커에다시연결하지못했음을나타냅니다.다시연결시도에실패할때마다런타임은새이벤트를생성하고이를이벤트수신기에전송합니다.

    연결이벤트가발생한경우에는 JMS예외수신기가호출되지않습니다.이예외수신기는클라이언트런타임이다시연결시도를모두소진한경우에만호출됩니다.클라이언트런타임은항상예외수신기보다이벤트수신기를먼저호출합니다.

    이벤트수신기만들기

    다음코드예는연결이벤트수신기를설정하는방법을나타냅니다.연결이벤트가발생할때마다클라이언트런타임에의해이벤트수신기의 onEvent메소드가호출됩니다.

    //create an MQ connection factory.

    com.sun.messaging.ConnectionFactory factory =

    new com.sun.messaging.ConnectionFactory();

    //create an MQ connection.

    com.sun.messaging.jms.Connection connection =

    (com.sun.messaging.jms.Connection )factory.createConnection();

    //construct an MQ event listener. The listener implements

    //com.sun.messaging.jms.notification.EventListener interface.

    com.sun.messaging.jms.notification.EventListener eListener =

    new ApplicationEventListener();

    //set event listener to the MQ connection.

    connection.setEventListener ( eListener );

    이벤트수신기예

    이예에서응용프로그램은해당이벤트수신기가연결이벤트를응용프로그램의로깅시스템에기록하도록선택합니다.

    public class ApplicationEventListener implements

    com.sun.messaging.jms.notification.EventListener {

    Message Queue 4.0정보

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월30

  • public void onEvent ( com.sun.messaging.jms.notification.Event connEvent ) {

    log (connEvent);

    }

    private void log ( com.sun.messaging.jms.notification.Event connEvent ) {

    String eventCode = connEvent.getEventCode();

    String eventMessage = connEvent.getEventMessage();

    //write event information to the output stream.

    }

    }

    하드웨어및소프트웨어요구사항버전 4.0에대한하드웨어및소프트웨어요구사항은 Sun Java System Application ServerPlatform Edition 9의릴리스노트를참조하십시오.

    이릴리스에서해결된버그다음표는Message Queue 4.1버전에서해결된버그를설명합니다.

    표 1–9 Message Queue 4.1에서해결된버그

    버그 설명

    6381703 메시지를만든브로커가다시시작되면트랜잭션된원격메시지가두번완결될수있음

    6388049 완료되지않은분산트랜잭션을정리할수없음

    6401169 imqcmd에대한완결및롤백옵션이확인을요청하는메시지를표시하지않음

    6473052 자동생성된대기열의기본값은라운드로빈되어야함(MaxNumberConsumers = -1)

    6474990 imqcmd list dst명령에대해브로커로그가 ConcurrentModificationException을표시함

    6487413 제한동작이 REMOVE_OLDEST또는 REMOVE_LOWER_PRIORITY일경우메모리누출이발생함

    6488340 브로커가회전하고클라이언트가응답확인을기다림

    6502744 브로커가사용불능메시지대기열의기본제한인 1000개메시지를따르지않음

    6517341 imqReconnectEnabled등록정보값에관계없이클라이언트가다시연결될수있도록하여클라이언트를고가용성클러스터에연결할경우클라이언트런타임의다시연결논리가향상되어야함

    6528736 시작도중Windows자동시작서비스(imqbrokersvc)에충돌이발생함

    6561494 메시지와사용자가한세션을공유한경우메시지가잘못된사용자에게전송됨

    이릴리스에서해결된버그

    1장 • Sun Java System Message Queue 4.1릴리스노트 31

  • 표 1–9 Message Queue 4.1에서해결된버그 (계속)버그 설명

    6567439 PREPARED트랜잭션에서생성된메시지가브로커다시시작후에완결되면메시지가잘못된순서로전송됨

    다음표는Message Queue 4.0에서해결된버그를설명합니다.

    표 1–10 Message Queue 4.0에서해결된버그

    버그번호 설명

    4986481 Message Queue 3.5의경우자동다시연결모드에서 Session.recover호출이정지될수있었음

    4987325 Session.recover호출후재전송된플래그가재전송된메시지에대해 false로설정되었음

    6157073 연결총수뿐아니라서비스의연결수를포함시키기위해새연결메시지를변경함

    6193884 메시지에ASCII가아닌문자를사용하는로켈의경우Message Queue는알아볼수없는메시지를 syslog로출력함

    6196233 JMSMessageID를사용하여메시지를선택할수없음

    6251450 클러스터종료도중 connectList의 ConcurrentModificationException

    6252763 java.nio.HeapByteBuffer.putLong/Int의 java.nio.BufferOverflowException

    6260076 Oracle저장소에서시작후첫번째로게시되는메시지가느림

    6260814 JMSXUserID에서의선택기처리가항상 false로처리됨

    6264003 대기열브라우저가완결되지않은트랜잭션의일부인메시지를표시함

    6271876 사용되지않은메시지를가진사용자를종료할때연결흐름제어가제대로작동하지않음

    6279833 Message Queue에서두개의브로커가동일한 jdbc테이블을사용해서는안됨

    6293053 마스터브로커는시스템의 IOP주소가변경된경우저장소를지우기전에는(—resetstore를사용하여)올바르게시작되지않습니다.받습니다.)

    6294767 Message Queue브로커가여는네트워크소켓에 SO_REUSEADDR을설정해야함

    6304949 ClientID등록정보를 TopicConnectionFactory에설정할수없음

    6307056 txn로그에성능병목현상발생

    6320138 Message Queue C API에회신헤더로부터대기열의이름을확인하는기능이없음

    6320325 JDK 1.4와 JDK 1.5가모두설치된경우브로커가 JDK 1.5보다 JDK 1.4를먼저선택하는경우가있음

    이릴리스에서해결된버그

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월32

  • 표 1–10 Message Queue 4.0에서해결된버그 (계속)버그번호 설명

    6321117 멀티브로커클러스터초기화시 java.lang.NullPointerException발생

    6330053 가입자의트랜잭션을완결할때 jms클라이언트에서java.lang.NoClassDefFoundError가발생함

    6340250 C-API에서 MESSAGE유형지원

    6351293 Apache Derby데이터베이스지원추가

    중요정보핵심제품설명서에들어있지않은최신정보에대한내용은다음절을참조하십시오.

    ■ 33페이지 “설치정보”■ 33페이지 “호환성문제”■ 34페이지 “Message Queue 4.1설명서업데이트”

    설치정보사전설치지침,업그레이드절차에대한정보와 Solaris, Linux, Windows플랫폼에Message Queue, Platform Edition을설치하는것과관련된기타모든정보는 Sun JavaSystem Message Queue 4.1 Installation Guide를참조하십시오.

    Solaris, Linux및HPUX플랫폼에Message Queue Enterprise Edition을설치하는작업과관련된사전설치지침및기타모든정보에대한자세한내용은 Sun Java EnterpriseSystem Installation Guide를참조하십시오.

    Solaris, Linux, HPUX및Windows플랫폼에서Message Queue Enterprise Edition으로업그레이드하는작업과관련된업그레이드및마이그레이션지침에대한자세한내용은Sun Java Enterprise System Upgrade and Migration Guide를참조하십시오.

    호환성문제이절에서는Message Queue 4.1의호환성문제를설명합니다.

    인터페이스안정성Sun Java System Message Queue는시간이흐름에따라변경될수있는많은인터페이스를사용합니다. Sun Java System Message Queue 4.1 Administration Guide의부록B, “Stabilityof Message Queue Interfaces”에서는인터페이스를안정성에따라분류합니다.인터페이스가안정적일수록제품의향후버전에서변경될가능성이적어집니다.

    중요정보

    1장 • Sun Java System Message Queue 4.1릴리스노트 33

  • Message Queue의다음주요릴리스와관련된문제Message Queue의다음주요릴리스에서는클라이언트가해당릴리스와호환되지않을수있습니다.이러한변경사항에대비할수있도록이정보를미리제공합니다.

    ■ Sun Java System Message Queue의일부로설치된개별파일의위치가변경될수있습니다.따라서특정Message Queue파일의현재위치에의존하는기존응용프로그램이작동하지않을수있습니다.

    ■ 최신브로커가있는클러스터에서 3.5이전브로커가더이상작동하지않을수있습니다.

    ■ Message Queue의향후릴리스에서클라이언트가 1.5이전버전의 JDK를사용하지못할수있습니다.

    Message Queue 4.1설명서업데이트Message Queue 4.1에서는본릴리스노트문서외에 Sun Java System Message Queue 4.1Developer’s Guide for JMX Clients문서만 Sun Java System Message Queue 4.1 Developer’sGuide for JMX Clients.이문서는Message Queue 4.0릴리스에서소개되었습니다. 4.1버전에서는 JMX모델을소개하는개념정보가추가되었습니다.

    Message Queue 3.6 SP3, 2005Q4에서제공된Message Queue설명서는Application Server 9PE클라이언트의필요에따라최신상태로유지됩니다.이설명서모음은다음위치에서사용할수있습니다.

    http://docs.sun.com/app/docs/coll/1307.1

    설치및업그레이드정보Sun Java System Message Queue 4.1 Installation Guide가플래폼별정보를반영하기위해업데이트되었습니다.이문서에Message Queue 4.1과관련된설치및업그레이드정보가추가되었습니다.

    관리설명서고가용성클러스터, JAAS지원및 JMX지원에대한정보를제공할수있도록Administration Guide가업데이트되었습니다.

    Java클라이언트용개발안내서클라이언트런타임로깅지원및연결이벤트알림과관련된추가사항을반영할수있도록Developer’s Guide for Java Clients가업데이트되었습니다.

    C클라이언트용개발안내서MQGetDestinationName기능, MQ_Message메시지유형및고정포트와관련된추가사항을반영할수있도록Developer’s Guide for C Clients가업데이트되었습니다.

    중요정보

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월34

    http://docs.sun.com/app/docs/coll/1307.1

  • 알려진문제점및제한사항이절에는Message Queue 4.1의알려진문제점이나열되어있습니다.적용되는제품영역은다음과같습니다.■ 35페이지 “설치문제”■ 40페이지 “더이상사용되지않는비밀번호옵션”■ 41페이지 “일반적인문제”■ 41페이지 “관리/구성문제”■ 42페이지 “브로커문제”■ 42페이지 “브로커클러스터”■ 44페이지 “JMX문제”■ 45페이지 “SOAP지원”

    현재버그와상태,해결방법에대한목록을보려면 Java Developer ConnectionTM회원은Java Developer Connection웹사이트의 Bug Parade페이지를확인해야합니다.새로운버그를보고하기전에이페이지를확인하십시오.여기에모든Message Queue버그가나열되어있지는않지만문제가보고된적이있는지여부를확인할수있습니다.

    http://bugs.sun.com/bugdatabase/index.jsp

    주 – Java Developer Connection구성원의경우무료이지만등록해야합니다. JavaDeveloper Connection구성원이되는방법에대한자세한내용은 Sun의 "For Developers"웹페이지를참조하십시오.

    새버그를보고하거나기능요청서를제출하려면 [email protected]으로메일을보내십시오.

    설치문제이절에서는Message Queue버전 4.1설치와관련된문제에대해설명합니다.

    제품레지스트리및 JESMessage Queue버전 4.1은Message Queue에필요한공유구성요소(예: JDK, NSS라이브러리, JavaHelp등)를설치및업그레이드할때에도사용할수있는새설치프로그램으로설치합니다.이설치프로그램은 Java Enterprise System(JES)설치프로그램과제품레지스트리를공유하지않습니다. JES에설치된Message Queue버전이제거되고Message Queue설치프로그램을통해Message Queue 4.1로업그레이드된경우에는 JES제품레지스트리가불일치상태가될수있습니다.따라서, JES제거프로그램이실행되면Message Queue 4.1및여기에서사용하는공유구성요소(JES가설치하지않은구성요소)가부주의로제거될수있습니다.

    JES설치프로그램에서설치한소프트웨어를업그레이드하는가장좋은방법은다음과같습니다.

    알려진문제점및제한사항

    1장 • Sun Java System Message Queue 4.1릴리스노트 35

    http://bugs.sun.com/bugdatabase/index.jsp

  • 1. JES제거프로그램을사용하여Message Queue와해당공유구성요소를제거합니다.2. Message Queue설치프로그램을사용하여Message Queue 4.1을설치합니다.

    적합한 JRE선택Message Queue 4.1설치프로그램 JDK선택화면을사용하여Message Queue에서사용할용도로시스템에있는기존 JDK/JRE를선택할수있습니다.하지만,표시되는목록에는설치응용프로그램을실행할때사용되는 JRE도포함되어있습니다.이 JRE는설치프로그램번들의일부이며실제로시스템에설치되지는않습니다. (버그 6585911)

    설치프로그램에서사용하는 JRE는경로로인식되며,이경로는압축해제된설치프로그램디렉토리안에있어야하며하위디렉토리 mq4_1–installer가포함되어있어야합니다.예를들면다음과같습니다.

    some_directory/mq4_1–installer/usr/jdk/instances/jdk1.5.0/jre

    Message Queue에서사용할용도로이 JRE를선택하지마십시오.대신시스템상의다른JDK를선택하십시오.시스템상에 JDK가존재하지않으면다음과같이해당플랫폼에서적절한조치를취하십시오.

    ■ Solaris또는 Linux: "기본 JDK설치및사용"을선택합니다.■ Windows: Message Queue 4.1설치프로그램을실행하기전에 JDK를다운로드하여설치합니다.

    Windows설치Message Queue를Windows에설치할경우에는다음제한사항에유의하십시오.

    ■ 설치프로그램을실행해도Message Queue에대한항목이시작 >프로그램메뉴에추가되지않습니다(버그 6567258).관리콘솔을시작하려면 Sun Java System MessageQueue 4.1 Administration Guide의 “Starting the Administration Console”에보이는명령줄을사용하십시오.

    ■ 설치프로그램을실행해도 PATH환경변수에 IMQ_HOME\mq\bin디렉토리가추가되지않습니다(버그 6567197). PATH환경변수에이항목을직접추가하거나Message Queue유틸리티를호출할때전체경로이름(IMQ_HOME\mq\bin\command)을입력해야합니다.

    ■ 설치프로그램을실행해도Message Queue가설치되었음을나타내는항목이Windows레지스트리에추가되지않습니다.

    ■ 설치프로그램을자동모드로실행하면프로그램이즉시반환됩니다.설치가수행되지만사용자는자동설치가실제로완료된시점을알수없습니다.(버그6586560)

    ■ 텍스트모드(installer –t)가Windows에서지원되지않습니다. Windows에서설치프로그램을텍스트모드로실행하면오류메시지가표시됩니다.설치프로그램을영어이외의로켈로실행한경우에도이메시지는영어로표시됩니다. (버그 6594142)

    알려진문제점및제한사항

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월36

  • ■ 설치프로그램을영어이외의로켈로실행한경우에도설치프로그램설치홈화면에표시되어야할“설치홈”문자열이영어로표시됩니다. (버그 6592491)

    Solaris설치사용자가 installer-n명령을사용하여설치를시도하면오류메시지와 "불완전"요약상태가잘못표시됩니다.실제로는명령에성공합니다. (버그 6594351)

    Linux설치Linux플랫폼에서는다음문제가설치작업에영향을줍니다.

    ■ JDK선택패널에서스크롤목록에한가지항목만표시됩니다.이로인해목록에서다른 JDK를선택하기어렵습니다. (버그 6584735)

    ■ JDK가이미설치되어있는경우사용자가 JDK선택화면에서 "기본 JDK설치"를선택하면설치프로그램이 JDK설치를계속시도하며패키지를설치할수없다고보고합니다.이문제에도불구하고설치는성공적으로완료됩니다. (버그 6581310)

    ■ 설치프로그램이드라이런모드에서실행되는경우(installer –n ),요약화면에오류메시지가표시되고설치상태가 "불완전"으로표시됩니다.이는잘못된정보입니다.드라이런에서는시스템에어떠한것도설치되지않습니다.다음설치에사용할수있는응답파일만만들어집니다.(버그 6594351)

    ■ 시스템에이전버전의Message Queue현지화RPM이있으면Message Queue 4.1현지화RPM설치(다국어패키지화면에서 "Message Queue다국어패키지설치"확인란선택)에실패합니다.이전 3.7 UR1설치의 Il8패키지와의충돌로인해설치에실패합니다. (버그 6594381)해결방법 4.1설치프로그램을실행하기전에 rpm –e명령을사용하여현지화 RPM을제거하십시오.관련된RPM이무엇인지확인하려면 Sun Java System MessageQueue 4.1 Installation Guide의 “Message Queue Packages (RPMs)”를참조하십시오.

    모든플랫폼설치여기서설명하는문제는모든플랫폼설치에적용됩니다.

    ■ 설치프로그램이Message Queue 4.1을설치하는도중진행률화면이표시될때취소버튼이활성화됩니다.이때취소버튼을선택하면설치가완료되지않거나손상됩니다. (버그 6595578)

    ■ 설치프로그램요약화면에클릭시로그또는요약페이지뷰어를실행하는많은링크가포함됩니다. "닫기"레이블로표시된버튼대신창닫기버튼 "X"를사용하여이뷰어창을닫으면이뷰어창의백업을가져올수없게됩니다. (버그 6587138)해결방법:닫기레이블로표시된버튼을사용하여창을닫습니다.

    ■ 시스템에이전버전의Message Queue와NSS/NSPR이있는경우설치프로그램의업그레이드에업그레이드가필요한대상으로Message Queue만표시되며NSS/NSPR의업그레이드필요성은언급되지않습니다.올바른정보를제공하는설치

    알려진문제점및제한사항

    1장 • Sun Java System Message Queue 4.1릴리스노트 37

  • 준비완료화면에나타나는바대로관련소프트웨어가설치프로세스의일부로모두업그레이드되므로이문제는업데이트화면에만국한되는문제입니다. (버그6580696)해결방법: NSS/NSPR파일이설치되어있지않다면이파일이설치될것이고이전버전은제거될것이므로해결방법이필요없습니다.

    ■ 설치프로그램또는제거프로그램이텍스트모드에서실행될때(installer –t ),요약화면에로그/요약파일이포함된디렉토리가표시되지만이파일의이름은나열되지않습니다. (버그 6581592)

    ■ 존재하지않는파일이름을지정하면일관성없고모호한오류메시지가생성됩니다.(버그 6587127)

    버전정보설치프로그램에서불분명한형식으로Message Queue버전정보를표시합니다. (버그6586507)

    Solaris플랫폼에서설치된버전을확인하려면아래표를참조하십시오.

    표 1–11 버전형식

    설치프로그램에표시되는버전 Message Queue릴리스

    4.1.0.0 4.1

    3.7.0.1 3.7 UR1

    3.7.0.2 3.7 UR2

    3.7.0.3 3.7 UR3

    3.6.0.0 3.6

    3.6.0.1 3.6 SP1

    3.6.0.2 3.6 SP2

    3.6.0.3 3.6 SP3

    3.6.0.4 3.6 SP4

    주 – 3.6 SP4에대한패치릴리스(예: 3.6 SP4패치 1)의경우설치프로그램에표시되는릴리스문자열이동일합니다.정확한버전을확인하려면 imqbrokerd –version을실행해야합니다.

    Linux플랫폼에서는단순형식변환을제공할수없습니다. Linux에서설치프로그램에표시되는버전번호의형식은다음과같습니다.

    알려진문제점및제한사항

    Sun Java System Message Queue 4.1릴리스노트 • 2007년 9월38

  • .-

    예: 3.7–22.이는 3.7릴리스중하나를나타내지만특정릴리스를가리키지는않습니다.이를확인하려면 imqbrokerd —version명령을실행하십시오.

    현지화문제다음문제는현지화문제와관련된내용입니다.■ 설치프로그램이텍스트모드(installer –t ),비영어로켈에서실행될때다중바이트문자가알아볼수없게표시됩니다.(버그 6586923)

    ■ 설치프로그램요약화면을통해요약보고서를볼수있습니다.하지만,설치프로그램을멀티바이트로켈로실행하면이보고서(HTML페이지)에알수없는문자가표시됩니다. (버그 6587112)해결방법: HTML파일을편집하여이파일에지정된문자집합을수정합니다. HTML파일에는다음과같은내용이포함되어야합니다.meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8

    “UTF-8”을 locale_name.UTF-8로바꿉니다.예를들어, Solaris의경우 ja_JA.UTF-8또는 ko.UTF-8로, Linux의경우 ja_JA.utf8또는 ko_KO.utf8로바꿉니다.

    ■ 설치프로그램진행률화면에서진행률표시줄에알수없는문자가표시됩니다.도구설명이영어이외의로켈로하드코드되어있습니다. (버그 6591632)

    ■ 텍스트모드(installer –t)가Windows에서지원되지않습니다. Windows에서설치프로그램을텍스트모드로실행하면오류메시지가표시됩니다.설치프로그램을영어이외의로켈로실행한경우에도이메시지는영어로표시됩니다. (버그 6594142)

    ■ 설치프로그램이실행되는로켈에관계없이설치프로그램의사용권화면에영문사용권텍스트가표시됩니다.(버그 6592399)해결방법:현지화된사용권파일에액세스하려면 LICENSE_MULTILANGUAGE.pdf파일을사용하십시오.

    ■ 설치프로그램사용도움말텍스트가현지화되지않았습니다. (버그 6592493)■ 설치프로그램요약HTML페이지에표시되는문자열 "None"이영어로하드코드되어있습니다. (버그 6593089)

    ■ 프랑스어를제외한나머지로켈에서저작권페이지가현지화되지않았습니다. (버그6590992)

    ■ 설치프로그램을독일어로켈로실행하면시작화면에다른로켈에서는표시되는전체텍스트가표시되지않습니다. (버그 6592666)

    ■ 설치프로그램설치홈화면에표시되어야할 "설치홈"문자열이현지화되지않았습니다.설치프로그램을영어이외의로켈로실행한경우에도이문자열은영어로표시됩니다. (버그 6592491)

    ■ 설치프로그램이텍스트모드에서실행될때는(installer –t ),설치프로그램이실행되는로켈에관계없이영어응답선택항목 "Yes"와 "No"가사용됩니다. (버그6593230)

    알려진문제점및제한사항

    1장 • Sun Java System Message Queue 4.1릴리스노트 39

  • ■ 설치프로그램 JDK선택화면의찾아보기버튼에대한도구설명이영문으로하드코드되어있습니다. (버그 6593085)

    더이상사용되지않는비밀번호옵션이전버전의Message Queue에서는 —p또는 —password옵션을사용하여다음명령에대한비밀번호를대화식으로지정할수있었습니다.비밀번호를대화식으로지정할수있었습니다.버전 4.0부터는이러한옵션이더이상사용되지않았습니다.비밀번호는다음과같이지정해야합니다.

    1. 비밀번호만을저장하는데사용되는파일에서비밀번호등록정보를원하는값으로설정합니다.다음구문을사용하여비밀번호파일에비밀번호를지정합니다.PasswordPropertyName= MyPassword

    2. —passfile옵션을사용하여비밀번호파일의이름을전달합니다.

    비밀번호파일에는아래나열된비밀번호가하나이상포함될수있습니다.

    ■ SSL키저장소를여는데사용되는키저장소비밀번호.이비밀번호를지정하려면imq.keystore.password등록정보를사용합니다.

    ■ 익명연결이아닌경우 LDAP디렉토리에안전하게연결하는데사용되는 LDAP저장소비밀번호.이비밀번호를지정하려면 imq.user_repository.ldap.password등록정보를사용합니다.