zoukankan      html  css  js  c++  java
  • JBoss Seam 中用于定义组件的注解

    用于定义组件的注解

    注解

    用法

    说明

    @Name

    @Name("componentName")

    为一个类定义一个Seam组件。所有Seam组件都需要这个注解。

    @Scope

    @Scope(ScopeType.CONVERSATION)

    ScopeType为枚举:

    EVENT

    PAGE

    CONVERSATION

    SESSION

    BUSINESS_PROCESS

    APPLICATION

    STATELESS

    定 义默认的组件上下文。当范围没有显式定义时,默认的范围取决于组件的类型。对于无状态会话Bean,默认是STATELESS;对于Entity Bean和Stateful Session Bean,默认是CONVERSATION;对于JavaBean,默认是EVENT。

    @Role

    @Role(name="roleName",scope=ScopeType.SESSION)

    name:上下文变量名字。

    scope:上下文变量的作用域。和@Scope一样。

    允许一个Seam组件绑定多个上下文变量。@Name/@Scope注解定义一个”默认角色“。每一个@Role注解定义一个附加角色。

    @Roles

    @Roles({

      @Role(name="user",scope=ScopeType.SESSION),

      @Role(name="currUser",scope=ScopeType.CONVERSARION)

    })

    允许指定多个额外角色。

    @BypassInterceptors

    @BypassInterceptors

    取消在特定组件或一个组件方法上的所有拦截器。

    @JndiName

    @JndiName("my/jndi/name")

    Seam查找EJB组件的JNDI名。如果没有显式指定JDNI名,Seam将使用由org.jboss.seam.core.init.jndiPattern指定的JNDI模式。

    @Conversational

    @Conversational

    声明一个对话作用域组件是对话式的,亦即只有长期运行的对话处于活动状态时,组件中的方法才可以被调用。

    @Startup

    @Scope(APPLICATION) @Startup(depends="org.jboss.seam.bpm.jbpm")

    depends:依赖于,指定在此之前必须启动的命名组件(如果已安装)

    指定某个Application Scope组件在初始化时立即启动。它主要用于特别的内置组件,用于引导象JNDI,数据源等等关键性的设施。

    @Scope(SESSION) @Startup

    指定某个Session Scope组件在Session建立时立即启动。

    @Install

    @Install(false)

    指定组件是否应该被默认安装。没有@Install注解表明该组件应该被安装。

    @Install(dependencies="org.jboss.seam.bpm.jbpm")

    如果指定的依赖组件被安装,那么该组件才被安装。

    @Install(genericDependencies=ManageQueneSender.class)

    如果指定的类的某个实现组件被安装,那么该组件才安装。当无法确认依赖组件的唯一公开名时,这就有用了。

    @Install(classDependencies="org.hibernate.Session")

    如果指定的类在Classpath中,那么该组件才安装。

    @Install(precedence=BUILT_IN)

    指定组件的优先级别。如果具有相同名字的多个组件存在,具有高优先级才被安装,

    定义的优先级别是

    BUILT_IN:所有内置的Seam组件的优先级别

    FRAMEWORK:用于扩展Seam的框架组件的优先级别

    APPLICATION:应用程序的组件优先级别(默认优先级)

    DEPLOYMENT:在特定部署中重载应用程序组件的组件优先级别

    MOCK:在测试时MOCK对象使用的优先级别

    @Synchronized

    @Synchronized(timeout=1000)

    如果组件被多个客户端并发访问,Seam应该串行化请求。如果一个请求在给定的时间段内没有得到组件的锁,将抛出一个例外。

    @Readonly

    @Readonly

    声明JavaBean组件或者组件方法在调用结束时不要求状态复制。

    @AutoCreate

    @AutoCreate

    声明组件将被自动建立,即使客户端不定义create=true

  • 相关阅读:
    失效的Eclipse API(一)
    contiki系统分析四:内存分配
    Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
    Error about updating UI in background thread
    ubuntu 安装ssh server
    [置顶] 树链剖分小节
    [置顶] LCA的树链剖分实现
    飞天开放平台编程指南——阿里云计算的实践
    一道C#面试题
    jQuery参考实例 1.8 将前一次选择的元素集合并到当前选择的元素集中
  • 原文地址:https://www.cnblogs.com/rgbw/p/1558683.html
Copyright © 2011-2022 走看看