서버에서 이미지 캔버스 사용 변환시

 



톰캣의 catalina.sh 수정



cd /server/tomcat8/bin

vi catalina.sh


CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"

shift

fi


CATALINA_OPTS="$CATALINA_OPTS -Djava.awt.headless=true" // 이 부분(1줄)을 추가한다


if [ "$1" = "debug" ] ; then

if $os400; then

echo "Debug command not available on OS400"

exit 1

else

shift


삽입 위치도 중요 하다.

이것은 일종의 JDK의 버그이다. 원인은 자바가 BufferedImage 를 생성하고 실제로 Graphics 객체를 얻어오기 위해 getGraphics나 createGraphics 메소드를 부를때, 실제로 display하거나 mouse, keyboard 자원을 하나도 쓰지 않을 것임에도 불구하고 내부적으로 AWT Toolkit이 그것들에 대한 자원을 얻어오게 되어있었기 때문이다. 
출처: https://soye0n.tistory.com/67 [코린이의 기록:티스토리]
참조 : https://dbility.com/entry/linux-%ED%99%98%EA%B2%BD-java-Graphics2D-%EC%83%9D%EC%84%B1%EC%9D%B4-%EC%95%88%EB%90%A0-%EB%95%8C

댓글

이 블로그의 인기 게시물

자바 string 비교 할때 equlas 를 사용하자

jqgrid 에서 export execl 붙이기

flutter webview scroll 안되는 경우 gestureRecognizers: gestureRecognizers, 추가 해서 되었다