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 部署顺序和时间安排 的相关文章

  • WCF 客户端 - 如何处理或忽略 MustUnderstand 标头元素?

    我正在写一个WCF使用 WS Security 使用非 Net Web 服务的客户端 服务的响应包含一个 Security 标头 其中 MustUnderstand 设置为 true 使用 ServiceModelListener 我确实看
  • .NET 部署到网络共享

    我有一个 NET 3 5 应用程序 希望将其安装在客户端服务器上 并让工作站直接从网络共享运行它 我读过一些内容 似乎表明这并不像简单地将应用程序复制到网络共享那样简单 就像我对本机 exe 所做的那样 不幸的是 似乎缺乏关于正确 最佳方法
  • 如何部署经典的asp网站?

    我想知道如何部署或在 IIS 6 7 中部署经典的 asp 网站涉及哪些步骤 我们可以为现有项目创建一个安装程序吗 您应该考虑使用 Web 部署http www iis net download WebDeploy http www iis
  • Spring 从 JBoss 上下文加载 PropertySourcesPlaceholderConfigurer

    我有一个使用 PropertySourcesPlaceholderConfigurer 的 spring 3 1 应用程序加载设置 我想管理测试和生产环境 只需从服务器上下文加载设置覆盖本地文件属性中指定的设置 下一个示例在 Tomcat
  • 使用相同的代码和 git 存储库部署 2 个不同的 heroku 应用程序

    我正在尝试创建 2 个不同的 Heroku 应用程序使用相同的代码使用相同的 git 存储库 App1 是我的朋友在 Heroku 中创建的 我不是合作者 app2 是我尝试部署的同一个 git 存储库的分支 这可能吗 当我尝试将第二个应用
  • 从一台服务器到多台可配置服务器的 JNDI 查找

    我们在具有不同 IP 的不同机器上有几个 JBoss 服务器 不是集群 而是属于不同客户的单个独立 JBoss 7 1 1 实例 所有系统上都部署了完全相同的 EAR 我们尝试发送一个名为Group从一个系统到另一个系统 问题 我们尝试了一
  • 部署 dacpac 所需的权限

    我正在尝试使用 sqlpackage exe 在租户上部署 dacpac 目前 我正在向将部署此功能的帐户授予 SysAdmin 或 db owner 权限 并且它工作正常 但在生产中 如果目标租户数据库属于其他应用程序 我可能无法获得这些
  • 对于 Web 应用程序来说,您理想的 git 分支架构是什么?

    我们是一个由开发人员组成的小团队 正在构建 Web 应用程序 我们目前拥有一个实时 测试和多个开发环境 您会建议什么分支架构 以便理想情况下每个开发人员都可以处理他的功能 这些功能可以在不影响其他开发人员 功能的情况下进行测试和部署 目前
  • 如何在 JBoss 上记录 IP 地址

    我想记录呼叫我的 WS 的客户端的 IP 地址 我怎样才能在 JBoss 上做到这一点 EDIT 如果可能的话 我想在 JBOSS 上使用 log4J 配置 将以下内容附加到 log4j 配置 xml 中的转换模式参数 X RemoteAd
  • JBoss 7 中带有 HornetQ 的 JMS 队列的“持久”属性是什么意思?

    在使用 HornetQ 基于standalone full xml 配置 的 JBoss 7 上配置 JMS 队列期间 我注意到一个属性 持久 我浏览了几个来源 其中许多都表示队列始终是 持久的 这意味着消息将始终被传递 即使潜在的接收者在
  • 使用 MSBuild 和 CSPack 任务打包 Azure 角色

    我正在为 Azure Web 角色项目编写构建脚本 该脚本将在构建服务器上运行 因此使用 VS 是行不通的 我可以使用 MSBuild 构建项目并使用适用于 Azure 的 CmdLet http code msdn microsoft c
  • 如何跳过 Maven 存储库中的发布或特定模块

    Heyho 我有一个具有以下结构的 Maven 项目 parent 项目清单 API模块 module2 module5 test 分配 组装 所以首先我运行父模块 然后运行构建 api 的模块 然后运行依赖于 api 的模块 然后运行一个
  • 如何将 Spring Boot 应用程序部署到 Tomcat 6 Servlet 2.5

    我使用 Spring Boot 创建了一个常见问题解答 它需要部署到 tomcat 6 服务器 servlet 2 5 我需要配置当前的父 java 应用程序 war web xml 以将所有请求指向 url 模式 faq 例如 指向我的
  • Tomcat 热部署到托管多个应用程序的实例

    我的问题是关于部署到托管多个应用程序并托管 Struts Spring 和 Hibernate 的应用程序上下文的 Tomcat 服务器实例 我想在不重新启动 Tomcat 服务器的情况下将更改部署到一个应用程序 举个例子 在我们公司很多时
  • 将下一个 JS + Sanity 项目部署到 Vercel 时出现问题

    我在一个项目中并理智地使用了 nextjs 但在几乎完成我的项目后 我只是看不到任何部署它的方法 学习理智花了相当多的时间 但如果我不能在任何地方使用它 那还有什么意义呢 我安装了 vercel 并运行vercel build这就是它向我展
  • ASP.net MVC 项目无法在 IIS 上编译

    我以前只是将 ASP NET 网站上传到实时服务器 IIS 会自动编译它们 但是 当我对 asp net MVC 项目执行相同操作时 我只是收到错误 并且我需要在上传项目之前发布 构建 项目 注意1 我使用的是VWD 2008 Expres
  • 是否可以让 Capistrano 通过反向 SSH 隧道进行结帐?

    我正在开发一个驻留在公共主机上的应用程序 但我必须将其源代码保存在公司防火墙后面的 Git 存储库中 我越来越very厌倦了通过缓慢的部署scp 复制整个存储库并在每次部署时通过 SSH 传送 并且希望远程主机只需执行git pull更新
  • 同时运行 JBoss AS 5 和 JBoss AS 4

    我以为这是 JBoss FAQ 但我找不到它 我想同时运行 JBoss 4 和 JBoss 5 我通过将端口的前导数字更改为 9 来手动更改 JBoss 5 服务器 默认实例上的所有端口 并且它似乎有效 我可以启动 JBoss 4 和 JB
  • Jenkins:从神器部署战争文件

    我们正在使用Jenkins建立 maven 并部署工件 JAR 和 WAR s 到内部工件服务器 快照和版本 对于部署 目前 我们有 Jenkins 作业来打包 war 文件 来自发布 scm 标签 并部署到不同的环境 服务器 我们想要跳过
  • 良好的 WiX 编辑器 [重复]

    这个问题在这里已经有答案了 我目前正在开发一个使用 WiX 创建 MSI 的项目 我过去在 Sourceforge 上使用 WiXEdit 来管理包含在 WiX 项目中的文件 因为它比直接操作 XML 稍微容易一些 但它仍然有点笨重 有谁知

随机推荐

  • 在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