创建托管执行程序服务

托管执行程序服务由应用程序用于异步执行已提交任务。任务在由容器启动和管理的线程上执行。容器的上下文将传播到执行任务的线程。

在 GlassFish Server 中,可以配置托管的执行程序服务资源并使资源可供应用程序组件使用,例如 Servlet 和 EJB。

  1. 在导航树中,展开“资源”节点。

  2. 在“资源”节点下,展开“并发资源”节点。

  3. 在“并发资源”节点下,选择“托管执行程序服务”。

    此时将打开“托管执行程序服务”页。

  4. 在“托管执行程序服务”页上,单击“新建”。

    此时将打开“新建托管执行程序服务”页。

  5. 在“JNDI 名称”字段中,键入标识资源的唯一名称。

    JNDI 名称在 JNDI 命名服务中注册,由应用程序用于查找资源。使用 concurrent/name 格式。例如,concurrent/myManagedExecutorService。名称只能包含字母数字、下划线、短划线或点字符。

  6. 选择“启用上下文信息”复选框以将上下文传播到线程,然后选择要传播的上下文。

    默认情况下此选项已启用,并且选中所有上下文。通过按住 Shift 键单击或按住 Ctrl 键单击选择多个上下文。如果禁用了此选项,则不传播上下文,即使已选中了它们也是如此。

  7. 选择“启用状态”复选框以启用资源。

    默认情况下启用此选项,这表示资源在创建之后立即可用。

  8. 在“线程优先级”字段中,键入分配给已创建线程的优先级。

    默认值为 5。

  9. 选中“启用长时间运行任务”复选框以使用资源来运行长时间运行的任务。

    如果启用,则不将长时间运行的任务报告为粘滞。默认情况下禁用此选项。

  10. 在“挂起前时间”字段中,键入在将任务视为无响应之前任务可执行的秒数。

    默认值为 0,这表示从不将任务视为无响应。

  11. 在“说明”字段中,键入资源的简短说明。

    此说明是字符串值,最多可以包含 250 个字符。

  12. 在“核心大小”字段中,键入线程池中保留的线程数 (即使这些线程空闲)。

    提交了新任务并且正在运行线程的数量小于核心大小时,将创建新线程来处理请求。默认值为 0,表示除非任务队列已满或者资源使用了直接排队,否则从不创建新线程。任务队列容量为 0 时,或者任务队列容量为 2147483647 且核心大小为 0 时将出现直接排队。

  13. 在“最大池大小”字段中,键入线程池可以包含的最大线程数。

    默认值为 2147483647,这表示线程池实际上没有上限,可以包含任意数量的线程。

  14. 在“保持活动”字段中,键入当线程数大于核心大小时线程可以保持空闲状态的秒数。

    默认值为 60。

  15. 在“线程有效期”字段中,键入线程在被清除之前可以保留在线程池中的秒数,而无论线程数是否大于核心大小或线程是否处于空闲状态。

    默认值为 0,表示从不清除线程。

  16. 在“任务队列容量”字段中,键入可以存储在等待执行的任务队列中的已提交任务数。

    默认值为 2147483647,这表示任务队列实际上没有上限,可以存储任意数量的已提交任务。

  17. 在“其他属性”部分中,不要添加任何其他属性。

    GlassFish Server 没有为此资源类型定义任何其他属性。此外,此资源类型当前不使用任何其他属性。

  18. 单击“确定”。

另请参阅
Copyright © 2005, 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices