세션 클러스터링 오류 수정.

master
강석 최 2024-04-18 10:53:03 +09:00
parent 5be10e93d3
commit 57b9e31c1f
8 changed files with 34 additions and 31 deletions

View File

@ -8,6 +8,7 @@ import com.dbnt.faisp.main.faRpt.service.FaRptService;
import com.dbnt.faisp.main.faRpt.service.SriService;
import com.dbnt.faisp.main.fpiMgt.affair.model.DashboardAffair;
import com.dbnt.faisp.main.fpiMgt.affair.service.AffairService;
import com.dbnt.faisp.main.menuMgt.model.MenuMgt;
import com.dbnt.faisp.main.menuMgt.service.MenuMgtService;
import com.dbnt.faisp.main.organMgt.service.OrganConfigService;
import com.dbnt.faisp.main.publicBoard.model.PublicBoard;
@ -29,6 +30,8 @@ import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -155,16 +158,20 @@ public class BaseController {
public void setSession(@AuthenticationPrincipal UserInfo loginUser, HttpSession session){
loginUser.setDownOrganCdList(organConfigService.selectDownOrganList(loginUser.getOgCd()));
loginUser.setUpOrganCdList(organConfigService.selectUpOrganList(loginUser.getOgCd()));
session.setAttribute("menuList", menuMgtService.selectSortedAccessMenuList(loginUser.getUserSeq()));
Map<String, List<CodeMgt>> codeMap = codeMgtService.getCommonCode();
session.setAttribute("commonCode", codeMap);
session.setAttribute("userSeq", loginUser.getUserSeq());
session.setAttribute("userOrgan", loginUser.getOgCd());
List<MenuMgt> menuList = menuMgtService.selectSortedAccessMenuList(loginUser.getUserSeq());
String belongValue = "";
belongValue += Utils.searchCodeValue(loginUser.getOgCd(), codeMap.get("OG"));
belongValue += Utils.searchCodeValue(loginUser.getOfcCd(), codeMap.get(loginUser.getOgCd()));
belongValue += Utils.searchCodeValue(loginUser.getTitleCd(), codeMap.get("JT"));
belongValue += loginUser.getUserNm()+"("+loginUser.getUserId()+")";
session.setAttribute("menuList", new ArrayList<>(menuList));
session.setAttribute("commonCode", new HashMap<>(codeMap));
session.setAttribute("userSeq", loginUser.getUserSeq());
session.setAttribute("userOrgan", loginUser.getOgCd());
session.setAttribute("belongValue", belongValue);
}

View File

@ -7,6 +7,7 @@ import org.apache.catalina.ha.session.DeltaManager;
import org.apache.catalina.ha.session.JvmRouteBinderValve;
import org.apache.catalina.ha.tcp.ReplicationValve;
import org.apache.catalina.ha.tcp.SimpleTcpCluster;
import org.apache.catalina.tribes.Channel;
import org.apache.catalina.tribes.group.GroupChannel;
import org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor;
import org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor;
@ -23,7 +24,6 @@ import org.springframework.stereotype.Component;
@Component
public class TomcatClusterContextCustomizer implements TomcatContextCustomizer {
/*
@Value("${tomcat.cluster.static-member-host:}")
private String staticMemberHost;
@ -35,14 +35,11 @@ public class TomcatClusterContextCustomizer implements TomcatContextCustomizer {
private String receiverAddress;
@Value("${tomcat.cluster.receiver-port:}")
private Integer receiverPort;
@Value("${tomcat.cluster.receiver-max-threads:}")
private Integer receiverMaxThreads;
*/
@Override
public void customize( final Context context ) {
context.setDistributable(true);
// BackupManager manager = new BackupManager();
DeltaManager manager = new DeltaManager();
manager.setExpireSessionsOnShutdown(false);
manager.setNotifyListenersOnReplication(true);
@ -53,9 +50,8 @@ public class TomcatClusterContextCustomizer implements TomcatContextCustomizer {
private void configureCluster(Engine engine) {
//cluster setting
SimpleTcpCluster cluster = new SimpleTcpCluster();
/*
cluster.setChannelStartOptions(3);
cluster.setChannelSendOptions(8);
cluster.setChannelStartOptions(Channel.SND_RX_SEQ|Channel.SND_TX_SEQ);
cluster.setChannelSendOptions(Channel.SEND_OPTIONS_ASYNCHRONOUS);
//channel setting
GroupChannel channel = new GroupChannel();
@ -72,13 +68,13 @@ public class TomcatClusterContextCustomizer implements TomcatContextCustomizer {
//receiver(현재 자신의 정보)
NioReceiver receiver = new NioReceiver();
receiver.setAddress(receiverAddress);
receiver.setMaxThreads(receiverMaxThreads);
receiver.setMaxThreads(6);
receiver.setPort(receiverPort);
channel.setChannelReceiver(receiver);
channel.addInterceptor(interceptor);
*/
cluster.setChannelSendOptions(6);
channel.addInterceptor(interceptor);
/* cluster.setChannelSendOptions(6);
//channel
GroupChannel channel = new GroupChannel();
@ -96,6 +92,7 @@ public class TomcatClusterContextCustomizer implements TomcatContextCustomizer {
receiver.setMaxThreads(6);
receiver.setPort(5000); // TCP port 오픈 필요
channel.setChannelReceiver(receiver);
*/
//sender
ReplicationTransmitter sender = new ReplicationTransmitter();

View File

@ -16,7 +16,7 @@ import java.util.Comparator;
@DynamicUpdate
@Table(name = "code_mgt")
@IdClass(CodeMgt.CodeMgtId.class)
public class CodeMgt {
public class CodeMgt implements Serializable{
@Id
@Column(name = "category_cd")
private String categoryCd;

View File

@ -8,6 +8,7 @@ import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.*;
import java.io.Serializable;
import java.util.List;
@Getter
@ -17,7 +18,7 @@ import java.util.List;
@DynamicInsert
@DynamicUpdate
@Table(name = "menu_mgt")
public class MenuMgt extends BaseModel {
public class MenuMgt extends BaseModel implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "menu_key")

View File

@ -2,19 +2,18 @@
server.error.whitelabel.enabled=false
server.error.path=/errors
logging.level.org.apache.tomcat: DEBUG
logging.level.org.apache.catalina: DEBUG
#tomcat
tomcat.ajp.protocol=HTTP/1.1
#tomcat.ajp.protocol=AJP/1.3
logging.level.org.apache.tomcat: DEBUG
logging.level.org.apache.catalina: DEBUG
tomcat.cluster.enabled=true
tomcat.cluster.static-member-host=172.80.0.4
tomcat.cluster.static-member-port=4042
tomcat.cluster.static-member-port=4040
tomcat.cluster.static-member-unique-id={0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2}
tomcat.cluster.receiver-address=172.80.0.3
tomcat.cluster.receiver-port=4040
tomcat.cluster.receiver-max-threads=4
#file upload
spring.servlet.multipart.location=/docker/faisp/uploadFiles

View File

@ -2,19 +2,18 @@
server.error.whitelabel.enabled=false
server.error.path=/errors
logging.level.org.apache.tomcat: DEBUG
logging.level.org.apache.catalina: DEBUG
#tomcat
tomcat.ajp.protocol=HTTP/1.1
#tomcat.ajp.protocol=AJP/1.3
logging.level.org.apache.tomcat: DEBUG
logging.level.org.apache.catalina: DEBUG
tomcat.cluster.enabled=true
tomcat.cluster.static-member-host=172.80.0.3
tomcat.cluster.static-member-port=4040
tomcat.cluster.static-member-unique-id={0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}
tomcat.cluster.receiver-address=172.80.0.4
tomcat.cluster.receiver-port=4042
tomcat.cluster.receiver-max-threads=4
tomcat.cluster.receiver-port=4040
#file upload
spring.servlet.multipart.location=/docker/faisp/uploadFiles

View File

@ -17,7 +17,7 @@ spring.servlet.multipart.location=/backup/faisp/uploadFiles
spring.servlet.multipart.max-file-size=200MB
spring.servlet.multipart.max-request-size=500MB
site.domain=10.187.58.12
site.domain=http://10.187.58.12
clipReport.print.url=http://10.187.58.47:8085/ClipReport5
search.engine.default=http://10.187.58.49:7577
search.engine.suggest=http://10.187.58.49:7614

View File

@ -7,7 +7,7 @@ tomcat.ajp.protocol=AJP/1.3
tomcat.cluster.enabled=true
tomcat.cluster.static-member-host=10.187.58.47
tomcat.cluster.static-member-port=4040
tomcat.cluster.static-member-unique-id={0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2}
tomcat.cluster.static-member-unique-id={0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}
tomcat.cluster.receiver-address=10.187.58.48
tomcat.cluster.receiver-port=4042
tomcat.cluster.receiver-max-threads=4
@ -17,7 +17,7 @@ spring.servlet.multipart.location=/backup/faisp/uploadFiles
spring.servlet.multipart.max-file-size=200MB
spring.servlet.multipart.max-request-size=500MB
site.domain=10.187.58.12
site.domain=http://10.187.58.12
clipReport.print.url=http://10.187.58.48:8085/ClipReport5
search.engine.default=http://10.187.58.50:7577
search.engine.suggest=http://10.187.58.50:7614