Middleware (JBoss & Wildfly) wildfly에서 remote ejb 설정 및 구성 방법
페이지 정보
작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 3,272회 좋아요 0회 작성일 20-11-05 15:03본문
안녕하세요 "미들웨어" 입니다.
이번 장에서는 오픈 미들웨어로 많이들 사용하시는 (Wildfly) 에 대해 설치, 구성, 튜닝, 클러스터링, 장애대응을 진행하는 방법에 대해 가이드 해보겠습니다.
이번에는 JBoss-eap 에서 wildfly 마이그레이션시 발생 에러 에 대해서 진행해보겠습니다.
(JBoss & Wildfly) wildfly 란? 설치방법 및 기본 구성
(JBoss & Wildfly) JBoss-eap 에서 wildfly 마이그레이션시 발생 에러
(JBoss & Wildfly) wildfly에서 remote ejb 설정 및 구성 방법
(JBoss & Wildfly) Wildfly 에서 Oracle JDBC 연동설정 하는 방법
(JBoss & Wildfly) standalone-ha.xml 를 사용한 keycloak session cluster 구성
요즘은 EJB를 자주 사용하진 않지만, 서비스 업 특성이나, 보안, 그리고 레거시 환경과의 연동, 중요도 높은 신뢰성 업무에 따라서 EJB와 연동하는 상황이 종종 발생됩니다.
wildfly에서 EJB설정 방법에 대해 가이드 해 보겠습니다.
jboss-eap 에서 wildfly로 마이그레이션을 하면서 어려웠던 부분 중 하나가 바로 EJB 연동 설정 부분이다.
메뉴얼을 참고해도 outbound 부분만 정의되있고, 주는 쪽에 대한 명시가 없다보니 설정에 어려움이 있었다..
우선 wildfly는 기존 JBoss 와는 다른 방식의 EJB 통신을 한다.
기존 JBoss 에서는 EJB port를 명시해줘서 사용했다면, Wildfly 에서는 http port 를 활용해서 EJB 통신을 한다고 이해하면 되는데, 정말 중요한 포인트!!!
중요포인트니 밑줄 쫙!!
Wildfly 에서는 http port 를 활용해서 EJB 통신을 한다 |
1. (공통) standalone.xml EJB 설정
- connector-ref="default" 값은 기본 설정 값이므로, 수정 할 필요는 없으나 호출되는 방식은 connector-ref 명시된 default 를 따른다.
- outbound-socket-binding-ref="remote-ejb" username="testejb" 에 연동할 계정을 설정해야 한다.
- EJB 연동할 계정은 add-user.sh 로 생성해둬야 한다.
- EJB 연동할 Passwd 는 주는쪽, 받는쪽 모두 명시되야 한다. "ejb-security-realm"
파일 : standalone.xml <subsystem xmlns="urn:jboss:domain:remoting:4.0"> <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
<remote connector-ref="http-remoting-connector" thread-pool-name="default">
<subsystem xmlns="urn:jboss:domain:remoting:4.0"> .... <outbound-connections> <remote-outbound-connection name="remote-ejb-connection" outbound-socket-binding-ref="remote-ejb" username="testejb" security-realm="ejb-security-realm"> <properties> <property name="SASL_POLICY_NOANONYMOUS" value="false"/> <property name="SSL_ENABLED" value="false"/> </properties> </remote-outbound-connection> </outbound-connections>
<security-realm name="ejb-security-realm"> <server-identities> <secret value="Y2NpZWpiITA="/> </server-identities> </security-realm> |
2. EJB 연동할 ID, PW 정의
- 위에서 만든 testejb 계정에 대한 passwd를 정의해준다.
- 계정에 대한 ID 값은 application-users.properties 안에 정의해준다.
파일 : application-users.properties 내용 : testejb=235894313..... |
3. 콜러(받는쪽) standalone.xml
- 받는쪽에서 사용할 HTTP port를 명시해준다.
<outbound-socket-binding name="remote-ejb"> <remote-destination host="10.10.10.10" port="7012"/> </outbound-socket-binding>
(ex..) 예를들어 한 서버내 EJB 사용할 경우 아래처럼 127.0.0.1 사용하면 되니 방화벽 오픈은 필요없다. <outbound-socket-binding name="remote-ejb"> <remote-destination host="127.0.0.1" port="7012"/> </outbound-socket-binding> |
4. EJB Port 기동 확인
netstat -an|grep 7012 명령어로 해당 Port 기동되었는지 확인이 필요하다.
해당 port 가 open 되었다면, EJB로 호출할 서버 7012 port가 open 되있는지 확인해야 한다.
5. EJB port 방화벽 오픈 (필요시..)
localhost 가 아닌 원격지의 EJB 연동일 경우EJB를 사용하는 port 는 방화벽 오픈이 필요하다.
방화벽을 오픈 한뒤 EJB PORT (여기서는 7012port) 호출한뒤 ESTABLISHED 상태라면 서비스 연동은 된거다.
여기까지 잘 따라 오셨으면 EJB 연동은 되셨을 겁니다.
wildfly 경우 EJB 별도 Port를 사용하는게 아닌 HTTP Port를 함께 사용하니 잘 모를경우 어려움이 많이 있었을 겁니다.
댓글목록
등록된 댓글이 없습니다.