Programming

    [JAVA] JMX 예제 코드 및 jmxremote properties 설정

    [JAVA] JMX 예제 코드 및 jmxremote properties 설정

    1) JMX 예제 코드 Main public class MBeansTest { public static void main(String[] args) throws MalformedObjectNameException, InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException, InterruptedException { MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); ObjectName name = new ObjectName("Hello:type=Hello"); Hello mbean = new Hello(); mbs.registerMBean(mbean,..

    [JAVA] JMX의 mBean이란? JMX는 무엇인지?

    [JAVA] JMX의 mBean이란? JMX는 무엇인지?

    1) Java mBean(Managed Bean)이란? JDK 1.5 이상부터 기본적으로 탑재된 기능 자바 어플리케이션의 모니터링과 관리 기능을 제공한다. Non-Java Resource와 하드웨어에 대해 wrapping한 인터페이스를 제공하며, API를 외부로 노출해 application 설정 및 통계데이터를 수집할 수 있는 기능을 제공한다. mBean으로 알려진 하나 이상의 사용자 JavaBean 오브젝트를 통해(혹은 리소스를 호출하는) 애플리케이션, 디바이스, 서비스를 원격으로 제어할 수 있다. mBean들은 mBean 서버에 등록되며, mBean 서버는 리소스에 접근하는 모든 원격 매니저를 관리한다. 예를 들어 특정한 bean 객체가 있다고 가정한다. 이 mBean객체를 인터페이스를 사용해 추상적..

    [MSSQL] MSSQL 설치 오류 sqlncli.msi 올바른 설치 패키지 사본을 사용하여 설치를 다시 시도하십시오.

    [MSSQL] MSSQL 설치 오류 sqlncli.msi 올바른 설치 패키지 사본을 사용하여 설치를 다시 시도하십시오.

    MSSQL Express 2017을 다운받고, MSSQL Management Studio는 2014를 다운받고 DB 테이블을 생성하려 했더니 Server 버전이 다르다고 편집 툴 측에서 오류가 발생했다. 하기야... 서버가 2017버전인데 편집툴이 2014버전이면 오류가 날 만하지. 그래서 MSSQL 2017을 삭제하고 2014를 설치하려 했는데 정말 불편하게도 한 번에 삭제가 다 안 됩니다. 할 수 없이 제어판을 통해서 Server, 편집 툴 모두 제거를 하고 2014버전으로 다시 설치를 하는데 "sqlncli.msi 올바른 설치 패키지 사본을 사용하여 설치를 다시 시도하십시오." 라는 오류가 발생할 경우가 있다. 해결 방법 => 제어판 - 프로그램 추가/제거에서 Microsoft SQL Native ..

    [리눅스 Linux] 서버 - 고가용성 클러스터 이중화

    [리눅스 Linux] 서버 - 고가용성 클러스터 이중화

    고가용성 클러스터는 서버를 이중화하는 것은 알고 계실 겁니다. 구체적으로, 하드웨어들 중 CPU 이중화, Power Supply, Disk RAID구성(mirror), 스위치 장애 대비를 위해 Bonding 등의 하드웨어 이중화를 시킵니다. 이때, 고가용성 클러스트를 구성할때 Active-Standby라는 구성도를 사용합니다. 1. Active 노드에서 서비스를 수행하다가 시스템 에러가 발생할 경우 서비스를 넘겨받아 수행합니다. 2. 서비스 노드는 가상 IP에 의해 서비스를 수행합니다. 3. 서비스 노드만 Storage에 mount하도록 해서 data의 무결성 및 안정적인 FailOver를 보장합니다. 4. FailOver시나리오에서 그 장애 노드가 FailOver후, 저장장치에 접근할 수 없도록 합니다..

    [리눅스 Linux] 서버 - 고가용성 시스템

    [리눅스 Linux] 서버 - 고가용성 시스템

    리눅스 고가용성 시스템이란? 시스템이 정상적으로 작동하는 시간과, 문제 발생시 복구 되는 시간을 기준으로 측정한 수치를 가용성의 레벨로 설정한다. 99.999%의 가용성 수치가 나왔을때 위 시스템을 고가용성 시스템이라 칭함. 고가용성을 보장하기 위해선, 서비스 서버에 문제가 발생했을 때 해결 방안이 필요하다. Fail Over :: 서비스의 접속 포인트(Access Point)를 정상 작동중인 시스템으로 자동 전환. Fail Back :: 문제의 서버가 다시 정상 작동되었을 때 본 서비스 구조로 전환. 엔터프라이즈 컴퓨팅 환경(기업 환경)에서 1년에 시스템의 정지시간이 수분에서 1시간 이내여야만 합니다. 위와 같은 무정지 시스템을 가능하게 해주는 클러스터를 고가용성 클러스터라고 한다. 고 가용성 클러스터..

    [Java] Java Bean이란?

    Java Bean이란? 1) 특정한 정보(id, password, name, job)을 가지고 있는 클래스를 표현하는 하나의 규칙이며 데이터를 표현하기 위한 목적을 지니고 있다. 이 규칙을 지닌 클래스를 Java Bean이라고 한다. * 반드시 클래스는 패키지 되어야 함 * 멤버변수는 프로퍼티(property)라고 함. * 멤버변수는 private로 지정하고, 외부접근을 위한 get, set 메소드 정의해야 한다. * Get, set 메소드는 public으로 지정한다. 2) 쉽게 말해서 Model, View, Controller의 MVC 패턴에서 데이터를 표현해주는 Model에서 사용하기 위한 표현의 형태라고 보면 된다. 3) 왜? Model에서 Java Bean형태로 사용하나? 어떠한 프로젝트를 구성할..

    [RAP]  Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1.8 오류 해결

    [RAP] Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1.8 오류 해결

    RAP 프로젝트를 설정하다보면 Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1.8이라는 오류가 발생할 때가 있다. jre1.8에 관련된 Build Path, 환경변수, 컴파일러 매칭이 정상적으로 이루어지지 않았을 때인데 1차적으로 프로젝트 설정에서 JavaSE-1.8, jre1.8로 통일시켜 매칭시키면 문제는 대게 해결 된다. org.osgi.framework.BundleException: The bundle "TestRAP_1.0.0.qualifier [63]" could not be resolved. Reason: Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1...

    [Java] Eclipse 이클립스 크롬 연동하기(Web Browser 연동)

    [Java] Eclipse 이클립스 크롬 연동하기(Web Browser 연동)

    이클립스 크롬 연동하기 이클립스를 설치한지 얼마 되지 않았을때, 웹 프로젝트를 생성하고 실행시켜보면 이클립스 내부에서만 웹 사이트에 연결이 되어 곤란한 경우가 있다. 웹 프로젝트를 실행시킬 때 주로 사용하는 웹 브라우저와 연동하는 방법이 있는데 아주 간단하다. 연동 방법 1) 먼저 Window - Preferences 설정에 들어간다. 2) 검색 창에 web이라고만 치면 검색이 된다. General - Web Browser를 선택한다. New를 선택한다. 3) Name은 적당히 사용하는 브라우저의 이름(Chrome, Opera 등등)을 적고 Location을 웹 브라우저가 설치된 경로로 설정해준다. * 파일 위치 찾는 방법은 속성 - 파일 위치 열기 - 경로 복사로 쉽게 찾을 수 있다. 4) Browse..

    [Java] SWT Tree와 Map을 활용한 Directory 출력 예제 소스

    SWT - Tree + Map 윈도우의 아무런 특정 파일 경로를 설정하고 특정 파일 아래에 있는 하위 폴더, 파일 들을 SWT의 Tree로 뿌리는 소스이다. 자료구조인 Map을 사용해서 SWT의 Tree, TreeItem으로 File Directory를 출력하는 프로그램이다. 트리구조이기 때문에 parent, child 구조 인 것을 감안하고 분석해보면 그렇게까지 어렵지는 않다. 소스 코드 import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file.FileVisitResult; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Si..

    [Java] Hibernate HQL, Cretreia 사용  방법

    [Java] Hibernate HQL, Cretreia 사용 방법

    Hibernate HQL 및 Cretreia 특정 데이터베이스를 조회하는 도구인 Hibernate에서는 HQL과 Creteria를 이용해서 쿼리를 작성해 DB에 접근할 수 있다. 그에 관련하여 주요 사용되는 쿼리와 기능들을 정리한 코드를 첨부했다. Main에 특정 함수를 호출하면 결과를 확인해 볼 수 있다....는 데이터베이스에 같은 컬럼이 있어야겠지만... 기본적인 CRUD와 Where, Group by 등 쿼리들을 정리해보았다. * 소스 코드의 맨 밑에 있는 getAllClasses함수는 특정 패키지 안에 있는 클래스 리스트를 출력해주는 함수로 Java의 Reflection과 함께 사용하면 된다. Database Table 총 4개의 테이블이다. public class Employee private ..