JEUS
|
|
- 희철 비
- 6 years ago
- Views:
Transcription
1 JEUS JMX 안내서 JEUS v7.0 Fix#1 Copyright 2013 TmaxSoft Co., Ltd. All Rights Reserved.
2 Copyright Notice Copyright 2013 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 우 ) Restricted Rights Legend All TmaxSoft Software (JEUS ) and documents are protected by copyright laws and international convention. TmaxSoft software and documents are made available under the terms of the TmaxSoft License Agreement and may only be used or copied in accordance with the terms of this agreement. No part of this document may be transmitted, copied, deployed, or reproduced in any form or by any means, electronic, mechanical, or optical, without the prior written consent of TmaxSoft Co., Ltd. 이소프트웨어 (JEUS ) 사용설명서의내용과프로그램은저작권법과국제조약에의해서보호받고있습니다. 사용설명서의내용과여기에설명된프로그램은 TmaxSoft Co., Ltd. 와의사용권계약하에서만사용이가능하며, 사용권계약을준수하는경우에만사용또는복제할수있습니다. 이사용설명서의전부또는일부분을 TmaxSoft의사전서면동의없이전자, 기계, 녹음등의수단을사용하여전송, 복제, 배포, 2차적저작물작성등의행위를하여서는안됩니다. Trademarks JEUS is registered trademark of TmaxSoft Co., Ltd. Other products, titles or services may be registered trademarks of their respective companies. JEUS 는 TmaxSoft Co., Ltd. 의등록상표입니다. 기타모든제품들과회사이름은각각해당소유주의상표로서참조용으로만사용됩니다. Open Source Software Notice Some modules or files of this product are subject to the terms of the following licenses. : APACHE2.0, CDDL1.0, EDL1.0, OPEN SYMPHONY SOFTWARE1.1, TRILEAD-SSH2, Bouncy Castle, BSD, MIT, SIL OPEN FONT1.1 Detailed Information related to the license can be found in the following directory : ${INSTALL_PATH/lib/licenses 본제품의일부파일또는모듈은다음의라이선스를준수합니다. : APACHE2.0, CDDL1.0, EDL1.0, OPEN SYM PHONY SOFTWARE1.1, TRILEAD-SSH2, Bouncy Castle, BSD, MIT, SIL OPEN FONT1.1 관련상세한정보는제품의다음의디렉터리에기재된사항을참고해주십시오. : ${INSTALL_PATH/lib/licenses 안내서정보안내서제목 : JEUS JMX 안내서발행일 : 소프트웨어버전 : JEUS v7.0 Fix#1 안내서버전 : v2.1.2
3 내용목차 안내서에대하여... vii 제1장 MBean 정보조회 WebAdmin 사용 콘솔툴사용... 2 제2장 JMX Manager 환경설정 개요 기본정보설정 JMX Connector 설정 JMXMP Connector RMI Connector SNMP Adaptor 설정 제3장 JMX 애플리케이션개발 JMX 애플리케이션구조 MBean 서버연결 JEUS 유틸리티사용 JNDI 사용 JMX Remote API 사용 Security 설정 MBean Object Names Appendix A. JMX 모니터링예제 A.1. Servlet Thread Info 모니터링예제 A.2. Thread Pool Info 모니터링예제 A.3. JVM Info 모니터링예제 A.4. JDBC DataSource(DB Connection Pool) 모니터링예제 색인 JEUS iii
4
5 그림목차 [ 그림 1.1] MBean 정보조회화면... 1 [ 그림 1.2] MBean 정보조회결과... 2 [ 그림 2.1] 메인화면... 5 [ 그림 2.2] Server 목록화면... 6 [ 그림 2.3] Jmx Manager 설정화면... 6 [ 그림 2.4] Jmx Manager 기본정보설정... 7 [ 그림 2.5] HTML Adaptor 접속화면... 8 [ 그림 2.6] JMXMP Connector 설정... 9 [ 그림 2.7] RMI Connector 설정... 9 [ 그림 2.8] SNMP Adaptor 설정 JEUS v
6
7 안내서에대하여 안내서의대상 본안내서는 JEUS 에서 JMX 를관리하고, 유지하는시스템관리자나관계자를대상으로 JEUS JMX 모듈 을사용하기위한내용을설명한다. 안내서의전제조건 본안내서를원활하게이해하기위해서는다음과같은사항을미리알고있어야한다. JEUS의웹서비스에대한이해 ("JEUS Web Service 안내서 " 참고 ) JMX 개발에대한기본지식 ( JMX 관련문서참고 ) 안내서의제한조건 본안내서에서는 Java EE 나 JMX 기술에대한기본적인내용은다루지않는다. 따라서해당내용은 Java 관련문서를참고한다. 안내서에대하여 vii
8 안내서구성 본안내서는총 3개의장과 1개의 Appendix로구성되어있다. 제1장 MBean 정보조회 현재 JEUS에등록되어있는 MBean을조회하는방법을설명한다. 제2장 JMX Manager 환경설정 JEUS 환경설정방법에대해서설명한다. 제3장 JMX 애플리케이션개발 JEUS JMX 클라이언트애플리케이션을개발하는방법과그것을설치하는방법에대해서설명한다. Appendix A. JMX 모니터링예제 JEUS MBean 정보를모니터링하는예제를설명한다. viii JEUS JMX 안내서
9 안내서규약 표기 <<AaBbCc123>> <Ctrl>+C [Button] 진하게 " "( 따옴표 ) ' 입력항목 ' 하이퍼링크 > 참고주의 [ 그림 1.1] [ 표 1.1] AaBbCc123 의미프로그램소스코드의파일명 Ctrl과 C를동시에누름 GUI의버튼또는메뉴이름강조다른관련안내서또는안내서내의다른장및절언급화면 UI에서입력항목에대한설명메일계정, 웹사이트메뉴의진행순서하위디렉터리또는파일있음하위디렉터리또는파일없음참고또는주의사항주의할사항그림이름표이름 Java 코드, XML 문서 [ command argument ] < xyz > 옵션파라미터 < 와 > 사이의내용이실제값으로변경됨선택사항. 예 ) A B: A나 B 중하나파라미터등이반복되어서나옴 안내서에대하여 ix
10 시스템사용환경 본안내서의모든예제와환경구성은 UNIX의스타일에준하여작성되어 Microsoft Windows ( 이하 Windows) 와같이다른환경에서작업하는경우몇가지사항을고려해야한다. 예를들어경로구분자의경우 UNIX 스타일인 / 를 Windows 스타일인 \ 로바꿔서사용한다. 또한환경변수도 Windows 스타일로변경해서사용하면된다. 문서의내용은 Java 표준을고려해서작성했기때문에대부분의내용은동일하게적용된다. 관련안내서 안내서 JEUS Server 안내서 JEUS SNMP 안내서 JEUS WebAdmin 안내서 JEUS Web Service 안내서 JEUS Reference Book JEUS XML Reference 설명 JEUS 시스템과서버의개요와시스템관리를위한안내서이다. 산업표준인 SNMP 프로토콜을이용한 JEUS 모니터링에대해설명한안내서이다. JEUS의웹관리툴인 WebAdmin을사용한 JEUS 의설정및제어, 모니터링, 클러스터링, 리소스설정및관리에대해기술한안내서이다. JEUS 내의웹서비스에대해기술한안내서이다. JEUS를사용할때도움이되는 Reference를기술한안내서이다. JEUS관련 XML의설정방법에대해기술한안내서이다. 참고자료 Java EE 6 Specification Java EE management 1.1 Specification JMX 1.2 Specification JMX Remote API 1.0 Specification x JEUS JMX 안내서
11 연락처 Korea TmaxSoft Co., Ltd 272-6, Seohyeon-dong, Bundang-gu, Seongnam-si, Gyeonggi-do, South Korea Tel: Fax: Web (Korean): 기술지원 : USA TmaxSoft, Inc. 560 Sylvan Avenue Englewood Cliffs, NJ U.S.A Tel: Fax: info@tmaxsoft.com Web (English): Japan TmaxSoft Japan Co., Ltd. 5F Sanko Bldg, Mita, Minato-Ku, Tokyo, Japan Tel: Fax: info@tmaxsoft.co.jp Web (Japanese): 안내서에대하여 xi
12 China TmaxSoft China Co., Ltd. Beijing Silver Tower, RM 1508, 2# North Rd Dong San Huan, Chaoyang District, Beijing, China, China Tel: ~8 Fax: Web (Chinese): xii JEUS JMX 안내서
13 제 1 장 MBean 정보조회 본장에서는 WebAdmin 과콘솔툴 (jeusadmin) 로 JEUS 에서사용하고있는 MBean 의정보를조회하는방 법에대해서설명한다 WebAdmin 사용 WebAdmin를사용하여 MBean 정보를조회할수있다. 왼쪽메뉴에서 [Monitoring] > [MBean] 메뉴를선택하면 MBean 정보를조회하는화면이나타난다. [ 그림 1.1] MBean 정보조회화면 제 1 장 MBean 정보조회 1
14 MBean 정보조회화면에서조회할서버를선택하면조회결과화면이나타난다. [ 그림 1.2] MBean 정보조회결과 1.2. 콘솔툴사용 콘솔툴 (jeusadmin) 을사용해서 MBean 정보를조회할수있다. jeusadmin 툴을통해 JEUS 서버에접속한후 mbean-info 명령어를이용하면다음과같이등록된 MBean 정보를조회할수있다. JEUS7 Administration Tool [DAS]domain1.adminServer>mbean-info -server adminserver ObjectName of MBeans on the server [adminserver] ================================================================================ ObjectName of MBean JEUS:j2eeType=JeusService,jeusType=SecuritySubject,JMXManager=adminServer,J2E EDomain=domain1,SecurityDomain=SYSTEM_DOMAIN,name=Subject JEUS:j2eeType=JeusService,jeusType=EJBEngine,JMXManager=adminServer,J2EEServe r=adminserver,name=adminserver_ejb... JEUS:j2eeType=JMSResource,JMXManager=adminServer,J2EEServer=adminServer,name= adminserver_jms JEUS:j2eeType=JeusService,jeusType=ThreadPool_WEBC,JMXManager=adminServer,Web Engine=adminServer_servlet,J2EEServer=adminServer,WebListener=ADMIN-HTTP,name= 2 JEUS JMX 안내서
15 ADMIN-HTTP ================================================================================ [DAS]domain1.adminServer> 제 1 장 MBean 정보조회 3
16
17 제 2 장 JMX Manager 환경설정 본장에서는 JMX Manager 의환경을설정하는방법에대해서설명한다 개요 JMX Remote API 스펙 1.0을따르는클라이언트애플리케이션에게 JEUS JMX는 JEUS의구성과실시간정보를제공한다. WebAdmin 메인화면에서설정을변경할 Server 이름을선택하거나, 왼쪽메뉴에서 [Servers] 메뉴를선택한후조회되는 Server 목록화면에서서버를선택한다. [ 그림 2.1] 메인화면 제 2 장 JMX Manager 환경설정 5
18 [ 그림 2.2] Server 목록화면 설정을변경할서버를선택한후 [Resource] 탭에서 [Jmx Manager] 메뉴를선택하면, 다음과같이 Jmx Manager 설정화면이나타난다. [ 그림 2.3] Jmx Manager 설정화면 6 JEUS JMX 안내서
19 Jmx Manager 설정화면은다음의 3가지의관리화면로 JEUS 모니터링정보에액세스하는방법을제공한다. 기본정보설정 HTML Adaptor Port와 MLet URL 정보를설정한다. JMX Connector 다른프로세스에서해당서버의 JMX를액세스할때사용하는 JMX Connector를설정한다. 기본적으로는 JMXMP Connector를사용한다. SNMP Adaptor JMX의 Adaptor 중하나인 SNMP Adaptor를설정한다. JMX Connector 와 SNMP Adaptor 은해당항목의체크박스를선택해야설정항목이활성화된다. 각항목 에대한자세한설정방법은해당절의설명을참고한다 기본정보설정 본절에서는 Jmx Manager 기본정보를설정하는방법에대해서설명한다. 'Html Adaptor Port' 와 'MLet Url' 항목을설정하는경우서버를재시작해야한다. [ 그림 2.4] Jmx Manager 기본정보설정 HTML Adaptor Port HTML Adaptor는 HTML을지원하는 JMX의 Protocol Adapter이다. HTML Adaptor Port는 HTML Adapter의 Listener Port로웹브라우저로접속할 HTML Adapter의 Port를지정한다. Port를 -1로설정을하면 JMX Manager가 HTML Protocol을사용하지않음을의미한다. Port 를설정할때다른서비스가사용하는 Port를사용하지않도록주의해서설정한다. HTML Adaptor 설정이정상적으로이루어졌는지확인하려면, 웹브라우저를실행한후서버 IP와설정한 Port 값을사용해서버에접속해본다. 다음은 HTML 어댑터가정상적으로동작하고있는경우의접속화면이다. 제 2 장 JMX Manager 환경설정 7
20 [ 그림 2.5] HTML Adaptor 접속화면 참고 HTML Adaptor에대한추가적인사항은 의설명을참고한다. MLet URL 서버의 MBean 서버에등록할 MLet URL을설정한다. 설정한 MLet URL을적용하기위해서는서버를재시작해야한다. 참고 MLet 에대한자세한설명은 의설명을참고한다 JMX Connector 설정 JMX Connector는 JMX Remote API에서정의되어있는리모트에서 JMX MBeanServer에접근하기위한 Connector로제공되는 Connector는다음과같다. 소켓기반의 JMXMP Connector Remote API에정의되어있는 RMI Connector 기본적으로 JMXMP Connector를사용하며, WebAdmin을사용해서설정을변경할수있다. 8 JEUS JMX 안내서
21 JMXMP Connector JMX를액세스할때사용할리스너를지정한다. 지정하지않은경우기본통합포트리스너를 JMXMP Connector를위해사용한다. 다음 'Listener Ref ' 항목에사용할리스너이름을설정한다. [ 그림 2.6] JMXMP Connector 설정 참고 JMXMP Connector 설정을반영하기위해서는서버를재시작해야한다. 리스너설정에관한자세한 내용은 JEUS Server 안내서 의 Listener 설정 을참고한다 RMI Connector RMI Connector를설정하기위해서 'Rmi Connector' 를체크해야항목설정이활성화된다. JMXMP Connector와같이설정되어있는경우에는 JEUS 시스템내부적으로 JMXMP Connector를사용하게된다. 이경우에는 'Ref Export Name'(Reference Export Name) 이별도로설정되어있어야한다. Reference Export Name이 JEUS에서기본적으로사용하는이름과같거나설정이되어있지않다면 Excep tion이발생한다. 다음은 WebaAdmin에서 RMI Connector를설정하는화면이다. [ 그림 2.7] RMI Connector 설정 참고 RMI Connector 설정을반영하기위해서는서버를재시작해야한다. 제 2 장 JMX Manager 환경설정 9
22 RMI Connector 설정이정상적으로반영되어서버를시작할때다음과같은로그를확인할수있다. 'Export Name' 을 'RMIConnector' 로설정하고, 'Rmi Connector Port' 를 '9999' 로설정했을때출력하는로그메시지이다. IP 주소는실행하는머신에따라달라질수있다.... [ :03:57][2] [adminserver-1] [JMX-0132] The RMIConnector service url is service:jmx:rmi:// :9999/jndi/rmiconnector SNMP Adaptor 설정 SNMP Adaptor는 JMX가제공하는 SNMP Protocol Adapter이다. 'Snmp Adaptor' 를체크해야항목설정이활성화된다. 다음은 WebAdmin에서 SNMP Adaptor를설정하는화면이다. [ 그림 2.8] SNMP Adaptor 설정 참고 SNMP 와 SNMP Adaptor 설정에대한자세한설명은 JEUS SNMP 안내서 의 제 2 장 SNMP Agent 설정 을참고한다. 10 JEUS JMX 안내서
23 제 3 장 JMX 애플리케이션개발 JEUS 모니터링서비스를사용하기위한 JEUS JMX 클라이언트애플리케이션의개발및설치방법에대 해서설명한다 JMX 애플리케이션구조 애플리케이션의구조는필요에따라다양한형태가있다. JEUS JMX 클라이언트애플리케이션은일반적인구조로구성되어있고, 구성된구조를따라수행한다. 다음은 JMX 클라이언트애플리케이션의수행구조및과정이다. 1. 환경설정 ( 옵션사항 ) JMX 클라이언트애플리케이션을위해환경을설정한다. 환경설정을 MBeanServer에연결하기전에할수있다. 처리하려는 MBean을질의하고, 그결과를받아서처리할수있다. 기본적인환경설정에대한자세한내용은 제2장 JMX Manager 환경설정 의내용을참고한다. 2. MBean 서버연결 MBean 서버로접속하기위한방법은다음과같다. jeus.management.remotembeanserverfactory는 JEUS 유틸리티를사용한다. JNDI에등록되어있는 reference를사용한다. JMX Remote javax.management.remote.jmxserviceurl을사용하여 javax.management.remote.jmx Connector를얻을수있다. 각방법에대한자세한내용은각절의설명을참고한다. 3. 질의 4. 질의결과처리그외에 JEUS 모니터링서비스를위한보안설정방법과 JEUS JMX에서 ObjectName을생성하는규칙에대해서설명한다. 또한 JEUS 모니터링은 SNMP를사용할수도있다. 사용방법에대한자세한내용은 "JEUS SNMP 안내서 " 를참고한다. 참고본장에서설명하는내용을이해하기위해서 JMX Remote API 1.0과 Java EE Management 스펙에대한기본지식이필요하다. JMX Remote API에대한자세한정보는 Oracle에서제공하는 J2EE JMX Remote API 1.0 스펙과 JMX Remote API를참고한다. 제 3 장 JMX 애플리케이션개발 11
24 3.2. MBean 서버연결 본절에서는 MBean 서버로접속하기위한방법에대해서설명한다 JEUS 유틸리티사용 본절에서는 JEUS 유틸리티클래스인 jeus.management.remotembeanserverfactory를사용해서 JEUS 를모니터링하는 JMX 애플리케이션에대해서설명한다. "MBean 서버연결 " 부분이다른방법과차이가있다. 다음은 JEUS 유틸리티를사용하는클라이언트예제이다. package jmxclient; import java.util.set; import java.util.iterator; import java.util.hashtable; import javax.management.objectname; import javax.management.mbeanserverconnection; import javax.naming.context; /** * JMX Client which uses JEUS utility (RemoteMBeanServerFactory) class. */ public class JMXClientUsingJeusUtility { public static void main(string args[]) throws Exception { if(args.length < 3) { System.out.println("Required arguments: hostname username password"); return; // Step 1. Setting Environments String hostname = args[0]; String username = args[1]; String password = args[2]; Hashtable env = new Hashtable(); env.put(context.initial_context_factory, "jeus.jndi.jnscontextfactory"); env.put(context.provider_url, hostname); env.put(context.security_principal, username); env.put(context.security_credentials, password); // Step 2. Getting MBeanServer MBeanServerConnection mbeanserver = jeus.management.remotembeanserverfactory.getmbeanserver(env); 12 JEUS JMX 안내서
25 // Step 3. Query ObjectName jeusscope = new ObjectName("JEUS:*"); Set objectnames = mbeanserver.querynames(jeusscope, null); // Step 4. Handling the Query Result for(iterator i = objectnames.iterator(); i.hasnext();) { System.out.println("[MBean] " + i.next()); "MBean 서버연결 " 에서 JEUS 가제공하는 JEUS 유틸리티클래스인 jeus.management.remotem BeanServerFactory 를사용했다. 이클래스를사용하면간단하게 MBeanServerConnection 을얻을수있 다. 위예제를작성한후컴파일하여실행하면 JEUS 서버에접속한후 "JEUS:*" 에해당하는 MBean들의목록을출력한다. 예제프로그램은인자를 3개받는데, 첫번째는서버의 hostname, 두번째는 JEUS 사용자이름, 마지막은비밀번호이다. user1@host1:~$ java -classpath.:$jeus_home/lib/client/jclient.jar jmxclient.jmxclientusingjeusutility administrator jeus [ :42:45][2] [t-1] [Network-0405] [Endpoint] exporting Endpoint (0: :9756:-1:0x2CAD872D). [ :42:45][2] [t-1] [Network-0002] [Acceptor] start to listen NonBlockingChannelAcceptor: / :9756. [MBean] JEUS:j2eeType=JeusService,jeusType=ThreadPool,JMXManager=adminServer, J2EEServer=adminServer,name=threadpool.System [MBean] JEUS:j2eeType=JeusService,jeusType=JEUSMPConnector, JMXManager=adminServer,J2EEServer=adminServer,name=adminServer [MBean] JEUS:j2eeType=JeusService,jeusType=JMSDestinationResource, JMXManager=adminServer,J2EEServer=adminServer,JMSResource=adminServer_jms, name=examplesqueue [MBean] JEUS:j2eeType=WebModule,JMXManager=adminServer, J2EEServer=adminServer,J2EEApplication=null,WebEngine=adminServer_servlet,name=webadmin [MBean] JEUS:j2eeType=JeusService,jeusType=SessionContainer,JMXManager=adminServer, WebEngine=adminServer_servlet,J2EEServer=adminServer,name=_webadmin [MBean] JEUS:j2eeType=JeusService,jeusType=ThreadPool,JMXManager=adminServer, J2EEServer=adminServer,name=AsyncServletBackgroundProcessor-webadmin [MBean] JEUS:j2eeType=JeusService,jeusType=JeusLogService,JMXManager=adminServer, J2EEServer=adminServer,name=adminServer [MBean] JEUS:j2eeType=JeusService,jeusType=ThreadPool_WEBC,JMXManager=adminServer, WebEngine=adminServer_servlet,J2EEServer=adminServer,WebListener=http1,name=http1 [MBean] JEUS:j2eeType=JeusService,jeusType=SecurityDomain,JMXManager=adminServer, J2EEDomain=domain1,SecurityService=SecurityService,name=SYSTEM_DOMAIN [MBean] 제 3 장 JMX 애플리케이션개발 13
26 JEUS:j2eeType=JeusService,jeusType=JMSConnectionFactoryResource,JMXManager=adminServer, J2EEServer=adminServer,JMSResource=adminServer_jms,name=TopicConnectionFactory [MBean] JEUS:j2eeType=JeusService,jeusType=SnmpAgentService,JMXManager=adminServer, J2EEServer=adminServer,name=adminServer... 참고 예제프로그램은 jclient.jar 가있어야실행할수있다. 기본적으로 jclient.jar 는 JEUS_HOME/lib/client 아래에위치한다 JNDI 사용 본절에서는 JNDI를사용해서 JEUS를모니터링하는 JMX 애플리케이션에대해서설명한다. "MBean 서버연결 " 부분이다른방법과차이가있다. 다음은 JNDI를사용하는클라이언트예제이다. package jmxclient; import java.util.set; import java.util.iterator; import java.util.hashtable; import javax.management.mbeanserverconnection; import javax.management.objectname; import javax.management.remote.jmxconnector; import javax.naming.context; import javax.naming.initialcontext; /** * JMX Client which uses JNDI lookup. */ public class JMXClientUsingJndi { public static void main(string args[]) throws Exception { if(args.length < 4) { System.out.println("Required arguments: " + "hostname username password target-name"); return; // Step 1. Setting Environments String hostname = args[0]; String username = args[1]; String password = args[2]; 14 JEUS JMX 안내서
27 // targetname could be server name, // for example, "adminserver", "server1" String targetname = args[3]; Hashtable env = new Hashtable(); env.put(context.initial_context_factory, "jeus.jndi.jeuscontextfactory"); env.put(context.provider_url, hostname); env.put(context.security_principal, username); env.put(context.security_credentials, password); // Step 2. Getting MBeanServerConnection InitialContext ctx = new InitialContext(env); JMXConnector connector = (JMXConnector)ctx.lookup("mgmt/rmbs/" + targetname); MBeanServerConnection mbeanserver = connector.getmbeanserverconnection(); // Step 3. Query ObjectName jeusscope = new ObjectName("JEUS:*"); Set objectnames = mbeanserver.querynames(jeusscope, null); // Step 4. Handling the Query Result for(iterator i = objectnames.iterator(); i.hasnext();) { System.out.println("[MBean] " + i.next()); JNDI에서 Lookup할때에는등록되어있는 Connector(RMI Connector/JMXMP Connector) 의종류에관계없이같은방식으로사용이가능하다. Lookup할때사용하는 Export Name은여기서는 JEUS에서사용하는기본 naming 방식을사용했다. 이방식은 JNDI context mgmt/rmbs/<server-name> 형태의이름을사용한다. 위예제를작성한후컴파일하여실행하면 JEUS 서버에접속한후 "JEUS:*" 에해당하는 MBean들의목록을출력한다. 예제프로그램은인자를 4개받는데, 첫번째는서버의 hostname, 두번째는 JEUS 사용자이름, 세번째는비밀번호, 마지막은서버이름이다. user1@host1:~$ java -classpath.:$jeus_home/lib/client/jclient.jar jmxclient.jmxclientusingjndi jeus jeus adminserver [ :42:45][2] [t-1] [Network-0405] [Endpoint] exporting Endpoint (0: :9756:-1:0x2CAD872D). [ :42:45][2] [t-1] [Network-0002] [Acceptor] start to listen NonBlockingChannelAcceptor: / :9756. [MBean] JEUS:j2eeType=JeusService,jeusType=ThreadPool, JMXManager=adminServer,J2EEServer=adminServer,name=threadpool.System [MBean] JEUS:j2eeType=JeusService,jeusType=JEUSMPConnector, JMXManager=adminServer,J2EEServer=adminServer,name=adminServer 제 3 장 JMX 애플리케이션개발 15
28 [MBean] JEUS:j2eeType=JeusService,jeusType=JMSDestinationResource, JMXManager=adminServer,J2EEServer=adminServer,JMSResource=adminServer_jms,name=ExamplesQueue [MBean] JEUS:j2eeType=WebModule,JMXManager=adminServer,J2EEServer=adminServer, J2EEApplication=null,WebEngine=adminServer_servlet,name=webadmin [MBean] JEUS:j2eeType=JeusService,jeusType=SessionContainer,JMXManager=adminServer, WebEngine=adminServer_servlet,J2EEServer=adminServer,name=_webadmin [MBean] JEUS:j2eeType=JeusService,jeusType=ThreadPool,JMXManager=adminServer, J2EEServer=adminServer,name=AsyncServletBackgroundProcessor-webadmin [MBean] JEUS:j2eeType=JeusService,jeusType=JeusLogService,JMXManager=adminServer, J2EEServer=adminServer,name=adminServer [MBean] JEUS:j2eeType=JeusService,jeusType=ThreadPool_WEBC,JMXManager=adminServer, WebEngine=adminServer_servlet,J2EEServer=adminServer,WebListener=http1,name=http1 [MBean] JEUS:j2eeType=JeusService,jeusType=SecurityDomain,JMXManager=adminServer, J2EEDomain=domain1,SecurityService=SecurityService,name=SYSTEM_DOMAIN [MBean] JEUS:j2eeType=JeusService,jeusType=JMSConnectionFactoryResource, JMXManager=adminServer,J2EEServer=adminServer,JMSResource=adminServer_jms,name=TopicConnectionFactory [MBean] JEUS:j2eeType=JeusService,jeusType=SnmpAgentService, JMXManager=adminServer,J2EEServer=adminServer,name=adminServer... 그외에 RMI Connector 의경우에는 JMXMP Connector 가별도로띄워져있는경우에기본방식이외의 이름을 reference export name 으로지정할수있다. 참고 1. 예제프로그램은 jclient.jar가있어야실행할수있다. 기본적으로 jclient.jar는 JEUS_HOME/lib/client 아래에위치한다. 2. RMI Connector 설정의자세한내용은 RMI Connector 를참고한다. 3. JNDI의자세한정보에대해서는 JEUS Server 안내서 의 제4장 JNDI Naming Server 를참고한다. 만약에 JMX 애플리케이션이서블릿또는 EJB에서실행된다면 JNDI 파라미터에대한설정은필요하지않다 JMX Remote API 사용 본절에서는 JMX Remote API를사용해서 JEUS를모니터링하는 JMX 애플리케이션에대해서설명한다. "MBean 서버연결 " 부분이다른방법과차이가있다. 다음은 JMX Remote API를사용하는클라이언트예제이다. package jmxclient; import java.util.set; import java.util.iterator; import java.util.hashtable; 16 JEUS JMX 안내서
29 import javax.management.mbeanserverconnection; import javax.management.objectname; import javax.management.remote.jmxserviceurl; import javax.management.remote.jmxconnector; import javax.management.remote.jmxconnectorfactory; import javax.naming.context; /** * JMX Client which uses JMX Service URL. * RMI Connector should be turned on in JEUS * and the JNDI name of it is required here. */ public class JMXClientUsingJmxUrl { public static void main(string args[]) throws Exception { if(args.length < 4) { System.out.println("Required arguments: " + "hostname username password connector-exportname"); return; // Step 1. Setting Environments String hostname = args[0]; String username = args[1]; String password = args[2]; // the JMX RMIConnector export name String exportname = args[3]; Hashtable env = new Hashtable(); env.put(context.initial_context_factory, "jeus.jndi.jnscontextfactory"); env.put(context.provider_url, hostname); env.put(context.security_principal, username); env.put(context.security_credentials, password); // Step 2. Getting MBeanServer JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/" + exportname); try { JMXConnector connector = null; connector = JMXConnectorFactory.newJMXConnector(url,env); // connect to JMXConnectorServer connector.connect(); MBeanServerConnection mbeanserver = connector.getmbeanserverconnection(); // Step 3. Query 제 3 장 JMX 애플리케이션개발 17
30 ObjectName jeusscope = new ObjectName("JEUS:*"); Set objectnames = mbeanserver.querynames(jeusscope, null); // Step 4. Handling the Query Result for(iterator i = objectnames.iterator(); i.hasnext();) { System.out.println("[MBean] " + i.next()); finally { // Always close the JMXConnector connector.close(); 참고 JMX Remote API 를사용하기위해서는 JMX Manager 에있는 'RMI Connector' 항목을설정해야한 다. RMI Connector 설정에대한자세한내용은 RMI Connector 를참고한다. 위예제를작성한후컴파일하여실행하면 JEUS 서버에접속한후 "JEUS:*" 에해당하는 MBean들의목록을출력한다. 예제프로그램은인자를 4개받는데, 첫번째는서버의 hostname, 두번째는 JEUS 사용자이름, 세번째는비밀번호, 마지막은 RMI Connector ExportName이다. 다음실행결과에서는 'ExportName' 을 'RMIConnector' 로설정한경우이다. user1@host1:~$ java -classpath.:$jeus_home/lib/client/jclient.jar jmxclient.jmxclientusingjmxurl jeus jeus RMIConnector [ :42:45][2] [t-1] [Network-0405] [Endpoint] exporting Endpoint (0: :9756:-1:0x2CAD872D). [ :42:45][2] [t-1] [Network-0002] [Acceptor] start to listen NonBlockingChannelAcceptor: / :9756. [MBean] JEUS:j2eeType=JeusService,jeusType=ThreadPool,JMXManager=adminServer, J2EEServer=adminServer,name=threadpool.System [MBean] JEUS:j2eeType=JeusService,jeusType=JEUSMPConnector,JMXManager=adminServer, J2EEServer=adminServer,name=adminServer [MBean] JEUS:j2eeType=JeusService,jeusType=JMSDestinationResource, JMXManager=adminServer,J2EEServer=adminServer,JMSResource=adminServer_jms,name=ExamplesQueue [MBean] JEUS:j2eeType=WebModule,JMXManager=adminServer,J2EEServer=adminServer, J2EEApplication=null,WebEngine=adminServer_servlet,name=webadmin [MBean] JEUS:j2eeType=JeusService,jeusType=SessionContainer,JMXManager=adminServer, WebEngine=adminServer_servlet,J2EEServer=adminServer,name=_webadmin [MBean] JEUS:j2eeType=JeusService,jeusType=ThreadPool,JMXManager=adminServer, J2EEServer=adminServer,name=AsyncServletBackgroundProcessor-webadmin [MBean] JEUS:j2eeType=JeusService,jeusType=JeusLogService,JMXManager=adminServer, J2EEServer=adminServer,name=adminServer [MBean] JEUS:j2eeType=JeusService,jeusType=ThreadPool_WEBC,JMXManager=adminServer, 18 JEUS JMX 안내서
31 WebEngine=adminServer_servlet,J2EEServer=adminServer,WebListener=http1,name=http1 [MBean] JEUS:j2eeType=JeusService,jeusType=SecurityDomain,JMXManager=adminServer, J2EEDomain=domain1,SecurityService=SecurityService,name=SYSTEM_DOMAIN [MBean] JEUS:j2eeType=JeusService,jeusType=JMSConnectionFactoryResource, JMXManager=adminServer,J2EEServer=adminServer,JMSResource=adminServer_jms,name=TopicConnectionFactory [MBean] JEUS:j2eeType=JeusService,jeusType=SnmpAgentService,JMXManager=adminServer, J2EEServer=adminServer,name=adminServer... 참고 예제프로그램은 jclient.jar 가있어야실행할수있다. 기본적으로 jclient.jar 는 JEUS_HOME/lib/client 아래에위치한다 Security 설정 JMX를사용하여 JEUS 서버에등록되어있는여러 MBean들이제공하는속성을읽거나작업할경우 JEUS 는해당연결을맺은사용자가속성을읽을권한이있는지작업을수행할권한이있는지를검사한다. 각각 MBean을사용할때필요한권한에대한정보는 JEUS API 문서를참고한다. API 문서는다음위치에서찾을수있다. JEUS_HOME/docs/api 참고 API 문서는 MBean 을사용할때필요한권한 (Permission Name) 뿐만아니라 ObjectNamePattern, 속 성 (Attribute), 작업 (Operation) 등에대한정보도제공하고있다. JMX 애플리케이션에서사용자이름이나비밀번호와같은정보는서버에접속해서 MBeanServerConnection 을생성할때제공한다. 일반적으로 MBeanServerConnection을생성할때는다음과같은코드를사용하는데, 코드를살펴보면 Hashtable로전달하는환경설정정보에사용자이름과비밀번호가들어가는것을확인할수있다.... JMXServiceURL serviceurl = new JMXServiceURL("service:jmx:jmxmp:// :9999/adminServer"); Map<String, Object> env = new HashMap<String, Object>(); env.put(context.security_principal, id); env.put(context.security_credentials, password); env.put(context.initial_context_factory, "jeus.jndi.jeuscontextfactory"); env.put("jmx.remote.x.request.timeout", "10"); 제 3 장 JMX 애플리케이션개발 19
32 JMXConnector connector = JMXConnectorFactory.connect(serviceURL, env); MBeanServerConnection connection = connector.getmbeanserverconnection();... 이때사용하는사용자이름과비밀번호, 권한설정은 JEUS Security를이용해서설정한다. JEUS Security 설정방법에대한자세한내용은 JEUS Security 안내서 의 2.5. 보안시스템사용자정보설정 과 JEUS Security 안내서 의 2.6. 보안시스템정책설정 을참고한다 MBean Object Names ObjectName은 MBean 객체의기본 JMX 객체이름이다. ObjectName의형식은 JMX 표준형식이지만 JMX 구현이각각다르기때문에특정벤더에따라값이달라질수있다. JMX MBean들의계층구조는벤더마다다르고, MBean들도벤더에따라여러가지가있다. JEUS ObjectName의문법은다음과같다. <domain_name>: j2eetype=<j2eetype_value>, name=<name_value>, [<parent-j2eetype_value>], [jeustype = <jeustype_value>], [istargetable = <istargetable_value>], JMXManager = <JMXManager_value> [,*] 또는 <domain_name>: * ObjectName은 <domain_name> 으로시작해야하고, 각이름과값의짝이순차적으로규정되지않는다. 예를들면, 다음은둘다 JEUS 도메인 MBean의 objectname을얻어온다. JEUS:j2eeType=J2EEDomain,JMXManager=adminServer, * JEUS:JMXManager=adminServer, j2eetype=j2eedomain, * 다음은각항목에대한설명이다. <domain_name> ObjectName의도메인이름으로값은 'JEUS' 이다. j2eetype MBean은 J2EE 타입이며, J2EE Management 스펙에의해기술된다. 다음값들중하나를설정한다. AppClientModule J2EEApplication JAXRResource JCAResource EJBModule J2EEDomain JCAConnectionFactory JDBCDataSource EntityBean J2EEServer JCAManagedConnectionFactory JDBCDriver 20 JEUS JMX 안내서
33 JDBCResource JTAResource JeusService ResourceAdapterModule StatelessSessionBean JMSResource JVM MessageDrivenBean Servlet URLResource JNDIResource JavaMailResource ResourceAdaptor StatefulSessionBean WebModule name MBean의이름으로각각의 MBean Object에는유일한값이있다. 예를들면 "adminserver" 라는서버가실행하는 JVM의이름은 'adminserver' 이다. parent-j2eetype MBean의상위 J2EE 타입으로각 MBean들에계층이규정되어있다. 예를들면 "JDBCDriver" 의상위 J2EE 타입은 'JDBCDataSource' 이다. jeustype JEUS JMX에서정의된 MBean들의타입이다. "JeusService" J2EE 타입만몇가지 jeustype을가질수있다. 다음값들중하나를설정한다. EJBEngine JMSDestinationResource JMSPersistenceStoreManager SecurityPolicy SessionContainer ThreadPool WebListener JMSClientResource JMSDurableSubscriberResource JMSServiceChannel SecurityService SessionContainerCentral ThreadPool_WEBC WebServices JMSConnectionFactoryResource JMSEngine SecurityDomain SecuritySubject SessionContainerP2P WebEngine istargetable 설정값은 blooean 타입으로사용자 AP(EJB, 서블릿, JSP) 가디플로이되어 istargetable 동작하는 MBean에서는반드시 true로설정되어야한다. JMXManager MBean 서비스를제공하는 JMXManager의이름이다. 일반적으로 JMXManager 항목의값은해당 JMXManager가속한서버이름과동일하다. 제 3 장 JMX 애플리케이션개발 21
34
35 Appendix A. JMX 모니터링예제 JEUS MBean 정보를모니터링하는 4가지중요한예제를설명한다. Servlet Thread Info 모니터링예제 ThreadPool Info 모니터링예제 JVM Info 모니터링예제 JDBC DataSource (DB Connection Pool) 모니터링예제 설명하는모든예제에서 MBean 서버정보를조회할때 RemoteMBeanServerFactory 를이용한다. MBean 서버를얻어오는다른방법에대한자세한내용은 제 3 장 JMX 애플리케이션개발 을참고한다. A.1. Servlet Thread Info 모니터링예제 Servlet Thread Info 모니터링예제는웹컨테이너의리스너의정보, 특히 Thread Pool과각 Thread에대한정보를모니터링한다. 이예제를통해모니터링하는정보는다음과같다. 현재할당된 Worker Thread의수 (current thread count) Thread Pool을유지하는최대 Thread의개수 (max thread count) Wait-Queue에적체된클라이언트의수 (wait queue count) 다음은 Servlet Thread Info 모니터링예제이다. package monitoring; import java.util.*; import javax.management.mbeanserverconnection; import javax.management.objectname; import javax.management.objectinstance; import javax.management.malformedobjectnameexception; import javax.management.mbeanserverinvocationhandler; import jeus.management.j2ee.servlet.*; public class ServletThreadInfo { public void showinfo(mbeanserverconnection mbeanserver, String targetname) throws Exception { Appendix A. JMX 모니터링예제 23
36 System.out.println("=== Servlet Thread Info ==="); // Get the object name of the servlet engine using JMX Standard API // Otherwise, the object name could be queried through MBeanServer. // Please see JEUS MBean API javadoc for more concrete name, key properties. ObjectName name = new ObjectName("JEUS:jeusType=WebEngine,J2EEServer=" + targetname + ",*"); Set names = mbeanserver.querymbeans(name, null); if (names == null names.size() == 0) { System.out.println("there is no servlet engine"); return; // Choose one servlet engine from the returned object names Iterator it = names.iterator(); ObjectName fullname = null; while (it.hasnext()) { fullname = ((ObjectInstance)it.next()).getObjectName(); break; assert fullname!= null; WebEngineMoMBean enginembean = (WebEngineMoMBean)MBeanServerInvocationHandler.newProxyInstance(mBeanServer, fullname, WebEngineMoMBean.class, false); // Get listeners from WebEngine String[] listeners = enginembean.getweblisteners(); if(listeners == null listeners.length == 0){ return; String webenginename = enginembean.getobjectname().getkeyproperty("name"); for(int i = 0; i < listeners.length; i++) { ObjectName listener = new ObjectName(listeners[i]); WebListenerMoMBean listenermbean= (WebListenerMoMBean) MBeanServerInvocationHandler.newProxyInstance (mbeanserver, listener, WebListenerMoMBean.class, false); String[] tpoolnames = listenermbean.getthreadpools(); // Get stats from thread pools if (tpoolnames!= null) { showthreadpoolstats(mbeanserver, webenginename, tpoolnames); 24 JEUS JMX 안내서
37 System.out.println(); private void showthreadpoolstats(mbeanserverconnection mbeanserver, String contextgroupname, String[] tpoolnames) throws MalformedObjectNameException { for (int k = 0; k < tpoolnames.length; k++) { ObjectName tpool = new ObjectName(tpoolNames[k]); System.out.println("[MBean] " + tpool); ThreadPoolMoMBean tpoolmbean = (ThreadPoolMoMBean)MBeanServerInvocationHandler.newProxyInstance( mbeanserver,tpool, ThreadPoolMoMBean.class, false); ThreadPoolStatsImpl stats = (ThreadPoolStatsImpl) tpoolmbean.getstats(); System.out.println("Listener: " + contextgroupname + "/" + tpool.getkeyproperty("name")); System.out.println("- current thread count : " + stats.getallthreadcount().getcount()); System.out.println("- max thread count : " + stats.getmaxthreadcount().getcount()); if (stats.getstatisticversion() == ThreadPoolStatsImpl.NIO_VERSION) { // pipeline System.out.println("- total connection count : " + stats.gettotalconnectioncount().getcount()); System.out.println("- max queue count : " + stats.getmaxqueuecount().getcount()); System.out.println("- current queue count : " + stats.getcurrentqueuecount().getcount()); System.out.println("- remain queue count : " + stats.getremainqueuecount().getcount()); System.out.println("- peak queue count : " + stats.getpeakqueuecount().getcount()); System.out.println("- total queue count : " + stats.gettotalqueuecount().getcount()); System.out.println("- difference queue 1m count : " + stats.getdifferencequeue1mcount().getcount()); System.out.println("- difference queue 5m count : " + stats.getdifferencequeue5mcount().getcount()); System.out.println("- difference queue 15m count : " + stats.getdifferencequeue15mcount().getcount()); System.out.println("- overflow queue count : " + stats.getoverflowcount().getcount()); System.out.println("- average queue time : " + stats.getqueuewaittimeaverage().getcount() + "(ms)"); Appendix A. JMX 모니터링예제 25
38 else { System.out.println("- wait queue count : " + stats.getwaitqueuecount().getcount()); System.out.println(); A.2. Thread Pool Info 모니터링예제 Thread Pool Info 모니터링예제는 JEUS 에서사용하는여러 Thread Pool의상태를모니터링한다. 이예제를통해모니터링하는정보는다음과같다. Thread Pool 크기 (size) 에대한정보 Thread Pool 통계 (stats) 정보 Thread 들의수행시간에대한통계 (execution time stats) 정보 Waiting-Queue 크기에대한통계 (size stats) 정보 다음은 Thread Info 모니터링예제이다. package monitoring; import java.util.hashtable; import java.util.iterator; import java.util.set; import javax.management.mbeanserverconnection; import javax.management.mbeanserverinvocationhandler; import javax.management.objectinstance; import javax.management.objectname; import javax.management.j2ee.statistics.timestatistic; import javax.management.j2ee.statistics.rangestatistic; import javax.naming.*; import jeus.jndi.jnsconstants; import jeus.management.jmxconstants; import jeus.management.remotembeanserverfactory; import jeus.management.j2ee.thread.threadpoolmbean; import jeus.management.j2ee.thread.stats.threadpoolstats; public class ThreadPoolInfo { 26 JEUS JMX 안내서
39 public void showinfo(mbeanserverconnection mbeanserver, String name) throws Exception { System.out.println("=== ThreadPool Info ==="); // Get the object names of the thread pools. // Please see JEUS MBean API javadoc for more concrete name, key // properties. ObjectName objectnames = new ObjectName("JEUS:jeusType=ThreadPool,*"); Set tpmbeans = mbeanserver.querymbeans(objectnames, null); for (Iterator i = tpmbeans.iterator(); i.hasnext();) { ObjectName mbeanname = ((ObjectInstance) i.next()).getobjectname(); // thread pool name System.out.println("[Thread-pool : " + mbeanname.getkeyproperty("name") + "]"); System.out.println("[MBean] " + mbeanname); ThreadPoolMBean pool = (ThreadPoolMBean)MBeanServerInvocationHandler.newProxyInstance( mbeanserver, mbeanname, ThreadPoolMBean.class, false); // ThreadPool Size System.out.println("-size : " + pool.getpoolsize()); System.out.println("-core size : " + pool.getcorepoolsize()); System.out.println("-largest Size : " + pool.getlargestpoolsize()); System.out.println("-max size : " + pool.getmaximumpoolsize()); System.out.println("-queue size : " + pool.getworkqueuesize()); // ThreadPool Stats ThreadPoolStats stats = (ThreadPoolStats) pool.getstats(); TimeStatistic executiontimestats = stats.getthreadexecutiontime(); TimeStatistic waitingtimestats = stats.getqueuewaitingtime(); System.out.println("# Thread Execution Time Stats"); System.out.println("--unit : " + executiontimestats.getunit()); System.out.println("--count : " + executiontimestats.getcount()); System.out.println("--min time : " + executiontimestats.getmintime()); System.out.println("--max time : " + executiontimestats.getmaxtime()); System.out.println("# Queue Waiting Time Stats"); System.out.println("--unit : " + waitingtimestats.getunit()); System.out.println("--count : " + waitingtimestats.getcount()); System.out.println("--min time : " + waitingtimestats.getmintime()); System.out.println("--max time : " + waitingtimestats.getmaxtime()); Appendix A. JMX 모니터링예제 27
40 A.3. JVM Info 모니터링예제 JVM Info 모니터링예제는 JEUS의노드또는컨테이너의 JVM에대해모니터링을한다. 이예제를통해모니터링하고자하는정보는다음과같다. JVM의 Total size 정보 JVM의 Heap size 정보 JVM의 Uptime 정보 다음은 JVM Info 모니터링예제이다. package monitoring; import java.util.iterator; import java.util.set; import javax.management.mbeanserverconnection; import javax.management.mbeanserverinvocationhandler; import javax.management.objectinstance; import javax.management.objectname; import javax.management.j2ee.statistics.boundedrangestatistic; import javax.management.j2ee.statistics.countstatistic; import javax.management.j2ee.statistics.rangestatistic; import jeus.management.j2ee.jvmmbean; import jeus.management.j2ee.statistics.jvmstatsimpl; public class JVMInfo { public void showinfo(mbeanserverconnection mbeanserver, String targetname) throws Exception { System.out.println("=== JVM Statistics ==="); ObjectName objectname = new ObjectName("JEUS:j2eeType=JVM,name=" + targetname + ",*"); Set jvmmbeans = mbeanserver.querymbeans(objectname, null); for (Iterator i = jvmmbeans.iterator(); i.hasnext();) { ObjectName objname = ((ObjectInstance) i.next()).getobjectname(); System.out.println("[MBean] " + objname); 28 JEUS JMX 안내서
41 // JVMMBean Stats JVMMBean jvm = (JVMMBean)MBeanServerInvocationHandler.newProxyInstance( mbeanserver, objname, JVMMBean.class, false); JVMStatsImpl jvmstatsimpl = (JVMStatsImpl) jvm.getstats(); RangeStatistic totalsize = jvmstatsimpl.gettotalsize(); BoundedRangeStatistic heapsize = jvmstatsimpl.getheapsize(); CountStatistic uptime = jvmstatsimpl.getuptime(); // JVM Total Size System.out.println("[Total Size]"); System.out.println("-unit : " + totalsize.getunit()); System.out.println("-current : " + totalsize.getcurrent()); System.out.println("-min size : " + totalsize.getlowwatermark()); System.out.println("-max size : " + totalsize.gethighwatermark()); // JVM Heap Size System.out.println("[Heap Size]"); System.out.println("-unit : " + heapsize.getunit()); System.out.println("-current : " + heapsize.getcurrent()); System.out.println("-min Size : " + heapsize.getlowwatermark()); System.out.println("-max Size : " + heapsize.gethighwatermark()); System.out.println("-lower bound : " + heapsize.getlowerbound()); System.out.println("-upper bound : " + heapsize.getupperbound()); // JVM UpTime System.out.println("[Up Time]"); System.out.println("-unit : " + uptime.getunit()); System.out.println("-count : " + uptime.getcount()); System.out.println("-start time : " + uptime.getstarttime()); A.4. JDBC DataSource(DB Connection Pool) 모니터링예제 JDBC DataSource(DB Connection Pool) 모니터링예제는서버에존재하는 DB Connection Pool을모니터링한다. 여기에는 javax.management.remote.jmxconnector을이용하여 MBean Connection을얻는예제도함께포함되어있다. 이예제의내용은다음과같다. 특정서버의 MBean 서버로연결한다. jeus.management.j2ee.jdbcresourcembean을조회해서현재생성된 Connection Pool들의정보를주기적으로파일에남긴다. Appendix A. JMX 모니터링예제 29
42 참고 Connection Pool 은기동할때생성되지않고실제서비스호출시점에생성된다. 다음은 DB Connection Pool 모니터링예제이다. package monitoring; import java.io.file; import java.io.fileoutputstream; import java.io.ioexception; import java.text.simpledateformat; import java.util.date; import java.util.hashtable; import java.util.iterator; import java.util.set; import javax.management.mbeanserverconnection; import javax.management.mbeanserverinvocationhandler; import javax.management.objectinstance; import javax.management.objectname; import javax.management.j2ee.statistics.jdbcconnectionpoolstats; import javax.management.j2ee.statistics.jdbcstats; import javax.management.remote.jmxconnector; import javax.naming.context; import javax.naming.initialcontext; import jeus.management.jmxconstants; import jeus.management.j2ee.jdbcresourcembean; public class DBStatsClient { public static void main(string[] args) { String servername = "changeplz"; //e.g. server1 Hashtable<String, Object> env = new Hashtable<String,Object>(); env.put(context.initial_context_factory, "jeus.jndi.jnscontextfactory"); env.put(context.url_pkg_prefixes, "jeus.jndi.jns.url"); env.put(context.provider_url, "localhost:9736"); MBeanServerConnection mbsc; try { InitialContext ctx = new InitialContext(env); JMXConnector connector = (JMXConnector)ctx.lookup( JMXConstants.JNDI_BINDING_PREFIX + servername); connector.connect(); mbsc = connector.getmbeanserverconnection(); catch (Exception e) { e.printstacktrace(); 30 JEUS JMX 안내서
43 return; System.out.println("mbean server connection successfully established"); Set mbeans; try { ObjectName dbstats = new ObjectName("JEUS:j2eeType=JDBCResource,*"); mbeans = mbsc.querymbeans(dbstats, null); catch (Exception e) { e.printstacktrace(); return; System.out.println("Successfully get JDBCResource"); File file = new File(serverName+".log"); FileOutputStream stream = null; try { stream = new FileOutputStream(file); catch (IOException e) { e.printstacktrace(); return; while(true) { for (Iterator iter = mbeans.iterator();iter.hasnext();) { ObjectName jdbcresourcembeanname = ((ObjectInstance) iter.next()).getobjectname(); JDBCResourceMBean jdbcresource = (JDBCResourceMBean) MBeanServerInvocationHandler.newProxyInstance( mbsc, jdbcresourcembeanname, JDBCResourceMBean.class, false); JDBCStats jdbcstats = (JDBCStats) jdbcresource.getstats(); SimpleDateFormat format = new SimpleDateFormat("[MM-dd]HH:mm:ss"); StringBuilder builder = new StringBuilder(); builder.append("[sta] "); for (JDBCConnectionPoolStats cpstats : jdbcstats.getconnectionpools()) { String output =format.format(new Date(System.currentTimeMillis())) + " name:[" +cpstats.getjdbcdatasource() + "]" + " total:[" +cpstats.getpoolsize().getcurrent() +"]" + " use:[" + (cpstats.getpoolsize().getcurrent() - cpstats.getfreepoolsize().getcurrent()) +"] "; builder.append(output); builder.append("\n"); try { stream.write(builder.tostring().getbytes()); catch (IOException e) { e.printstacktrace(); Appendix A. JMX 모니터링예제 31
44 return; try { Thread.sleep(10000); catch (InterruptedException e) { return; 32 JEUS JMX 안내서
45 색인 H HTML Adaptor Port, 7 J JDBC DataSource 모니터링예제, 29 JEUS JMX Manager, 7 JEUS 유틸리티, 12 JMX Connector, 7 JMXMP Connector, 8 JVM Info 모니터링예제, 28 M MBean 서버, 11 mbean-info, 2 MBeanServer, 11 MLet URL, 7, 8 R RemoteMBeanServerFactory, 11, 12 RMI Connector, 8 S Servlet Thread Info 모니터링예제, 23 SNMP Adaptor, 7 SNMP Adaptor 설정, 10 T ThreadPool Info 모니터링예제, 26 색인 33
46
JEUS
JEUS JMX 안내서 JEUS v6.0 Fix#8 Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted
More informationTmax
Tmax JTmaxServer User Guide Tmax v5.0 SP1 Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 263 분당스퀘어 (AK 프라자
More informationMicrosoft Word - JEUSJMX안내서.doc
Application Server Version 4.2 Copyright 2004 Tmax Soft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2004 Tmax Soft Co., Ltd. All Rights Reserved. Tmax Soft Co., Ltd. 대한민국서울시강남구대치동 946-1 글라스타워
More information개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.
설치및환경설정 JDBC 접속세션구분 / 확인 2013. 11. 01 개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다. 사용하기 JEUS 에서설정방법
More informationrmi_박준용_final.PDF
(RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:
More informationMicrosoft Word - AnyLink Introduction v3.2.3.doc
Copyright 2007 Tmax Soft Co., Ltd. All Rights Reserved. AnyLInk Copyright Notice Copyright 2007 Tmax Soft Co., Ltd. All Rights Reserved. Tmax Soft Co., Ltd. 대한민국서울시강남구대치동 946-1 글라스타워 18 층우 )135-708 Restricted
More informationJEUS
JEUS SNMP 안내서 JEUS v7.0 Fix#1 Copyright 2013 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted
More informationInterstage5 SOAP서비스 설정 가이드
Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service
More information[JEUS 7] eclipse plug-in 연동 1. 개요 Eclipse 와 JEUS 7 연동시필요한 plug-in 제공및환경설정에관한가이드제공하여 Eclipse 에서 JEUS 7 기동및 종료테스트할수있는방법을기술하였습니다. 2. Plug-in 설치 2.1 [Step
기타지식 [JEUS 7.0] eclipse plug-in 연동 2015. 06. 09 [JEUS 7] eclipse plug-in 연동 1. 개요 Eclipse 와 JEUS 7 연동시필요한 plug-in 제공및환경설정에관한가이드제공하여 Eclipse 에서 JEUS 7 기동및 종료테스트할수있는방법을기술하였습니다. 2. Plug-in 설치 2.1 [Step. 1]
More information목차 JEUS EJB Session Bean가이드 stateful session bean stateful sample 가이드 sample source 결과확인 http session에
개념정리및샘플예제 EJB stateful sample 문서 2016. 01. 14 목차 JEUS EJB Session Bean가이드... 3 1. stateful session bean... 3 1.1 stateful sample 가이드... 3 1.1.1 sample source... 3 1.1.2 결과확인... 6 1.2 http session에서사용하기...
More informationConnection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET
135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26
More information개발및운영 Tibero DB Link (Tibero To Oracle) - Local 방식
Tibero DB Link (Tibero To Oracle) - Local 방식 2014. 04. 16. 목차 1. 구성환경... 3 2. 환경설정... 3 2.1. Tibero 서버 (AIX) 에 Oracle instance Client 파일을업로드... 3 2.2. Oracle Instance Client에대한환경설정등록 (.profile)... 4 2.3.
More informationMicrosoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]
- Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소
More informationMicrosoft PowerPoint - 03-TCP Programming.ppt
Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):
More information.
JEUS 6 & WebtoB 4.1 관리자 2015.09 Ⅰ Ⅱ Ⅲ JEUS 설정 WebtoB 연동설정 Tibero 연동설정 Ⅰ JEUS 설정 컨테이너생성 Application 디플로이 컨테이너생성 관리자화면접속 http://ip-address:9744/webadmin 접속 ID : administrator PW : 설치단계에서설정한관리자암호 3/36 컨테이너생성
More informationMicrosoft PowerPoint - 04-UDP Programming.ppt
Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여
More information인디쓔피-IOM핸돜벁닄큐1014pdf, page 59 @ Preflight ( IOM핸돜벁닄큐__1014 )
Publisher: International Organization for Migration 17, route des Morillons 1211 Geneva 19 Switzerland Tel: +41.22.717 91 11 Fax: +41.22.798 61 50 E-mail: hq@iom.int Internet: http://www.iom.int ISBN 978
More information자바-11장N'1-502
C h a p t e r 11 java.net.,,., (TCP/IP) (UDP/IP).,. 1 ISO OSI 7 1977 (ISO, International Standards Organization) (OSI, Open Systems Interconnection). 6 1983 X.200. OSI 7 [ 11-1] 7. 1 (Physical Layer),
More informationMicrosoft Word - ntasFrameBuilderInstallGuide2.5.doc
NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,
More information교육2 ? 그림
Interstage 5 Apworks EJB Application Internet Revision History Edition Date Author Reviewed by Remarks 1 2002/10/11 2 2003/05/19 3 2003/06/18 EJB 4 2003/09/25 Apworks5.1 [ Stateless Session Bean ] ApworksJava,
More informationTibero
Tibero 클라이언트설치가이드 Copyright 2013 TmaxData Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TmaxData Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구황새울로 329 번길 5 티맥스빌딩우 ) 463-824 Restricted Rights
More information개발및운영 Tibero Perl 연동
Tibero Perl 연동 2014. 05. 27. 목차 1. Windows에서의홖경구성... 3 1.1 Tibero ODBC Driver 설치... 3 1.2. Tool 설치... 5 2. Unix에서의홖경구성... 6 2.1 iodbc 설치... 7 2.2 Tibero 설치... 7 2.3 Iodbc drvier manager 등록... 7 3. Tibero
More informationMicrosoft PowerPoint - 18-DataSource.ppt
18 장 : JDBC DataSource DataSource JDBC 2.0의 javax.sql 패키지에포함되어도입됨 DataSource 인터페이스는데이터베이스커넥션을만들거나사용하는데좀더유연한아키텍처를제공하기위해도입됨 DataSource를이용할경우, 클라이언트코드는한줄도바꾸지않고서도다른데이터베이스에접속할수있도록해줌 즉 DataSource 는커넥션상세사항들을캡슐화
More informationPowerPoint 프레젠테이션
@ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field
More information목차 1. 노드매니저종류 Java Type SSH Type 노드설정파일및로깅 nodes.xml jeusnm.properties <servername>.properties...
개발및운영 JEUS7 Node Manager 가이드 2014. 12. 15 목차 1. 노드매니저종류... 3 1.1 Java Type... 3 1.2 SSH Type... 3 2. 노드설정파일및로깅... 3 2.1 nodes.xml... 3 2.2 jeusnm.properties... 4 2.3 .properties... 4 2.4 JeusNodeManager.log...
More information신림프로그래머_클린코드.key
CLEAN CODE 6 11st Front Dev. Team 6 1. 2. 3. checked exception 4. 5. 6. 11 : 2 4 : java (50%), javascript (35%), SQL/PL-SQL (15%) : Spring, ibatis, Oracle, jquery ? , (, ) ( ) 클린코드를 무시한다면 . 6 1. ,,,!
More informationAPI STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum
API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date
More information<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>
i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,
More informationPowerPoint 프레젠테이션
@ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program
More informationFileMaker 15 ODBC 및 JDBC 설명서
FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker, Inc... FileMaker.
More information설치및환경설정 JEUS Thread State Notify 설정
JEUS Thread State Notify 설정 2014. 07. 02 목차 1. thread-state-notify 설정... 3 1.1 시나리오 #1. max-thread-active-time : 10초... 3 1.2 시나리오 #2. max-thread-active-time : 10초, thread-interrupt-execution : true...
More informationSpring Boot/JDBC JdbcTemplate/CRUD 예제
Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.
More informationJMF2_심빈구.PDF
JMF JSTORM http://wwwjstormpekr Issued by: < > Document Information Document title: Document file name: Revision number: Issued by: JMF2_ doc Issue Date: Status: < > raica@nownurinet
More informationFileMaker ODBC and JDBC Guide
FileMaker 13 5 5 5 6 6 6 7 7 8 8 8 8 9 9 10 10 11 11 12 12 12 12 12 12 13 13 14 14 16 16 18 4 19 19 20 20 21 21 21 23 23 23 23 25 26 26 26 26 27 28 28 28 28 29 31 31 32 33 33 33 33 34 34 35 35 35 36 1
More informationuntitled
Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.
More informationHardware Manual TSP100
Trademark acknowledgments TSP: Star Micronics., Ltd. Notice All rights reserved. Reproduction of any part of this manual in any form whatsoever, without STAR s express permission is forbidden. The contents
More information마리오와 소닉 리우 올림픽™
마리오와 소닉 리우 올림픽 1 사용하기 전에 준비하기 2 유저 콘텐츠에 대하여 3 인터넷으로 이용 가능한 기능 4 보호자 여러분께 5 amiibo란 시작하기 전에 6 게임 소개 7 게임 시작 방법 8 조작 방법 9 데이터 저장과 삭제 통신으로 더욱 즐기기 10 대전 모드 11 포켓 마라톤 12 기록 기타 13 사용 곡명과 작곡자 소개 14 플레이 정보 송신
More information02 C h a p t e r Java
02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER
More informationMasoJava4_Dongbin.PDF
JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: Issued by: < > SI, dbin@handysoftcokr
More informationFileMaker ODBC 및 JDBC 가이드
FileMaker ODBC JDBC 2004-2019 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker, FileMaker Cloud, FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker,
More information12-file.key
11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,
More informationPowerPoint 프레젠테이션
Synergy EDMS www.comtrue.com opyright 2001 ComTrue Technologies. All right reserved. - 1 opyright 2001 ComTrue Technologies. All right reserved. - 2 opyright 2001 ComTrue Technologies. All right reserved.
More informationAPI 매뉴얼
PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned
More informationPowerPoint 프레젠테이션
배효철 th1g@nate.com 1 목차 표준입출력 파일입출력 2 표준입출력 표준입력은키보드로입력하는것, 주로 Scanner 클래스를사용. 표준출력은화면에출력하는메소드를사용하는데대표적으로 System.out.printf( ) 를사용 3 표준입출력 표준출력 : System.out.printlf() 4 표준입출력 Example 01 public static void
More information목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4
ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]
More information목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate
ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition
More information: Symantec Backup Exec System Recovery 8:............................................................................. 3..............................
W H I T : E PA P E R : C U S TO M I Z E Confidence in a connected world. Symantec Backup Exec System Recovery 8: : Symantec Backup Exec System Recovery 8:.............................................................................
More informationAnalytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras
Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios
More information歯JavaExceptionHandling.PDF
(2001 3 ) from Yongwoo s Park Java Exception Handling Programming from Yongwoo s Park 1 Java Exception Handling Programming from Yongwoo s Park 2 1 4 11 4 4 try/catch 5 try/catch/finally 9 11 12 13 13
More informationChap12
12 12Java RMI 121 RMI 2 121 RMI 3 - RMI, CORBA 121 RMI RMI RMI (remote object) 4 - ( ) UnicastRemoteObject, 121 RMI 5 class A - class B - ( ) class A a() class Bb() 121 RMI 6 RMI / 121 RMI RMI 1 2 ( 7)
More information목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공
메신저의새로운혁신 채팅로봇 챗봇 (Chatbot) 입문하기 소 이 메 속 : 시엠아이코리아 름 : 임채문 일 : soulgx@naver.com 1 목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper
More informationNo Slide Title
J2EE J2EE(Java 2 Enterprise Edition) (Web Services) :,, SOAP: Simple Object Access Protocol WSDL: Web Service Description Language UDDI: Universal Discovery, Description & Integration 4. (XML Protocol
More informationJMF3_심빈구.PDF
JMF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: Revision number: Issued by: JMF3_ doc Issue Date:
More information[Brochure] KOR_TunA
LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /
More informationMicrosoft Word - src.doc
IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...
More informationMicrosoft PowerPoint - Java7.pptx
HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)
More informationCluster management software
자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException
More informationMicrosoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx
2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html
More information개발및운영 Eclipse 를이용한 ANT 활용방법
Eclipse 를이용한 ANT 활용방법 2014. 04. 09 목차 Eclipse를이용한 ANT 활용방법... 3 1. ant 사용전준비사항... 3 1.1 ant Install... 3 1.2 Java Project 생성... 5 2. ant 활용방법... 10 2.1 ant project 생성... 10 3. ant 설정... 13 3.1 ant directory...
More informationMicrosoft PowerPoint - RMI.ppt
( 분산통신실습 ) RMI RMI 익히기 1. 분산환경에서동작하는 message-passing을이용한 boundedbuffer 해법프로그램을실행해보세요. 소스코드 : ftp://211.119.245.153 -> os -> OSJavaSources -> ch15 -> rmi http://marvel el.incheon.ac.kr의 Information Unix
More informationJEUS
JEUS Scheduler 안내서 JEUS v7.0 Fix#1 Copyright 2013 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted
More information<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 24 장입출력 이번장에서학습할내용 스트림이란? 스트림의분류 바이트스트림 문자스트림 형식입출력 명령어행에서입출력 파일입출력 스트림을이용한입출력에대하여살펴봅시다. 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 스트림들은연결될수있다. 중간점검문제 1. 자바에서는입출력을무엇이라고추상화하는가?
More informationPowerPoint 프레젠테이션
실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3
More informationPowerPoint Presentation
Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section
More informationJUNIT 실습및발표
JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected
More information쉽게 풀어쓴 C 프로그래밊
Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.
More informationFileMaker ODBC and JDBC Guide
FileMaker 14 5 5 5 5 6 6 6 7 7 7 8 8 8 9 9 10 10 11 11 12 12 12 12 12 13 13 14 15 16 17 18 18 19 19 20 20 20 21 21 21 22 22 22 22 23 24 24 24 24 25 27 27 28 29 29 29 29 30 30 31 31 31 32 1 1 1 1 1 1 1
More information07 자바의 다양한 클래스.key
[ 07 ] . java.lang Object, Math, String, StringBuffer Byte, Short, Integer, Long, Float, Double, Boolean, Character. java.util Random, StringTokenizer Calendar, GregorianCalendar, Date. Collection, List,
More informationPowerPoint 프레젠테이션
@ Lesson 1,..... @ 1 Green Project 1991 Oak Java 1995. 5 December '90 by Patrick Naughton, Mike Sheridan and James Gosling Embedded in various consumer electronic device 1992. 9. 3 Star 7 1993 www portability
More informationEclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일
Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae
More informationI T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r
I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r Jakarta is a Project of the Apache
More informationInterstage4 설치가이드
Interstage Application Server V501 Operation Guide Internet 1 1 1 FJApache FJApache (WWW (WWW server) server) - - file file - - 2 2 InfoProviderPro InfoProviderPro (WWW (WWW server) server) - - file file
More information(Microsoft PowerPoint - Chapter17 RMI.ppt [\310\243\310\257 \270\360\265\345])
Chapter 17. RMI Mingyu Lim Collaborative Computing Systems Lab, School of Internet & Multimedia Engineering Konkuk University, Seoul, Korea 학습목표 RMI란 RMI 구조 RMI는어떻게동작하는가 로컬객체를원격객체로변경하기 RMI를이용한계산기애플리케이션
More information기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.
PDMLink 에등록된 Office 문서들의 PDF 문서변환기능및 Viewer 기능을알아보자 PDM Link에서지원하는 [Product View Document Support] 기능은 Windows-Base 기반의 Microsoft Office 문서들을 PDMLink용 Viewer인 Product View를통한읽기가가능한 PDF Format 으로변환하는기능이다.
More informationJ2EE Concepts
! Introduction to J2EE (1) - J2EE Servlet/JSP/JDBC iseminar.. 1544-3355 ( ) iseminar Chat. 1 Who Are We? Business Solutions Consultant Oracle Application Server 10g Business Solutions Consultant Oracle10g
More informationchapter1,2.doc
JavaServer Pages Version 08-alpha copyright2001 B l u e N o t e all rights reserved http://jspboolpaecom vesion08-alpha, UML (?) part1part2 Part1 part2 part1 JSP Chapter2 ( ) Part 1 chapter 1 JavaServer
More information<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 25 장네트워크프로그래밍 이번장에서학습할내용 네트워크프로그래밍의개요 URL 클래스 TCP를이용한통신 TCP를이용한서버제작 TCP를이용한클라이언트제작 UDP 를이용한통신 자바를이용하여서 TCP/IP 통신을이용하는응응프로그램을작성하여봅시다. 서버와클라이언트 서버 (Server): 사용자들에게서비스를제공하는컴퓨터 클라이언트 (Client):
More information목차 JEUS JNLP Client Sample 가이드 JNLP 란 JNLP의이점 TEST TEST 환경 TEST Sample sample application 셋팅 (ser
기술교육 JEUS JNLP Sample 가이드 2015. 06. 19 목차 JEUS JNLP Client Sample 가이드... 3 1. JNLP 란... 3 2. JNLP의이점... 3 3. TEST... 3 3.1 TEST 환경... 3 3.2 TEST Sample... 4 3.2.1 sample application 셋팅 (server side)...
More informationuFOCS
1 기 : 기 UF_D_V250_002 기 기 기 품 ufocs 기 v2.5.0 히기기기기기기기기기 기 Manual 기 version 기 3.2 기품 2011.7.29 히기 345-13 1 Tel : 02-857-3051 Fax : 02-3142-0319 : http://www.satu.co.kr 2010 SAT information Co., Ltd. All
More informationRemote UI Guide
Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................
More informationPowerPoint 프레젠테이션
실습문제 Chapter 05 데이터베이스시스템... 오라클로배우는데이터베이스개론과실습 1. 실습문제 1 (5 장심화문제 : 각 3 점 ) 6. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (2) 7. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (5)
More informationNoSQL
MongoDB Daum Communications NoSQL Using Java Java VM, GC Low Scalability Using C Write speed Auto Sharding High Scalability Using Erlang Read/Update MapReduce R/U MR Cassandra Good Very Good MongoDB Good
More information설치및환경설정 Tibero tbprobe 사용법과원격지포트체크
Tibero tbprobe 사용법과원격지포트체크 2014. 04. 23. 목차 1. tbprobe 사용... 3 1.1. 로컬호스트 tibero 체크... 3 1.2. 원격호스트 tibero 체크... 3 2. tbprobe 상태값... 5 3. tbprobe 연결방법... 6 3.1. IP 와 listener_port 기재시... 6 3.2. IP 와 listener_port
More information비긴쿡-자바 00앞부속
IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter
More informationAPI 매뉴얼
PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations
More informationuntitled
2007 5 8 NCsoft CORPORATION OK-san Bldg 157-33, Samsung-dong, Kangnam-gu, Seoul 135-090, KOREA Tel: +82-2-2186-3300 Fax : +82-2-2186-3550 Copyright NCsoft Corporation. All Rights Reserved WWW.NCSOFT.COM
More informationPowerPoint Presentation
객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리
More informationPowerPoint 프레젠테이션
@ Lesson 4 (Object) (Class) (Instance) (Method) (Constructor) Memory 1 UML 1 @ & 1 (Real World) (Software World) @ &.. () () @ & 2 (Real World) (Software World) OOA/ Modeling Abstraction Instantiation
More information슬라이드 1
UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)
More information#KM560
KM-560 KM-560-7 PARTS BOOK KM-560 KM-560-7 INFORMATION A. Parts Book Structure of Part Book Unique code by mechanism Unique name by mechanism Explode view Ref. No. : Unique identifcation number by part
More informationNetwork Programming
Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI
More informationbn2019_2
arp -a Packet Logging/Editing Decode Buffer Capture Driver Logging: permanent storage of packets for offline analysis Decode: packets must be decoded to human readable form. Buffer: packets must temporarily
More informationC++ Programming
C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout
More information본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인
스마일서브 CLOUD_Virtual 워드프레스 설치 (WORDPRESS INSTALL) 스마일서브 가상화사업본부 Update. 2012. 09. 04. 본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게
More information2012-민간네트워크-05_중국
2012- fi '-05_` 2012.3.19 1:0 PM ` 161 600DPI 95LPI 161 2012- fi '-05_` 2012.3.19 1:0 PM ` 162 600DPI 95LPI 2012 Global Business Network of Korea 162 http://www.exportcenter.go.kr 2012- fi '-05_` 2012.3.19
More information제11장 프로세스와 쓰레드
제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드
More informationCopyrights and Trademarks Autodesk SketchBook Mobile (2.0.2) 2013 Autodesk, Inc. All Rights Reserved. Except as otherwise permitted by Autodesk, Inc.,
Autodesk SketchBook Mobile Copyrights and Trademarks Autodesk SketchBook Mobile (2.0.2) 2013 Autodesk, Inc. All Rights Reserved. Except as otherwise permitted by Autodesk, Inc., this publication, or parts
More informationKNOM_Conference_2008_start.ppt
플랫폼소개 목 차 1. enmons란? 2. 개발배경 3. 개발목표 5. 특징 6. 활용방안 7. 주요고객 8. 기대효과 9. 향후과제 10. 결론 2 1. enmons 란? enmons(easy Network Monitoring System) 는 JMX1.2 기반으로구현된망관리소프트웨어개발툴킷이다. enmons 는누구나쉽게네트워크에연결된장치를발견하고모니터링할수있다.
More information게시판 스팸 실시간 차단 시스템
오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP
More informationJavaGeneralProgramming.PDF
, Java General Programming from Yongwoo s Park 1 , Java General Programming from Yongwoo s Park 2 , Java General Programming from Yongwoo s Park 3 < 1> (Java) ( 95/98/NT,, ) API , Java General Programming
More information