오픈소스 Java OpenJDK

OpenJDK 벤더 별 지원 현황 Oracle, Red Hat, IBM, Azul System

OpenJDK (Open Java Development Kit)는 Java Platform Standard Edition (Java SE)의 오픈 소스 구현입니다.
업스트림 커뮤니티 프로젝트 OpenJDK 는 현재 Oracle 이 메인 스폰서 이며 라이선스는 GPL(GNU General Public License) v2 + Classpath Exception로 제공합니다.
개발자는 오라클과 레드햇, Azul, AdoptOpenJDK 등의 OpenJDK 바이너리 공급 업체에서 다양한 선택을 할 수 있습니다.

Java 와 OpenJDK

Oracle JDK 상용화에 따른 궁금증과 관련기사

오라클 Java SE가 유료화 될 예정이다. 그동안 유/무료 버전이 혼재되어 있었으나, 2019년 1월부터 Oracle JDK Java SE의 모든 버전이 상용화된다.아울러 비용 청구 방법도 개편됐다. 오라클은 1회성 영구 라이선스 대신, 서브스크립션 모델 개념을 도입했다.

Java SE Subscription

Java 유료화

미국 Oracle이 2018 년 6 월 21 일, Java SE에 대한 유료 구독 모델인 Java SE Subscription을 발표하였습니다.오라클의 자바 서브스크립션은 데스크톱, 서버 또는 클라우드 환경에서 사용하기 위한 자바에 대한 라이선스와 기술지원을 포함한 간단하고 저렴한 월단위 서브스크립션 입니다.

X Powered By JBoss

JBoss 에서 X-Powered-By 헤더를 제거하고 서버 이름을 변경하는 방법

보안상의 문제로 사용하고 있는 서버의 종류를 알리는 것을 꺼리는 곳이 많아지고 있습니다. 공격자들은 서버의 종류와 버전을 알면 알려진 이슈들을 이용하여 서버를 공격하기 쉬워지기 때문일 것 입니다.
JBoss 에서는 아래와 같이 X-Powered-By 헤더를 사용하여 버전 정보를 표시하고 있습니다. Chrome의 막강한 디버깅 도구 F12를 사용하여 확인하면, Response Header에 “X-Powered-By: JSP/2.2″라고 버전 정보를 출력하고 있습니다. 또 “Server: Apache-Coyote/1.1″로 서버의 종류를 표시하고 있습니다.

제이보스 서브스크립션에 대한 주요 질문과 답변

JBoss 서브스크립션 FAQ

JBoss EAP 제품과 관련하여 주로 문의하시는 내용들을 살펴보려고 합니다.
제이보스 도입 시 비용과 관련된 서브스크립션과 라이센스에 대한 내용을 정리하였습니다.
“서브스크립션”이란 무엇입니까?
Red Hat은 오픈소스 소프트웨어로 어떻게 돈을 벌 수 있나요?
본네트가 용접되어 밀폐된 자동차를 구입하시겠습니까?
Red Hat 서브스크립션 모델은 광범위한 고객 피드백을 반영하여 20년 넘게 제공되어 왔습니다. Red Hat 서브스크립션을 이용하는 고객은

JBoss EAP & Wildfly

JBoss EAP6 에서 소켓 바인딩

JBoss EAP는 여러 개의 서브시스템이 내부적으로 밀접하게 연결되어 구성한다. 각 서브시스템이 기능을 실현하는데 필요한 통신 처리는 독자적으로 소켓을 열어 최적화된 통신을 사용한다. 이 때문에 JBoss EAP6는 HTTP나 AJP등으로 리퀘스트를 받아들이기 위한 포트 이외에도 클러스터링이나 운영에 필요한 여러 개의 포트를 이용한다.

JBoss EAP & Wildfly

JBoss EAP (wildfly) 튜닝 – ajp connector 에 대한 Thread Pool 생성하기

JBoss EAP6 (AS7) 의 웹 서브시스템은 클라이언트 요청에 대해서 스레드를 할당해 처리한다. 웹 서브시스템은 클라이언트의 요청을 수신하면 풀에서 대기 상태의 스레드를 할당하고 요청이 완료(클라이언트에의 응답 완료 시)되면 스레드 풀에 반환한다.
 
클라이언트 요청이 들어왔을 때 스레드 풀이 최대값에 도달하지 않는 경우 새로운 스레드를 생성하여 할당한다. 스레드 풀이 최대값에 도달한 경우에는 클라이언트와 연결되지 않는다. 클라이언트의 동시 접속 수는 이 스레드 풀의 최대값에 의해 결정된다. 스레드 풀은 커넥터마다 생성하여 관리한다. 
 
Http와 AJP 커넥터에서 사용자 요청을 처리하기 위해서는 미리 최대 사용자에 맞게 커넥터의 “Max Connections” 수와 thread 생성에 제한이 없는 unbounded-queue-thread-pool을 할당해 놓는다.
 
다음은  Http 커넥터에 unbounded-queue-thread-pool executor 를  설정하는 과정이다. 

JBoss EAP 와 Wildfly 비교

JBoss EAP 와 Wildfly 차이점

JBoss의 의미는 무엇인가요?
JBoss는 1999년에 Mark Fleury가 EJB컨테이너를 오픈소스로 개발하기 위해 EJBOSS(Enterprise Java Beans Open Source Software)라는 이름으로 시작한 프로젝트였지만 SUN과의 상표권 문제 때문에 앞의 E를 빼고 현재의 JBoss라는 이름이 되었습니다.