JBoss AS 7 部署顺序和时间安排

2024-05-06

我对一般部署顺序和具体时间安排有疑问。

我有一个 Ear 1,它通过 bean 和一些队列提供一些功能。队列在standalone.xml 中配置。另一只耳朵 2 使用 Ear1 的此服务。

所以依赖关系看起来像:ear1

因此,我将ear 2的部署结构配置为依赖于ear 1,并且部署顺序本身现在是正确的。

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <dependencies>
            <module name="deployment.ear1.ear" />
        </dependencies>
    </deployment>
</jboss-deployment-structure>

部署顺序现在是正确的,但我现在遇到的是由于(我猜)来自ear 1的未初始化bean而导致的竞争条件。

当我延迟ear2的部署时,一切正常。

有谁知道如何控制部署的时间。是否可以通过 jboss-deployment-struct.xml 不仅指定部署的顺序,还可以指定启动下一个部署所需的生命周期?

UPDATE

我尝试指定包含要使用的服务的实际 bean jar。这也行不通。看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <dependencies>
            <module name="deployment.ear1.ear.bean.jar" />
        </dependencies>
    </deployment>
</jboss-deployment-structure>

您现在可能已经知道,JBoss 7.2 中将引入耳间依赖性。
我对一个 EAR 定义由其他 EAR 使用的服务也有同样的问题。我通过完全关闭standalone.xml中的自动部署解决了这个问题:

    <subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
        <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" auto-deploy-zipped="false" auto-deploy-exploded="false"/>
    </subsystem>

并在启动 JBoss 之前在单独的线程中运行以下脚本。该脚本创建部署列表,并使用 JBoss 7 部署扫描器标记文件按指定顺序部署它们。 IE。它为第一次部署创建 .dodeploy 标记,然后等待部署,然后为第二次部署创建 .dodeploy 标记,依此类推。

#!/bin/bash
function contains() {
    local n=$#
    local value=${!n}
    for ((i=1;i < $#;i++)) {
        if [ "${!i}" == "${value}" ]; then
            echo "y"
            return 0
        fi
    }
    echo "n"
    return 1
}


DD="/home/martinv/jboss-as-7.1.1.Final/standalone/deployments"
ORDER_FILE="/home/martinv/order.txt"

echo "[MDC] Manual deployment control"
echo "[MDC] -------------------------"
echo "[MDC] Removing markers"
rm -f $DD/*.dodeploy $DD/*.isdeploying $DD/*.deployed $DD/*.failed $DD/*.undeployed $DD/*.pending $DD/*.isundeploying

APPS_ALL=( $( ls -1 $DD | grep '.ear$\|.jar$\|.war$\|.sar$' ) )

APPS_ORDER=( $( cat $ORDER_FILE ) )

echo "[MDC] ${#APPS_ALL[@]} apps in $DD: ${APPS_ALL[@]}"
echo "[MDC] Order defined for ${#APPS_ORDER[@]} apps: ${APPS_ORDER[@]}"

for APP in "${APPS_ALL[@]}"
do
    if [ $(contains "${APPS_ORDER[@]}" $APP) == "n" ]; then
        APPS_ORDER=("${APPS_ORDER[@]}" "$APP")
    fi
done

echo "[MDC] Final order of ${#APPS_ORDER[@]} apps: ${APPS_ORDER[@]}"

for APP in "${APPS_ORDER[@]}"
do
    echo "[MDC] Scheduled for deploy: $APP"
    touch "$DD/$APP.dodeploy"
    while [ ! -f "$DD/$APP.deployed" -a ! -f "$DD/$APP.failed" ]; do
        sleep 1
    done
    RESULT=`ls -1 $DD | egrep "$APP.failed|$APP.deployed"`
    echo "[MDC] Finished deploying $APP, result: $RESULT"
done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JBoss AS 7 部署顺序和时间安排 的相关文章

  • 如何修复 CI/CD 上的 SSH Webpack 构建超时 (Gitlab)

    我已经创建了与 Gitlab 的 CI CD 集成 并且在运行 CI CD 时一直拖延 webpack 和资产的最终编译 这是针对 Linux 16 04 t2 small AWS 实例的 我很好奇这是否是内存 处理器问题 尽管如果我通过
  • 没有历史记录的 Git 存储库

    是否可以拥有一个没有历史记录的 Git 存储库 例如 我工作的地方有一个本地 Git 存储库 我想将最新版本推送到生产服务器 生产服务器上不应存储任何历史记录 我怎样才能做到这一点 你可以看看命令是否git archive http git
  • 安装期间初始化 user.config 或 app.exe.config

    我正在开发一个 NET WinForms 应用程序 它依赖于 user config 来存储各种有用的设置 例如 Intranet Web 服务 URL 我们希望能够在安装过程中导入自定义初始设置 其用例是 如果一家公司想要在 100 台计
  • 迁移到 Jboss 7.0 AS 后 Firefox 和 IE 中的 ViewExpiredException

    我们的 JSF 2 0 Richfaces 4 0 应用程序在 Jboss 6 0 上运行得非常好 我们正在尝试将其迁移到 Jboss 7 0 AS 对于我们点击页面上的任何链接 我们在 Firefox 和 IE 中遇到 ViewExpir
  • 在 SPSS 18 中指定相对路径

    在 SPSS 11 中可以指定相对路径 例子 FILE HANDLE myfile data current txt LRECL 533 DATA LIST FILE myfile 这之所以有效 是因为 SPSS 11 将工作文件夹设置为源
  • .NET 应用程序无法启动和接收 XamlParseException

    我编写了一个可以在我的开发 PC Windows 7 上安装和运行的应用程序 开发环境 Window 7 VS2010 WPF C 两者都有 NET 4 and NET 3 5已安装 在其他客户端计算机 XP SP3 2和1 上 安装没有错
  • 部署应用程序时无需取消部署前一个应用程序并且无需停机?

    我在 Web 应用程序中使用 Glassfish Java 和 JSP over MySQL 许多在线用户使用此网络应用程序 该网站不应关闭 当我想要部署一个新的 war 文件时 我应该在服务器上为我的应用程序取消部署并部署新的战争文件 我
  • 构建和部署之间的区别?

    和有什么区别build and deploy and re deploy 当你只有一些时应该做什么HTML变化和没有Java代码改变 我应该做一个build and deploy或者只是一个re deploy 免责声明 定义构建和部署的含义
  • 在 Java EE 应用程序开发中使用 Docker

    我将添加300点作为赏金 我最近开始仔细研究 Docker 以及如何使用它来更快地让团队的新成员启动并运行开发环境 以及将新版本的软件交付到生产环境 我有一些关于如何以及在什么阶段将 Java EE 应用程序添加到容器的问题 据我所知 有多
  • gcloud 部署应用程序找不到导入包 - golang

    我已经将应用程序的一个版本部署到 GAE 但现在部署新版本时遇到问题 当我尝试时gcloud app deploy version VERSION 我收到一堆错误 显示远程构建找不到我的导入包 Beginning deployment of
  • app_offline.htm 文件不起作用

    我已经为此奋斗了很多年 但我就是无法让它发挥作用 我去过的每个博客 网站都说您无需在 IIS 中执行任何操作 但这并不正确 因为有多个网站配置 例如应用程序 虚拟目录 简单的 php asp 网站 虚拟网站 有人可以向我解释一下 IIS7
  • 如何在Windows上启动JBoss AS 7.1.1?

    我是新来的JBOSS 我下载了jboss as 7 1 1 Final zip并解压缩该 zip 文件 然后我转到 bin 文件夹并双击standalone bat 但新的 cmd 窗口在 2 3 秒内打开和关闭 我尝试通过cmd启动服务器
  • JBoss AS 7 部署顺序和时间安排

    我对一般部署顺序和具体时间安排有疑问 我有一个 Ear 1 它通过 bean 和一些队列提供一些功能 队列在standalone xml 中配置 另一只耳朵 2 使用 Ear1 的此服务 所以依赖关系看起来像 ear1 因此 我将ear 2
  • JBoss AS 5 中的共享库应该放在哪里?

    我是 Jboss 新手 但我有多个 Web 应用程序 每个应用程序都使用 spring hibernate 和其他开源库和 portlet 所以基本上现在每个 war 文件都包含这些 jar 文件 如何将这些 jar 移动到一个公共位置 以
  • Rails 3.1 和 Asset Pipeline:使用 Capistrano 进行部署时遇到的问题

    我刚刚从 Ruby on Rails 3 0 10 切换到 3 1 0 我想使用 Capistrano gem 部署我的资产文件 我的本地计算机是运行 Snow Leopard 的 MacO 我的远程计算机运行的是 Ubuntu 10 04
  • 在 VS2010 中发布时 SVsBuildManagerAccessor 失败

    我的 VS 2010 有问题 我无法发布任何项目 我收到错误 获取 SVsBuildManagerAccessor 服务失败 一段时间以来我一直在尝试解决这个问题 奇怪的是 在这种情况开始发生的同时 我也开始遇到 sql server ma
  • Hibernate 在使用序列时生成负 id 值

    我有一个具有以下定义的类 Id SequenceGenerator name SEQ ACE WORKERS QUEUE STATS ID sequenceName SEQ ACE WORKERS QUEUE STATS ID alloca
  • PHP的部署工具

    大家好 我有一个 PHP 项目 我需要一个进行部署的工具 我找到了 Deployer 一个 PHP 的部署工具 您对此有何看法和经验 Regards Deployer 是一个不错的选择 它有简单的 api 有很多流行框架和应用程序的配方 并
  • 启动 jboss 服务器时出错

    我刚刚完成重新安装我的操作系统 并像往常一样安装和测试我使用的标准工具 现在当我尝试从 eclipse 启动 Jboss 5 时 我遇到了这个前所未有的错误 这是一个很大的例外 3 53 10 693 ERROR AbstractKerne
  • 如何在 Azure 中仅部署辅助角色/Web 角色

    如果您在 Azure 解决方案中拥有 Web 和辅助角色 那么所有等待发布更新包 上传到云存储 等待包部署的过程可能会让人筋疲力尽 浪费大量时间 如何仅上传 部署包含这两个角色的 Microsoft Azure 解决方案的辅助角色或 Web

随机推荐

  • 在java中使用共享密钥加密/解密?

    我有客户令牌 我正在从一个 Web 应用程序 如 app1 发送到另一个 Web 应用程序 如 app2 我想加密客户令牌 在 app1 上 并使用在 app1 和 app2 上共享的密钥在 app2 上对其进行解密 我不知道如何开始 这将
  • 如何跟踪用户在我的 Android 应用程序上花费了多少时间?

    我想跟踪用户在我的 Android 应用程序上花费了多少时间 当用户在应用程序上处于活动状态时 我可以获取以小时为单位的时间吗 它会自动跟踪 Note 应用程序不在 Google Play 上 此代码将帮助您获取应用程序使用时间 long
  • 在 Inno Setup 中实现脚本常量时出现“预期标识符”或“原型无效”

    因此 鉴于此功能 我在GetRoot ROOTPage Values 0 线 我希望它告诉我ROOTPage没有定义 const DefaultRoot C IAmGRoot Var ROOTPage TInputQueryWizardPa
  • Java无限信号量

    想知道如何not使用信号量限制连接 或任何东西 所以你可能会想 这听起来很愚蠢 但是 它稍微简化了我的代码 因为它让我可以统一处理有限和无限的情况 请注意 我并不是在寻找有关如何编写类似内容的建议 if limited semaphore
  • K&R 之后用什么书来学习纯 C 编程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • JS jQuery - 检查值是否在数组中

    我更喜欢 PHP 而不是 JS 我认为我的问题更多是语法问题 我有一个小的 jQuery 来 验证 并检查输入值 它适用于单个单词 但我需要数组 我正在使用inArray jQuery 的 var ar value1 value2 valu
  • Android Vector Drawable 不支持。如何修复它?

    尝试从 AndroidStudio 2 2 Ubuntu 14 04 的本地 svg 文件生成矢量资源时出现此错误 Could not generate a preview In icon svg ERROR line 6
  • 在Application_Start中访问ninject内核

    我正在使用 Ninject 和随 nuget 安装的 MVC3 扩展 我的内核设置代码位于 App Start NinjectMVC3 cs 文件中 控制器中的一切都运行良好 但我无法弄清楚如何 正确 绑定 Global asax cs M
  • 将 JS 文件导入 Typescript

    我正在考虑转向 Typescript 目前正在考虑慢慢地 如果可能的话 逐个文件地执行此操作 现在我目前拥有的系统是用 Webpack 构建的 我想继续这个来构建我的整个包 我有一个用于定义的 d ts 文件 但我需要继续导入当前引发错误的
  • PHP 错误:php_network_getaddresses:getaddrinfo 失败:(从其他站点获取信息时。)

    尝试从外部源获取信息时 我收到以下错误 Warning php network getaddresses getaddrinfo 失败 第 行名称解析暂时失败 昨天一切都很好 那么这个脚本发生了什么 它不起作用并给我上面的错误 有什么解决方
  • 将 sudo 与 Python 脚本结合使用

    我正在尝试编写一个小脚本来在每次执行脚本时安装 VirtualBox 共享文件夹 我想用Python 来做这件事 因为我正在尝试学习它来编写脚本 问题是我需要特权才能启动挂载命令 我可以将脚本作为 sudo 运行 但我更喜欢它自己创建 su
  • Powershell“Set-PSDebug -Trace 2”导致意外结果

    我遇到一个奇怪的问题 在设置 Set PSDebug Trace 2 时出现不同的行为 我追踪到 switch 语句未正确执行 并且能够在 Powershell V3 上重现它 但不能在 Powershell V2 或 Powershell
  • 当存在多个字段分隔符时使用 AWK 忽略字段内的逗号

    我想像下面这样解析 CSV 记录awk or gawk 这些字段以逗号分隔 但最后一个字段 6 很特殊 因为它确实由子字段组成 这些子字段由 作为字段分隔符 或者 准确地说 分隔 这本身不是问题 我可以使用awk F 设置替代字段分隔符 但
  • 在所有布局方法之后调用哪个 Activity 方法?

    我需要做一些事情Activity调用所有布局方法后 所有Views 已就位并且Activity已准备好显示 哪种方法可以做到这一点 如果你想获得视图的宽度或其他东西 这应该有效 将其添加到您的 Activity 的 onCreate 中 V
  • WCF:Per-Call 和 Per-Session 服务...需要说服 Per-Call 是值得的

    我们目前正在审查 WCF 服务设计 困扰我的一件事是 Per Call 和 Per Session 服务之间的决定 我相信我理解两者背后的概念 但我并没有真正看到按呼叫服务的优势 我知道使用 Per Call 服务的动机是 WCF 服务仅在
  • 给 NSWindow 一个背景图片

    好的 我已经在 Photoshop 中创建了一个图像 该图像将与我的应用程序上的按钮对齐 现在我想将其作为窗口的背景图像 以便图像上的字符将对应于我的应用程序上的按键应用程序 我一直在开发的一个小型计算器演示应用程序 基本上 我没有给按钮提
  • 多线程:只有在执行完其他方法后才调用执行方法

    我正在尝试根据要求异步处理方法 一旦第一个方法完成 只有第二个方法应该开始执行 问题是第一个方法本身具有在后台线程上运行的代码 我尝试了dispatch semaphore wait 但这也不起作用 dispatch queue t que
  • 链接“let”语句时使用“and”还是“in”更好?

    我意识到这可能是一个愚蠢的问题 但是 如果我把一堆let不需要需要了解彼此价值观的语句 使用是否更好and or in 例如 以下哪一个更可取 如果有 let a foo and b bar and c baz in etc or let
  • Android 列表视图布局 类似于 Google play

    我想实现一个类似于 Google Play 的列表布局 其中每个行都有菜单 请帮助我创建这个 我是否需要创建一个弹出菜单或者有任何选项可以实现此目的 Thanks 看起来您正在尝试完全按照图中所示的方式进行操作 我只是举一个例子来说明我如何
  • JBoss AS 7 部署顺序和时间安排

    我对一般部署顺序和具体时间安排有疑问 我有一个 Ear 1 它通过 bean 和一些队列提供一些功能 队列在standalone xml 中配置 另一只耳朵 2 使用 Ear1 的此服务 所以依赖关系看起来像 ear1 因此 我将ear 2