$wsdown
$wcfg
$wscfl -i http.m
$wsboot
wsadmin -v
$wsadmin
#si
$wsadmin
#si
WEB:/HOME1/tmax> wsadmin
--- Welcome to WebtoB Admin (Type "quit" to leave) ---
$$1 WEB (wsadm) [2017/04/10:21:27:35]: si
장애 : NRDY
------------------------------------------------------------------------------------------
hth svrname (svri) status reqs count cqcnt aqcnt qpcnt emcnt rscnt rbcnt
------------------------------------------------------------------------------------------
0 html ( 0) RDY 48061630 48061617 0 1600 0 0 0 0
0 MyGroup1 ( 1) RDY 6249975 6248700 0 22762 0 0 0 0
0 ssl_html ( 2) RDY 13972155 13972154 0 468 0 0 0 0
0 sslGroup ( 3) RDY 3195538 3195418 0 0 0 0 0 0
0 mobileGroup ( 4) RDY 1442231 1437903 0 47322 0 0 0 0
0 esvGroup ( 5) RDY 0 0 0 0 0 0 0 0
0 kncapGroup ( 6) RDY 1901708 1901701 0 187264 0 0 0 0
0 carGroup ( 7) RDY 92571885 92571882 0 0 0 0 0 0
0 ssl_carGroup ( 8) RDY 17727 17726 0 0 0 0 0 0
2017년 4월 12일 수요일
중복로그인 방지
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.List;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class SessionCheck {
private static SessionCheck sessionManager ;
//private static Thread sessionThread;
Hashtable<String, SessionUser> accessUserList = new Hashtable<String, SessionUser>();
//private boolean isRunning = false;
private SessionCheck() {
}
public static SessionCheck getInstance() {
if(sessionManager == null) {
sessionManager = new SessionCheck();
}
/*if(sessionThread == null){
sessionThread = new Thread( sessionManager);
sessionThread.start();
}
*/
return sessionManager;
}
/*
public void run() {
System.out.println("Session Check start.......");
try {
while(true) {
System.out.println("Session Check Begin....");
sessionCheckProc();
isRunning= true;
System.out.println("Session Check End....");
Thread.sleep(20000);
}
} catch (Exception e) {
} finally {
System.out.println("Session Check Terminated....");
isRunning = false;
}
}*/
/*
private void sessionCheckProc() {
// TODO Auto-generated method stub
// 30분 초과 접속시 모두로그아웃 시킴
Enumeration e = accessUserList.keys();
while(e.hasMoreElements()) {
String uid = (String)e.nextElement();
SessionUser user = (SessionUser)accessUserList.get(uid);
System.out.println( System.currentTimeMillis() - user.getLastAccessMiles() );
if( System.currentTimeMillis() - user.getLastAccessMiles() > 30000) {
// logout target
accessUserList.remove(uid);
System.out.println("Thread Remove user :"+uid);
}
}
}
*/
/**
*로그인을 시도 하였을 때 기존 로그인 정보를 삭제한다.
*새로 로그인 된 정보를 입력하여 처리한다.
* @param uid
*/
public void doLogin(String uid, String uname, String ipaddr, HttpSession session) {
SessionUser user = accessUserList.get(uid);
// 다른곳에서로그인 되어 있거나 , 세션이 끊어지지 않았다면 세션을 종료 시킨다.
if(user != null) {
try{
user.getSession().invalidate();
}catch(Exception e){
}
System.out.println("Remove user :"+uid);
accessUserList.remove(uid);
}
SessionUser newUser = new SessionUser();
newUser.setLastAccessMiles(System.currentTimeMillis());
newUser.setIpAddress(ipaddr);
newUser.setUserNm(uname);
newUser.setUserId(uid);
newUser.setSession(session);
System.out.println("Login comp ==>"+uid);
accessUserList.put(uid, newUser);
}
public boolean isLogin(String uid, String ip, String SESSION_ID) {
SessionUser user = accessUserList.get(uid);
if(user == null)
return false;
// 세션아이디 및 접속 아이피가 동일하여야 함.
if(user.getIpAddress().equals(ip) && user.getSessionId().equals(SESSION_ID)) {
// 최종 접속시간을 변경하여 준다.
user.setLastAccessMiles(System.currentTimeMillis());
return true;
}
return false;
}
public static String getJSessionID(HttpServletRequest request) {
Cookie[] cookies = request.getCookies();
try {
for(int i=0; i<cookies.length; i++) {
String cname = cookies[i].getName();
String value = cookies[i].getValue();
if(cname.toUpperCase().equals("JSESSIONID"))
return cookies[i].getValue();
}
} catch (Exception e) {
}
return null;
}
public List<SessionUser> getLoginUsers() {
List<SessionUser> users = new ArrayList<SessionUser>();
Enumeration e = accessUserList.keys();
while(e.hasMoreElements()) {
String uid = (String)e.nextElement();
SessionUser user = accessUserList.get(uid);
System.out.println(user.getUserId()+" "+user.getLastAccessMiles());
users.add(user);
}
Collections.sort(users);
return users;
}
}
피드 구독하기:
글 (Atom)