接缝会起火不同类型的事件 http://docs.jboss.org/seam/latest/reference/en-US/html/events.html#d0e5252与特定范围、任务或流程相关,并将范围、任务或流程的名称附加到事件末尾。
如何监听某个类型的所有事件?
例如。对于任何<name>
我想听听诸如此类的事件:
-
org.jboss.seam.createProcess.<name>
——进程创建时调用
-
org.jboss.seam.endProcess.<name>
— 进程结束时调用
-
org.jboss.seam.initProcess.<name>
— 当进程与对话关联时调用
-
org.jboss.seam.startTask.<name>
— 任务开始时调用
-
org.jboss.seam.endTask.<name>
— 任务结束时调用
我需要这样做尽管不知道有效名称列表前面...:-(
我希望使用 @Observer 来创建观察者或类似的东西,并且我将在同一组件中监听最多两个事件类。
您可以通过用您自己的实现替换 Seam 的 Events 类来轻松地做到这一点。然后查找以特定字符串开头引发的事件:
@Scope(ScopeType.STATELESS)
@BypassInterceptors
@Name("org.jboss.seam.core.events")
@Install(precedence=APPLICATION)
public class Events extends org.jboss.seam.core.Events
{
@Override
public void raiseEvent(String type, Object... parameters )
{
super.raiseEvent( type, parameters );
if ( type.startsWith( "org.jboss.seam.createProcess" ) )
{
super.raiseEvent( "org.jboss.seam.createProcess", parameters );
}
//etc.
}
}
您现在可以观察“org.jboss.seam.createProcess”来获取所有createProcess 事件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)