자바 이야기
2022년 7월 2일 토요일
2022년 1월 27일 목요일
Java Web Start 이용해서 excel 실행
참고사이트
https://www.baeldung.com/java-web-start
https://github.com/eugenp/tutorials/tree/master/jws
https://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/development.html#security
* 이클립스에서 dynamic web app 프로젝트 생성
* Hello 클래스 구현
--------------------------------------------------------------------------------
package com.example;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Hello {
public static void main(String[] args) throws Exception {
JFrame f = new JFrame("main");
f.setSize(200, 100);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("Hello, world!");
f.add(label);
f.setVisible(true);
//FilePermission p = new FilePermission("<>", "execute");
Runtime.getRuntime().exec("cmd /c start excel.exe");
}
}
--------------------------------------------------------------------------------
* Configure > Add maven nature
* pom.xml
--------------------------------------------------------------------------------
'>http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
webapp
webapp
0.0.1-SNAPSHOT
war
src
maven-compiler-plugin
3.7.0
1.8
maven-war-plugin
3.0.0
WebContent
org.apache.maven.plugins
maven-jar-plugin
compile
jar
com.example.Hello
${project.basedir}/WebContent
--------------------------------------------------------------------------------
* servlet 관련 jar 파일 복사
아래 URL에서 jardiff.jar, jnlp-servlet.jar 파일을 받아 WEB-INF/lib에 복사
https://github.com/eugenp/tutorials/tree/master/jws/java-core-samples-lib
* WEB-INF/web.xml 편집
--------------------------------------------------------------------------------
Java Web Start
JNLP Example for Java Web Start Article
JnlpDownloadServlet
jnlp.sample.servlet.JnlpDownloadServlet
JnlpDownloadServlet
*.jar
JnlpDownloadServlet
*.jnlp
index.html
--------------------------------------------------------------------------------
* WebContent 디렉토리에 index.html 파일생성
--------------------------------------------------------------------------------
Launch
--------------------------------------------------------------------------------
* WebContent 디렉토리에 hello.jnlp 파일생성
--------------------------------------------------------------------------------
Hello
Example
--------------------------------------------------------------------------------
* jar 파일생성: 프로젝트 우클릭 > Run As > Maven Install
* jar 파일 sign
cmd > cd [webapp-dir]
# keytool -genkey -keystore myKeystore -alias myself
# keytool -selfcert -alias myself -keystore myKeystore
# keytool -list -keystore myKeystore
# jarsigner -keystore myKeystore webapp-0.0.1-SNAPSHOT.jar myself
* 톰켓에 Dynamic web app 프로젝트를 추가하고 시작
* http://localhost:8080/webapp/ 접속 & Launch 버튼클릭
hello.jnlp 다운로드
hello.jnpl 파일열기
2021년 7월 20일 화요일
이클립스 플러그인 다운로드 배치파일
* eclipse.exe 디렉토리에서 실행
SET UPDATE_SITE_URL=http://www.domui.org/eclipse-updates/
SET DOWNLOAD_LOCAL_PATH=C:\java\tmp
SET ECLIPSE_HOME=.
%ECLIPSE_HOME%\eclipse.exe -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source %UPDATE_SITE_URL% -destination %DOWNLOAD_LOCAL_PATH%
%ECLIPSE_HOME%\eclipse.exe -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source %UPDATE_SITE_URL% -destination %DOWNLOAD_LOCAL_PATH%
2020년 8월 28일 금요일
Java System.currentTimeMillis()를 오라클에서
select systimestamp
, to_number(sysdate - to_date('01-01-1970','DD-MM-YYYY')) * (24 * 60 * 60 * 1000) milliseconds
from dual
2020년 7월 21일 화요일
jcmd 사용법
* jcmd 사용법
1. jcmd 실행하면 실행중인 자바 프로세스 목록 출력됨
2. jcmd <1의 PID> 명령
명령어 목록은 아래 링크 참조
https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr006.html
ex. 실행중인 Jmeter의 JVM 버전확인
$ jcmd
40336 ApacheJMeter.jar
$ jcmd 40336 VM.version
1. jcmd 실행하면 실행중인 자바 프로세스 목록 출력됨
2. jcmd <1의 PID> 명령
명령어 목록은 아래 링크 참조
https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr006.html
ex. 실행중인 Jmeter의 JVM 버전확인
$ jcmd
40336 ApacheJMeter.jar
$ jcmd 40336 VM.version
2020년 5월 18일 월요일
log4j2 AsyncQueueFullPolicy / asyncLoggerConfigRingBufferSize 설정
* log4j2.asyncQueueFullPolicy: AsyncQueueFull 상태일때 처리 클래스 지정
-Dlog4j2.asyncQueueFullPolicy= org.apache.logging.log4j.core.async.DiscardingAsyncQueueFullPolicy
DiscardingAsyncQueueFullPolicy(QueueFull 상태이면 무시), DefaultAsyncQueueFullPolicy 등을 지정하거나 AsyncQueueFullPolicy 인터페이스를 상속받아 구현한 클래스 지정가능
생성자나 상황발생시 전달되는 파라미터에 Logger나 Append 정보가 없어 어떤 Logger이나 Append 등에서 발생했는지는 확인할 수 없다. -.-
AsyncLogger, AsyncAppender에 같이 적용
* asyncLogger의 버퍼사이즈 설정, 최소값 128
-Dlog4j2.asyncLoggerConfigRingBufferSize=128
-Dlog4j2.asyncQueueFullPolicy= org.apache.logging.log4j.core.async.DiscardingAsyncQueueFullPolicy
DiscardingAsyncQueueFullPolicy(QueueFull 상태이면 무시), DefaultAsyncQueueFullPolicy 등을 지정하거나 AsyncQueueFullPolicy 인터페이스를 상속받아 구현한 클래스 지정가능
생성자나 상황발생시 전달되는 파라미터에 Logger나 Append 정보가 없어 어떤 Logger이나 Append 등에서 발생했는지는 확인할 수 없다. -.-
AsyncLogger, AsyncAppender에 같이 적용
* asyncLogger의 버퍼사이즈 설정, 최소값 128
-Dlog4j2.asyncLoggerConfigRingBufferSize=128
* log4j 2 configuration
https://logging.apache.org/log4j/2.x/manual/async.html
2020년 3월 18일 수요일
HP Notebook - 15-db1042au
드라이버 다운로드
https://support.hp.com/kr-ko/drivers/selfservice/hp-15-db1000-laptop-pc/26210240/model/29678404
제품 번호
|
7NU48PA
|
제품명
|
HP Notebook - 15-db1042au
|
Microprocessor
|
AMD Ryzen ™ 5 3500U (Radeon ™ Vega 8 그래픽 포함) (2.1GHz 기본 클록, 최대 3.7GHz 최대 부스트 클록, 6MB 캐시, 4 코어)
|
Chipset
|
AMD 통합 SoC
|
Video graphics
|
AMD Radeon ™ Vega 8 그래픽
|
Hard drive
|
256 GB PCIe® NVMe ™ M.2 SSD
|
Display
|
15.6 "대각선 FHD IPS 눈부심 방지 마이크로 에지 WLED- 백라이트 (1920 x 1080)
|
네트워크 인터페이스
|
통합 10/100/1000 GbE LAN
|
확장 슬롯
|
멀티 포맷 SD 미디어 카드 리더기 1개
|
외부 포트
|
USB 3.1 Gen 1 Type-A 2개(데이터 전송 전용); USB 2.0 Type-A 1개(데이터 전송 전용); 1 RJ-45; 1 AC 스마트 핀; HDMI 1개; 헤드폰/마이크 콤보 1개
|
최소 규격(너비 x 길이 x 높이)
|
37.6 x 24.6 x 2.25cm
|
무게
|
최소 1.8kg
|
오디오 기능
|
듀얼 스피커
|
소프트웨어
Operating system
|
FreeDOS 1.2
|
HP apps
|
HP Audio Switch; HP 설명서; HP ePrint; HP JumpStart; HP Support Assistant
|
포함된 소프트웨어
|
McAfee LiveSafe™
|
피드 구독하기:
글 (Atom)