custom server 에서 highcharts-export-convert 설정
여기서 사용하는 highchart-export 소스는 아래 경로에서 download 할 수 있다.
PhantomJS
위 경로에서 windows 버전을 다운로드 하자. 그리고 특정 폴더에 압축을 풀어놓자. 여기서는 아래 경로에 풀어놓았다.
phantomjs 를 설치하고 나서는
<phantomjs_path>/bin/phantomjs
를 실행해 보자. 그래서 아래 처럼 prompt 가 보이면 잘 동작하는 것이다.
- c:\Program Files\phantomjs\phantomjs-1.9.7-windows\
Ubuntu 에서 PhantomJS 설치하기[ref. 4]
$>cd /usr/local/share $>sudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2 $>sudo tar xjf phantomjs-1.9.7-linux-x86_64.tar.bz2 $>sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/local/share/phantomjs $>sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs
phantomjs 를 설치하고 나서는
<phantomjs_path>/bin/phantomjs
를 실행해 보자. 그래서 아래 처럼 prompt 가 보이면 잘 동작하는 것이다.
openSuse 에서 .so 설치
libfreetype.so.6 설치$> sudo zypper install freetype2libfontconfig.so.1 설치
$> sudo zypper install fontconfig
phantomjs 실행화면
/user/phantomjs-1.9.7-linux-x86_64/bin> ./phantomjs phantomjs>
pom.xml
<dependencies> <!-- Highchart export server --> <dependency> <groupId>com.highcharts.export</groupId> <artifactId>highcharts-export-convert</artifactId> <version>2.1.0</version> </dependency> <!-- end of Highchart export server --> ...
import bean
context.xml 에<beans:import resource="classpath:spring-convert.xml"/>
app-convert.properties
app-convert.properties 복사
spring-convert.xml 에서 app-convert.properties 를 사용한다.app-convert.properties 는 아래처럼 2개의 path 에 찾게 된다.
<context:property-placeholder location="classpath*:app-convert.properties" order="0"/> <!-- If there is a file in the following location then it has the highest precedence and ignore the above settings --> <context:property-placeholder ignore-unresolvable="true" ignore-resource-not-found="true" location="WEB-INF/spring/app-convert.properties" order="-1"/>
그래서
- WEB-INF/spring/app-convert.properties
: src/main/webapp/WEB-INF/spring/app-convert.properties
app-convert.properties 수정
app-convert.properties 를 수정하자. 아래 경로에서 찾을 수 있다.- /exporting-server/java/highcharts-export/highcharts-export-web/src/main/webapp/WEB-INF/spring/app-convert.properties
이 설정파일에서 phantomjs 가 listen 할 "ip 주소/port" 를 정해주고, 실행파일의 경로(path) 를 지정해 주자. 이 밖에도 phantomjs 서버 pool의 사이즈등을 정할 수 있다. 나머지 부분은 특별히 수정할 이유는 없을 것이다. 자세한 사항은 설정파일안의 comment 를 확인하자.
#### phantomjs properties #### # the host and port phantomjs listens to host = 127.0.0.1 port = 7777 # location of the phantomjs executable, could be for example /usr/local/bin/phantomjs exec = exec = c:/Program Files/phantomjs/phantomjs-1.9.7-windows/phantomjs.exe # name of the convert script used by phantomjs script = highcharts-convert.js ... ...
app-convert.properties flow
web.xml -> spring-context.xml -> spring-convert.xml > app-convert.properties
app-convert.properties 는 아래 경로에서 찾을 수 있다.
- highcharts-export\highcharts-export-convert\src\main\resources\app-convert.properties
- highcharts-export\highcharts-export-web\src\main\webapp\WEB-INF\spring\app-convert.properties
highcharts-export-convert.jar 에서 "설정한 경로에 있는 phantomJS" 를 "설정한 port" 와 "ip address" 로 띄워준다. ref. 3 에 보면 PhantomJS 에서 제공하는 Web Server Module 에 대한 이야기가 있다.
highcharts-export-convert 소스
exporting-server\java\highcharts-export\highcharts-export-convert\highcharts-export-convert 에는
- highcharts-export-convert-2.1.0.jar
Spring Controller
그리고highcharts-export-web/src/main/java/com/highcharts/export/controller/ExportController.java
의 exporter() 부분을 참고해서 controller 를 만들어 주면 된다.
References
- SETTING UP THE EXPORT SERVER > EXPORT SERVER BASED ON JAVA AND PHANTOMJS, Highchart homepage
- Advanced Tutorial on Tomcat 7
- Web Server Module | PhantomJS
- linux - How can I setup & run PhantomJS on Ubuntu? - Stack Overflow
댓글 없음:
댓글 쓰기