将 Camunda 嵌入现有 Java 应用程序

2023-12-31

我已经提取了 Camunda 最新映像并在它自己的 docker 容器中运行 Camunda。我有一个 dmn 上传到 Camunda Cockpit,并且我能够进行 Rest 调用以从我上传到 Camunda Cockpit 的决策表中获取数据。 但是,我不想依赖 Camunda 独立运行。我有一个现有的大型应用程序(在它自己的 docker 容器中运行的微服务),我想将 Camunda 嵌入到我的微服务中(使用 Osgi、Java、Docker、Maven 等)。 有人可以指导我吗?


对于 Spring Boot 微服务,您可以将所需的启动程序和配置文件添加到您的部署中,并且应该可以正常使用。参见例如https://start.camunda.com/ https://start.camunda.com/得到你需要的一切。 然后,您可以通过 Java API 或 REST(如果包含启动器)访问 Camunda。

如果您不在 Spring Boot 环境中运行,那么引导 Camunda 的方式可能会有所不同。在普通的 Java 中,如果没有任何容器的使用,它会是这样的:

    ProcessEngine processEngine = ProcessEngineConfiguration
        .createStandaloneProcessEngineConfiguration()
        .setJdbcUrl("jdbc:h2:./camunda-db/process-engine;DB_CLOSE_DELAY=1000")
        .setDatabaseSchemaUpdate("true")
        .setJobExecutorActivate(true)
        .buildProcessEngine();
    
    processEngine.getRepositoryService()
        .createDeployment()
        .addClasspathResource("myProcess.bpmn")
        .deploy();
        
    ProcessInstance pi = processEngine.getRuntimeService()
        .startProcessInstanceByKey("myProcess");

在标准 Spring 环境中,您可以通过加载上下文来引导引擎:

    ClassPathXmlApplicationContext applicationContext = 
        new ClassPathXmlApplicationContext("/spring-context.xml");
    ProcessEngine processEngine = (ProcessEngine) applicationContext.getBean("processEngine");
        
    processEngine.getRepositoryService()
        .createDeployment()
        .addClasspathResource("myProcess.bpmn")
        .deploy();

另请参阅:https://docs.camunda.org/manual/latest/user-guide/process-engine/process-engine-bootstrapping/ https://docs.camunda.org/manual/latest/user-guide/process-engine/process-engine-bootstrapping/

https://docs.camunda.org/get-started/quick-start/install/ https://docs.camunda.org/get-started/quick-start/install/

根据评论更新:

Camunda OSGI 支持描述如下:https://github.com/camunda/camunda-bpm-platform-osgi https://github.com/camunda/camunda-bpm-platform-osgi

您需要将项目升级到更新的版本,这可能不是一个巨大的努力,因为该版本仍然兼容。

(我还鼓励您考虑将微服务迁移到 Spring Boot。复杂性、市场上可用的知识、支持生命周期……)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Camunda 嵌入现有 Java 应用程序 的相关文章

  • 通过 C API 从字符串创建并调用 python 函数

    是否可以从字符串加载 python 函数 然后使用参数调用该函数并获取返回值 我正在使用 python C API 从我的 C 应用程序内部运行 python 代码 我可以使用以下命令从文件加载模块PyImport Import 从中获取一
  • 可以在 svg 中嵌入 youtube 视频吗?

    Sozi 是一个 inkscape 扩展 允许在支持 svg 的 Web 浏览器中查看时对 svg 文件进行类似 Prezi 的平移 缩放 youtube 视频可以嵌入到 Prezi 中 我希望能够将 youtube 视频 或任何类型的视频
  • 为什么 iPad 上只能嵌入 YouTube?

    我试图找出为什么 YouTube 嵌入在 iPad 上运行良好 而不是任何其他视频网站的嵌入 YouTube 嵌入示例
  • C#:如何将DLL嵌入到资源文件中(程序目录中没有DLL副本)

    我有一个需要 X dll 的 C 应用程序 项目 A 我已经将生成X dll的项目添加到A中作为Visual Studio中的参考 我还将 X dll 的发布版本作为二进制文件添加到 A 中的资源文件中 我已经告诉A项目了not将 X dl
  • fsi.exe 程序集:有人知道如何嵌入它吗?

    长期读者 第一个问题 fsi exe 是一个 NET 可执行文件 因此包含自己的程序集 其中包含所有美味的方法以及 fsi 用于执行 F 脚本的内容 查看 NET Reflector 中的程序集 选择您的类 但 Shell 是最好的例子 会
  • 在 Bootstrap Modal 中嵌入标签在 FireFox 中不可见

    我有一个Bootstrap Modal 内的标签用于播放视频 使用 vlc 2 1 3 插件和 flash 进行测试 它在 Chrome Safari 和 Opera 中工作正常 但在 Firefox 中 视频没有显示 而是在后台运行 我可
  • ckeditor 不读取媒体嵌入代码

    我使用 ckeditor 的媒体嵌入插件 它工作正常 代码正确保存在数据库和 youtube soundcloud 等中 页面上播放器显示正常 但是 当用户进入他可以编辑信息的管理页面时 内部和带有标签的文本不会显示 因此当用户单击 保存
  • Python嵌入

    我想要一个嵌入 Python 解释器和一个小脚本的大型二进制文件 我对整个静态链接 配置和制作以及 GCC 等完全陌生 请问 有人可以向我描述构建此类可执行文件的基本步骤吗 我使用的是 MacOS 10 6 我下载了 Python 3 3
  • 如何在 PyQT 小部件中嵌入 Python 解释器

    我希望能够从我的 python 应用程序中调出交互式 python 终端 我的程序中的一些 但不是全部 变量需要暴露给解释器 目前我使用子类和修改后的QPlainTextEdit并将所有 命令 路由到eval or exec 并跟踪字典中的
  • SendGrid SMTP API:嵌入图像:错误请求

    我正在使用 sendgrid SMTP APIhttps github com sendgrid sendgrid csharp https github com sendgrid sendgrid csharp发送电子邮件 但我不知道如何
  • 将文件打包为 ELF 可执行文件

    我目前正在寻找一种将数据添加到已编译的 ELF 可执行文件中的方法 即将文件嵌入到可执行文件中而不需要重新编译它 我可以通过使用轻松做到这一点cat myexe mydata gt myexe with mydata 但我无法访问可执行文件
  • 嵌入公共 Facebook 页面的活动源,无需强制用户登录/允许

    这与之前多次提出的问题类似 但无论我读什么 我仍然很困惑 我有一个公共 Facebook 页面 例如 White Collar 我需要将其活动源嵌入到我的 Android 应用程序中 我了解如何获取应用程序 ID 和应用程序秘密 但我不了解
  • 如何在golang中嵌入其他包的结构

    我知道如何在同一包中的结构中嵌入其他结构 但是如何嵌入其他包的结构 dog go package dog import fmt type Dog struct Name string func this Dog callMyName fmt
  • HTML 嵌入对象具有灰色背景。可以透明吗?

    我使用带有开源插件的 Firefox 来播放视频 视频被 尽可能好地 缩放以适应嵌入对象的宽度和高度中定义的可用空间 但有时右侧和 或底部会有一点灰色边框 看来这不是我的父 div 的背景颜色 因为更改它根本没有效果 这是 HTML div
  • Discord.py 嵌入中禁用按钮/冻结按钮

    I m trying to make a replica of this bot in which when I press any of the buttons below it shows a dropdown menu and you
  • 网站 YouTube 嵌入视频不断播放

    我正在使用 youtube 提供的 iframe 在我的网站上嵌入视频 我还使用了一个 css 弹出窗口 这是我从这个页面学到的http www pat burt com web development how to do a css po
  • 嵌入来自谷歌驱动器的图像,没有灰色边框和缩放工具?

    I have a webpage that has an image that is stored in google drive and using the google drive embed code results in this
  • getElementById 无法在 的 Google Chrome 扩展中工作

    在我的 Google Chrome 扩展内容脚本中 我有以下内容 jQuery document ready function var player document getElementById player console log pl
  • 将.exe文件嵌入到C++程序中?

    我编写了一个 C 程序 我想在其中执行第二个程序 这是一个 exe 文件 问题是我想将我的程序作为一个文件共享给其他人 当我在互联网上搜索时 我找到了这个解决方案 只需将第二个 exe 文件作为二进制资源存储在主文件中 exe 在编译时使用
  • 如何在网页中显示嵌入的 Excel 文件?

    我想允许在网页中查看嵌入的 Excel 报告 有什么办法吗 我不想使用 ActiveX 或 OWC Office Web 组件 我只想从 Internet Explorer 应用程序打开现有文件 我不希望用户下载然后打开它 使用 ifram

随机推荐

  • 让用户在扫描仪Java中仅输入整数

    我这里有一些问题 我希望用户只能输入整数 我已经尝试了很多代码 但仍然不起作用 顺便说一句 这是我的代码 import java util Scanner public class test public static void main
  • Function.const 的目的是什么?

    它是在ScalaDoc http www scala lang org archives downloads distrib files nightly docs library index html scala Function 24但没
  • 向 PageDown markdown 编辑器添加新按钮

    如何向位于以下位置的 PageDown markdown 编辑器添加新按钮http code google com p pagedown http code google com p pagedown 理想情况下 该按钮将创建一个类似于用于
  • 如何在NSIS中调用PowerShell

    我正在尝试在 NSIS 中运行 PowerShell 当我运行 NSIS 脚本时 include x64 nsh Name nsExec Test OutFile nsExecTest exe ShowInstDetails show Se
  • Android 列表视图过滤与重新填充

    经过一些建议后 我的应用程序使用媒体存储光标在加载时填充列表视图 这会将音乐链接到用户定义的文件夹 在大多数情况下 该文件夹将是他们存储的所有音乐 我有一个 Beta 测试人员 正在使用一台装有大约 10000 首歌曲的 Archos 平板
  • Pandas 根据索引名称突出显示行

    我一直在努力研究如何根据索引名称突出显示 Pandas 行的样式 我知道如何突出显示选定的行 但是当我必须根据索引突出显示时 代码不起作用 Setup df pd DataFrame key list ABCD value range 4
  • 熊猫断言_帧_等于错误

    我正在构建测试用例 我想比较 2 个数据帧 即使数据帧具有相同的列和值 assert frame equal 报告也不相等 列顺序不同 我尝试对列重新排序但没有成功 在我的测试用例中 我使用以下函数 testing assert frame
  • 适配器-适配器模式的任何真实示例[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想演示使用适配器模式 https en wikipedia org wiki Adapter pat
  • Spark中字符串类型的汇总统计

    Spark 中是否有像 R 中那样的汇总函数 Spark MultivariateStatisticalSummary 附带的汇总计算仅适用于数字类型 我有兴趣获取字符串类型的结果 例如前四个最大出现的字符串 groupby 类型的操作 唯
  • 可以在 Typescript 中向 Promise 添加取消方法吗?

    我想创建一个 QueryPromise 它只是一个带有取消方法的具体承诺 下面是它的使用方法 function runQuery text string QueryPromise return new QueryPromise resolv
  • Spring OAUTH:覆盖 CheckTokenEndpoint 'check_token?token=' 响应映射

    我想重写 CheckTokenEndpoint 以将我自己的自定义输出作为 Map 提供给资源服务器 我已尝试以下操作 但不起作用 为 oauth check token 引入新的自定义控制器 但 Spring 拒绝此自定义并注册自己的控制
  • 将 PagedList 与 ViewModel ASP.Net MVC 结合使用

    我正在尝试在 ASP Net 应用程序中使用 PagedList 我在 Microsoft 网站上找到了这个示例http www asp net mvc tutorials getting started with ef using mvc
  • 我的日志消息不会通过 proguard 配置被删除

    我正在开发我的 Android 应用程序 然后我通过以下方式启用并配置混淆器 步骤1 启用proguard In 项目 属性 I have proguard config sdk dir tools proguard proguard an
  • 使用 R,将可变行数的文本合并到单个文本元素中

    什么样的 R 代码可以将下面的模拟数据框中每个人的叙述条目合并到一个变量中 数据来自 Excel 电子表格 其中记录的叙述条目可以有 1 到 8 行 每个计时员的记录都以空行结束 假设这个数据框 dput 如下 gt df timekeep
  • 提前终止工作人员 puma 日志意味着什么?为什么会发生这种情况?

    对于我的 Elastic Beanstalk 实例 我得到了504每当我访问它时状态代码响应 当我跟踪日志时 我在 puma 应用服务器上看到以下日志 gt var log puma puma log lt 27240 Early term
  • 在 PL/SQL 中将 varchar2 转换为日期 ('MM/DD/YYYY')

    我需要将字符串从 varchar 转换为 MM DD YYYY 格式的日期 我的输入字符串是 4 9 2013 我的预期输出是 04 09 2013 即 2 位月份 2 位日期和 4 位年份 以 分隔 我有以下数据 DOJ varchar2
  • 为什么提供静态文件不安全

    这可能是一个愚蠢的问题 并且有一个明显的答案 但我正在测试 404 和 500 错误处理程序 这意味着我必须将 debug 切换为 False 我进入 Django 管理页面 注意到没有提供静态文件 我知道它们应该通过 Apache 路由
  • iOS 7.1 滑动解锁文字动画

    我不确定以前是否有人问过这个问题 但我很难找到它 也许我没有使用正确的搜索词 所以如果答案已经存在 如果有人能指出我正确的方向 我将不胜感激 我刚刚注意到 随着 iOS 7 1 的更新 锁屏 滑动解锁 文本上的闪烁动画发生了变化 聚光灯现在
  • 什么时候编写“ad hoc sql”与存储过程更好[重复]

    这个问题在这里已经有答案了 我的应用程序中有 100 的即席 SQL 我的一个朋友建议我转换为存储过程以获得额外的性能和安全性 这在我脑海中提出了一个问题 除了速度和安全性之外 还有其他理由坚持使用即席 SQL 查询吗 SQL Server
  • 将 Camunda 嵌入现有 Java 应用程序

    我已经提取了 Camunda 最新映像并在它自己的 docker 容器中运行 Camunda 我有一个 dmn 上传到 Camunda Cockpit 并且我能够进行 Rest 调用以从我上传到 Camunda Cockpit 的决策表中获