Java
[Jena] Apache Jena Fuseki 리눅스 설치 방법
Apache Jena Fuseki 리눅스 설치 1. SSH access to virtual host VirtualBox (or similar) VM environment와 같은 가상환경에서 설치한다는 가정입니다. $ sudo apt install openssh-server VM은 NAT 네트워크를 사용하기 때문에 VM Environment에서 환경설정->네트워크->NAT->포트포워딩을 선택하고, Rule의 이름을 ssh, 프로토콜=TCP, Host Port=2222, Guest Port=22로 설정한다음 위의 명령어를 터미널에서 실행하면 됩니다. 2. Install Java 8 And Apache Jena Fuseki 아래의 명령어를 터미널에서 실행. $ sudo apt update $ sudo apt ..
[Java] Dozer Mapper 사용 방법
1. Dozer Mapper란? Dozer는 한 객체에서 다른 객체로 데이터를 재귀 적으로 복사하는 Java Bean to Java Bean 매퍼입니다. Dozer는 단순 특성 맵핑, 복합 유형 맵핑, 양방향 맵핑, 암시적 명시적 맵핑 및 재귀 맵핑을 지원합니다. 여기에는 요소 레벨에서 맵핑해야하는 맵핑 콜렉션 속성도 포함됩니다. Dozer는 속성 이름 간 매핑을 지원할뿐만 아니라 유형 간 자동 변환도 지원합니다. Dozer는 리플렉션을 사용하여 대부분의 필드 매핑을 자동으로 수행 할 수 있지만 모든 사용자 지정 매핑은 XML 형식으로 미리 설명 할 수 있습니다. Dozer는 JMapper와 다르게 양방향 매핑을 지원합니다. 매핑은 양방향이므로 클래스 간의 관계는 하나만 정의하면됩니다. 두 객체의 속성 ..
[Java] JMapper 사용 방법
1. JMapper Framework란? JMapper Framework는 Java Bean에서 Java Bean Mapper로 주석 및 / 또는 XML을 사용하여 데이터를 동적으로 전달할 수 있습니다. 대상 객체 생성 및 보강 특정 논리를 매핑에 적용 XML 파일 자동 관리 1 대 N 및 N 대 1 관계 구현 명시 적 전환 구현 상속 된 구성 적용 JMapper는 Javassist 프레임 워크를 기반으로하며, 이 프레임 워크의 성능은 성능 저하없이 다량 화, 동적 맵핑, 다중 관계형 맵핑, 상속 된 맵핑 및 기타 기능을 적용 할 수 있는 기능임. 2. Maven com.googlecode.jmapper-framework jmapper-core 1.6.0.1 3. 일반적인 사용방법(1대1 매핑) //So..
Jena SPARQL 사용 방법 및 소스 코드
SPARQL이란? RDF기반 Jena에서 사용하는 쿼리입니다. 기본적으로 이 SPARQL을 사용하기 위해선 RDF의 트리플에 대해서 알고 있어야 합니다. 잘 모르겠다면 아래 두 링크를 확인해주시길 바랍니다. https://narup.tistory.com/2?category=880408 RDF(Resource Description Framework)란 - RDF(Resource Description Framework)는 웹상의 자원의 정보를 표현하기 위한 XML 규격으로 상이한 메타데이터 간의 어의, 구문 및 구조에 대한 공통적인 규칙을 지원하는 기법을 통해 웹상에 존재하는 기계 해.. narup.tistory.com https://narup.tistory.com/3?category=880408 RDF -..
Jena SDB 사용 예제
Jena SDB란? SDB는 다양한 관계형 데이터베이스를 백엔드로 하는 Non-Native 방식의 레파지토리로 Jena의 다양한 제품군 중 하나이다. Jena는 HP Lab에서 개발한 시맨틱웹 어플리케이션 구축을 위한 자바 프레임워크로 RDFS, OWL과 SPARQL을 위한 프로그램 환경을 제공할 뿐만 아니라 규칙 기반의 추론엔진을 포함하고 있다. Jena를 구성하는 프로그래밍을 위한 다양한 API와 SPARQL 쿼리 엔진 외에 중요한 제품으로 레파지토리가 있는데, Jena API를 통한 In-Memory 방식 뿐만 아니라 영속 스토리지 방식의 Non-Native 및 Native 방식의 트리플 레파지토리 모두를 지원한다. Non-Native 방식의 스토리지가 SDB로 Jena API를 통해 여러 관계형 ..
[Java] Java Project에 Maven 설치(컨버트)
Java Project에 Maven 설치(컨버트) 필자는 Maven을 Spring Project에서 자주 사용해보았지만 일반적인 Java Project에서도 사용할 수 있다는 것을 알게 되어서 이 방법을 공유하고자 글을 작성해본다. Maven을 사용하면 좋은 점이, 라이브러리를 쉽게 install할 수 있고, 프로젝트가 공유되는 환경이면 Dependency를 추가만 하는 것으로도 추가한 라이브러리를 공유할 수 있기 때문에 경량성있고 안정적이라는 이점이 있는 것 같다. 다만, 인터넷이 연결되지 않은 환경에서의 작업은 어려울 수 있겠지만... 1. 먼저 Maven을 설치할 프로젝트를 우측 클릭 - Configure - Convert to Maven Project 2. 그룹 아이디나 아티팩트 아이디, 버전 이..
[Java] JMX Connector의 Server, Client 활용
1) Server package org.jmxserver.main; import java.rmi.registry.LocateRegistry; import javax.management.MBeanServer; import javax.management.MBeanServerFactory; import javax.management.ObjectName; import javax.management.remote.JMXConnectorServer; import javax.management.remote.JMXConnectorServerFactory; import javax.management.remote.JMXServiceURL; import org.jmxserver.inter.CPUModel; public cla..
[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는 무엇인지?
1) Java mBean(Managed Bean)이란? JDK 1.5 이상부터 기본적으로 탑재된 기능 자바 어플리케이션의 모니터링과 관리 기능을 제공한다. Non-Java Resource와 하드웨어에 대해 wrapping한 인터페이스를 제공하며, API를 외부로 노출해 application 설정 및 통계데이터를 수집할 수 있는 기능을 제공한다. mBean으로 알려진 하나 이상의 사용자 JavaBean 오브젝트를 통해(혹은 리소스를 호출하는) 애플리케이션, 디바이스, 서비스를 원격으로 제어할 수 있다. mBean들은 mBean 서버에 등록되며, mBean 서버는 리소스에 접근하는 모든 원격 매니저를 관리한다. 예를 들어 특정한 bean 객체가 있다고 가정한다. 이 mBean객체를 인터페이스를 사용해 추상적..
[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형태로 사용하나? 어떠한 프로젝트를 구성할..