Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Events liferay中login.event和logout.event之间的差异_Events_Action_Hook_Liferay - Fatal编程技术网

Events liferay中login.event和logout.event之间的差异

Events liferay中login.event和logout.event之间的差异,events,action,hook,liferay,Events,Action,Hook,Liferay,我用一个类连接了这两个事件,我的问题是如何识别何时通过login.event调用该类,何时通过logout.event调用该类 我的类扩展了操作我想到的最简单的方法是:在不同的类中实现这两个事件。如果您非常希望实现在单个类中,请从action类委托给它。我也更喜欢Olaf的解决方案,即采用两个单独的类。但是,如果您对使用olny-one类有困难的要求,那么您可以尝试识别有关被调用堆栈跟踪的事件类型 private void printStackTrace() { StackTraceEl

我用一个类连接了这两个事件,我的问题是如何识别何时通过
login.event
调用该类,何时通过
logout.event
调用该类


我的类扩展了
操作

我想到的最简单的方法是:在不同的类中实现这两个事件。如果您非常希望实现在单个类中,请从action类委托给它。

我也更喜欢Olaf的解决方案,即采用两个单独的类。但是,如果您对使用olny-one类有困难的要求,那么您可以尝试识别有关被调用堆栈跟踪的事件类型

private void printStackTrace() {
    StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
    for (StackTraceElement stackTraceElement : stackTrace) {
        System.out.println(stackTraceElement.getClassName() + "." + stackTraceElement.getMethodName());
    }
}

哎哟——我无法想象这样做有什么硬性要求(我认为是有效的)。虽然技术上是正确的,但我强烈反对。但是,你已经提出了同样的建议。