Spring의 ApplicationContext를 획득할 수 있는 provider 추가
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package com.nexacro.spring.context;
|
||||
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
|
||||
/**
|
||||
* Spring의 Bean을 획득하기 위한 ApplicationContext를 제공한다.
|
||||
* @author Park SeongMin
|
||||
*
|
||||
*/
|
||||
public class ApplicationContextProvider implements ApplicationContextAware {
|
||||
|
||||
// 참고 URL
|
||||
// http://blog.jdevelop.eu/?p=154
|
||||
|
||||
@Override
|
||||
public void setApplicationContext(ApplicationContext applicationContext)
|
||||
throws BeansException {
|
||||
// ApplicationContext가 초기화 된 후 호출 된다.
|
||||
SpringAppContext.getInstance().setApplicationContext(applicationContext);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.nexacro.spring.servlet;
|
||||
package com.nexacro.spring.context;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.nexacro.spring.servlet;
|
||||
package com.nexacro.spring.context;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -0,0 +1,60 @@
|
||||
package com.nexacro.spring.context;
|
||||
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReadWriteLock;
|
||||
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
||||
|
||||
import org.springframework.context.ApplicationContext;
|
||||
|
||||
public class SpringAppContext {
|
||||
|
||||
/*
|
||||
* @autowired 자동처리 시에는 아래와 같이 처리 하면 된다.
|
||||
*
|
||||
* ApplicationContext ctx = AppContext.getApplicationContext();
|
||||
* Honeypotbean honey = ctx.getBean(HoneyPotBean.class);
|
||||
*
|
||||
*/
|
||||
public final static SpringAppContext INSTANCE = new SpringAppContext();
|
||||
private final ReadWriteLock lock = new ReentrantReadWriteLock();
|
||||
private final Lock readLock = lock.readLock();
|
||||
private final Lock writeLock = lock.writeLock();
|
||||
|
||||
private ApplicationContext ctx;
|
||||
|
||||
private SpringAppContext() {
|
||||
}
|
||||
|
||||
public static SpringAppContext getInstance() {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Injected from the class “ApplicationContextProvider” which is
|
||||
* automatically loaded during Spring-Initialization.
|
||||
*/
|
||||
public void setApplicationContext(ApplicationContext applicationContext) {
|
||||
writeLock.lock();
|
||||
try {
|
||||
this.ctx = applicationContext;
|
||||
} finally {
|
||||
writeLock.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get access to the Spring ApplicationContext from everywhere in your
|
||||
* Application.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public ApplicationContext getApplicationContext() {
|
||||
readLock.lock();
|
||||
try {
|
||||
return this.ctx;
|
||||
} finally {
|
||||
readLock.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,7 +8,7 @@ public class ExceptionTracer {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ExceptionTracer.class);
|
||||
|
||||
public void trace(Exception exception) throws Exception {
|
||||
LOGGER.error(exception.getMessage());
|
||||
LOGGER.error(exception.getMessage(), exception);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -22,14 +22,14 @@ import org.springframework.web.method.support.ModelAndViewContainer;
|
||||
import com.nexacro.spring.NexacroConstants;
|
||||
import com.nexacro.spring.annotation.ParamDataSet;
|
||||
import com.nexacro.spring.annotation.ParamVariable;
|
||||
import com.nexacro.spring.context.NexacroContext;
|
||||
import com.nexacro.spring.context.NexacroContextHolder;
|
||||
import com.nexacro.spring.data.NexacroFirstRowHandler;
|
||||
import com.nexacro.spring.data.convert.ConvertDefinition;
|
||||
import com.nexacro.spring.data.convert.NexacroConvertException;
|
||||
import com.nexacro.spring.data.convert.NexacroConvertListener;
|
||||
import com.nexacro.spring.data.convert.NexacroConverter;
|
||||
import com.nexacro.spring.data.convert.NexacroConverterFactory;
|
||||
import com.nexacro.spring.servlet.NexacroContext;
|
||||
import com.nexacro.spring.servlet.NexacroContextHolder;
|
||||
import com.nexacro.xapi.data.DataSet;
|
||||
import com.nexacro.xapi.data.DataSetList;
|
||||
import com.nexacro.xapi.data.PlatformData;
|
||||
|
||||
@@ -21,7 +21,7 @@ import com.nexacro.spring.data.convert.NexacroConvertListener;
|
||||
* 2015. 8. 9. Park SeongMin 최초 생성
|
||||
* </pre>
|
||||
*/
|
||||
|
||||
@Deprecated
|
||||
public class NexacroWebSecurityListener implements NexacroConvertListener {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -28,7 +28,7 @@ import com.nexacro.xapi.data.VariableList;
|
||||
* 2015. 8. 11. Park SeongMin 최초 생성
|
||||
* </pre>
|
||||
*/
|
||||
|
||||
@Deprecated
|
||||
public abstract class SecurityUtil {
|
||||
|
||||
public static void checkSecurity(PlatformData platformData) throws SecurityException {
|
||||
|
||||
@@ -10,6 +10,8 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
|
||||
|
||||
import com.nexacro.spring.NexacroConstants;
|
||||
import com.nexacro.spring.context.NexacroContext;
|
||||
import com.nexacro.spring.context.NexacroContextHolder;
|
||||
import com.nexacro.xapi.data.Debugger;
|
||||
import com.nexacro.xapi.data.PlatformData;
|
||||
import com.nexacro.xapi.tx.HttpPlatformRequest;
|
||||
|
||||
@@ -11,10 +11,10 @@ import org.springframework.util.StopWatch;
|
||||
import org.springframework.web.servlet.view.AbstractView;
|
||||
|
||||
import com.nexacro.spring.NexacroConstants;
|
||||
import com.nexacro.spring.context.NexacroContext;
|
||||
import com.nexacro.spring.context.NexacroContextHolder;
|
||||
import com.nexacro.spring.data.NexacroFirstRowAccessor;
|
||||
import com.nexacro.spring.data.NexacroFirstRowHandler;
|
||||
import com.nexacro.spring.servlet.NexacroContext;
|
||||
import com.nexacro.spring.servlet.NexacroContextHolder;
|
||||
import com.nexacro.spring.util.NexacroUtil;
|
||||
import com.nexacro.xapi.data.DataSet;
|
||||
import com.nexacro.xapi.data.DataSetList;
|
||||
|
||||
Reference in New Issue
Block a user