我正在开发一个基于JSF 2.0的Web应用程序.我正在尝试实现一个全局异常处理程序,它会在发生任何异常时将用户重定向到一般错误页面(例如NullPointerException,ServletException,ViewExpiredException等)
每当我的应用程序中出现NPE时,我的customnavhandler断点被命中并且执行了NavigationHandler代码,但不知何时重定向到错误页面,请求的页面仍然部分呈现.知道这里有什么不对吗?一个信息是我故意在所请求的页面上抛出一个NPE(在NPE之后部分呈现)
我的faces-config.xml条目
<factory>
<exception-handler-factory>
com.common.exceptions.CustomExceptionHandlerFactory
</exception-handler-factory>
</factory>
Run Code Online (Sandbox Code Playgroud)
我的CustomNavHandler
public class CustomExceptionHandler extends ExceptionHandlerWrapper {
private static final Logger logger = Logger.getLogger("com.gbdreports.common.exception.CustomExceptionHandler");
private final ExceptionHandler wrapped;
public CustomExceptionHandler(ExceptionHandler wrapped) {
this.wrapped = wrapped;
}
@Override
public ExceptionHandler getWrapped() {
return this.wrapped;
}
public void handle() throws FacesException {
final Iterator<ExceptionQueuedEvent> i = getUnhandledExceptionQueuedEvents().iterator();
while (i.hasNext()) {
ExceptionQueuedEvent event = i.next();
ExceptionQueuedEventContext context =
(ExceptionQueuedEventContext) event.getSource();
// get the exception from context
Throwable t = context.getException();
final FacesContext fc = …Run Code Online (Sandbox Code Playgroud) 我有一个入口控制器和入口资源运行,所有/ devops都映射到后端的devopsservice。当我尝试点击“ http:// hostname / devops ”时,一切正常,我得到了一个页面(尽管没有CSS和样式),其中包含一组超链接,例如其中的一个是“ logs”。
当我单击“日志”超链接时,它会将我重定向到http:// hostname / logs,而我需要它是http:// hostname / devops / logs。
知道我能做什么吗?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
namespace: ingress-nginx
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/add-base-url : "true"
spec:
rules:
- host: master1.dev.local
http:
paths:
- backend:
serviceName: devops1
servicePort: 10311
path: /devops
Run Code Online (Sandbox Code Playgroud) 有没有办法在我的剧本中的“调试”语句中将ansible日期转换为不同的时区?我不想在剧本级别设置全球时区。我有这个 :
debug:
msg: "{{ '%Y-%m-%d %H:%M:%S' | strftime(ansible_date_time.epoch) }}"
Run Code Online (Sandbox Code Playgroud)
这工作正常,但显示 UTC 时间。我需要在 EDT 中显示时间,而不需要在全局剧本级别设置时区。我该如何做到这一点?