[java] java 1.7 concurrent package

https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-frame.html

Executor

An object that executes submitted Runnable tasks. You can customize the tactic which handle Runnable Object how to execute and manage execution order.

ExecutorService (More useful)

An Executor that provides methods to manage termination and methods that can produce a Future for tracking progress of one or more asynchronous tasks.

  • invokeAll
  • invokeAny
  • shutdown
  • submit

Callable (Overcome runnable)

A task that returns a result and may throw an exception. Implementors define a single method with no arguments called call.

Future

A Future represents the result of an asynchronous computation.

광고

[Streaming] mp4 streaming 이슈

http progressive download 불가능 한 상황이 발생 했다.

나의 경우 mp4의 moov atom 순서가 가장 뒤에 있을 경우 발생 했다.

해결 방법은 ‘moov’ Container order값을 두번째로 옮기고 약간의 작업을 해주면 된다.

Solution : qt-faststart.c

안드로이드에 올리기 위해서는  ffmpeg jni 를 이용해야 하는데 빌드하고 관리하기 번거롭고 library 통째로 필요한게 아니라 qt-faststart.c만 필요했기 때문에 자바로 옮겼다.

관련 코드 git-hub에 작성해서 공유할 계획만 가지고 있다.

Reference

* java ffmpeg : https://code.google.com/p/jjmpeg/downloads/list

* Quick Time Format : https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/qtff.pdf

*  http://www.onjava.com/pub/a/onjava/2003/02/19/qt_file_format.html

http://fabiensanglard.net/mobile_progressive_playback/index.php

http://fd.fabiensanglard.net/mobile_progressive_playback/qt-faststart.c

[서버설치] 개발 서버 설정 (java)

* tomcat 설치 :

http://jmchung.github.io/blog/2013/09/06/centos-installing-apache-portable-runtime-apr-for-tomcat/

* 아파치 2.4.x 설치

http://blog.beany.co.kr/archives/4018

* 접근권한 설정

http://stackoverflow.com/questions/10351167/apache-client-denied-by-server-configuration

* mod_jk 설정 :(mod_proxy_ajp)

http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html

* mpm 설정 : (튜닝) – optional

* 로그 rotates

* tomcat log 설정 with rotate

* catalina jvm option & GC 옵션 설정

* package java 삭제
(keyword : rpm, yum remove)

* cron log 삭제 설정

* 개발 DB 설정

CentOS7 mariadb 10
https://mariadb.com/blog/installing-mariadb-10-centos-7-rhel-7

DB 로그, 데이터 저장 장소 분리(/etc/my.cnf)
1. 장치 디스크 마운트 현황 확인(df -h)

2. 저장소 분리하고 폴더 권한 잊지 말자!!!!(socket error)
http://stackoverflow.com/questions/21470193/mysql-server-start-issues-on-mavericks

3. 데몬 뜨고 난 뒤에 아래와 같은 오류 나면 심볼릭 링크 설정으로 해결
mysql 12398 1 0 14:04 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe –basedir=/usr
mysql 12567 12398 0 14:04 ? 00:00:00 /usr/libexec/mysqld –basedir=/usr –datadir=/xxxx/mysql/lib/mysql –plugin-dir=/usr/lib64/mysql/plugin –log-error=/xxxx/mysql/log/mariadb/mariadb.log –pid-file=/xxxx/mysql/run/mariadb/mariadb.pid –socket=/xxxx/mysql/lib/mysql/mysql.sock
root 12634 10539 0 14:06 pts/0 00:00:00 grep –color=auto mysql
[root@localhost lib]# vi /etc/my.cnf
[root@localhost lib]# mysqld
bash: mysqld: command not found…
Similar command is: ‘mysql’
[root@localhost lib]# mysql
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

drwx—rwx 6 mysql root 4096 Feb 21 14:08 .
drwxr-xr-x. 57 root root 4096 Feb 21 13:27 ..
-rw-rw-rwx 1 mysql mysql 16384 Feb 21 13:24 aria_log.00000001
-rw-rw-rwx 1 mysql mysql 52 Feb 21 13:24 aria_log_control
drwxrwxrwx 3 root root 4096 Feb 21 13:26 lib
drwx—rwx 2 mysql root 4096 Feb 21 13:50 mysql
lrwxrwxrwx 1 root root 34 Feb 21 14:08 mysql.sock -> /xxxx/mysql/lib/mysql/mysql.sock
drwx—rwx 2 mysql mysql 4096 Feb 21 13:24 performance_schema
drwx—rwx 2 mysql root 4096 Feb 21 13:24 test
[root@localhost mysql]# ^C
[root@localhost mysql]# ln -s /xxxx/mysql/lib/mysql/mysql.sock mysql.sock

4. 서비스 용도로 설정 하려면 DB서버 전용 설정이 필요하다…. 이중화, RAID, 백업 DB설정, 모니링 등등등…