@Override public IMessage getMessage(String messageCode,String[] para) { LocaleContext processContext = CurrentBlockContextThread.getContext(LocaleContext.class); Locale locale = processContext.getLocale(); if(locale==null){ locale = CommonConstant.DEFAULT_LOCALE; } return getMessage(messageCode,locale,para); }
@Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)throws IOException, ServletException { BlockContext blockContext = CurrentBlockContextThread.getBlockContext(); HttpServletRequest httpServletRequest = (HttpServletRequest) request; if(blockContext == null){ blockContext = new BlockContext(); for (Class<? extends Context> conextClass : conextClassList) { try { Context context = conextClass.newInstance(); context.load(httpServletRequest); blockContext.setContext(context); } catch (InstantiationException | IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } filterChain.doFilter(request, response); }
private <T> IProcessResult<T> addMessage(IProcessResult<T> ProcessResult) { MessageContext processContext = CurrentBlockContextThread.getContext(MessageContext.class); List<IMessage> messageOutList = new LinkedList<IMessage>(); List<IMessage> messageList = processContext.messageList(); if(messageList!=null && messageList.size()>0){ for (IMessage message : messageList) { IMessage messageOut = messageService.getMessage(message.getMessageCode(),message.getPara()); if(messageOut!=null) messageOutList.add(messageOut); } ProcessResult.setMessages(messageOutList); } return ProcessResult; }
public static <T extends Context> T getContext(Class<T> class1){ BlockContext blockContext = getBlockContext(); if(blockContext==null){ blockContext = new BlockContext(); blockContextThreadLocal.set(blockContext); } T t = blockContext.getContext(class1); if(t==null){ try { t = class1.newInstance(); blockContext.setContext(t); } catch (InstantiationException | IllegalAccessException e) { e.printStackTrace(); } } return blockContext.getContext(class1); }
public Object doAspect(ProceedingJoinPoint proceedingJoinPoint) throws Throwable { TransactionContext transactionContext = CurrentBlockContextThread.getContext(TransactionContext.class); boolean isTxnProcess = isTxnProcess(proceedingJoinPoint); try{ if(isTxnProcess) beginTxn(transactionContext); Object ss = proceedingJoinPoint.proceed(); return ss; }catch (Exception e) { if(isTxnProcess){ if(e instanceof NonRollBackException){ commitTxn(transactionContext); // }else if(e instanceof ){ // rollbackTxn(serviceContext); }else{ rollbackTxn(transactionContext); } // processContext.txnStatus = (null); } throw e; } }
FlowContext flowContext = CurrentBlockContextThread.getContext(FlowContext.class); boolean fristProcess = false; Object returnValue=null;