将 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 应用程序 的相关文章

  • 直接链接到 SWF 有哪些缺点?

    通常 Flash 和 Flex 应用程序使用以下组合嵌入到 HTML 中 object and embed标签 或更常见的是使用 JavaScript 但是 如果您直接链接到 SWF 文件 它将在浏览器窗口中打开 并且无需查看地址栏 您就无
  • 通过 C API 从字符串创建并调用 python 函数

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

    Sozi 是一个 inkscape 扩展 允许在支持 svg 的 Web 浏览器中查看时对 svg 文件进行类似 Prezi 的平移 缩放 youtube 视频可以嵌入到 Prezi 中 我希望能够将 youtube 视频 或任何类型的视频
  • Unix sendmail - html 嵌入图像不起作用

    在 SO com 之前的帖子中 我尝试构建脚本来将电子邮件发送到我的 Outlook 帐户 并将图像内嵌在电子邮件正文中 但 html 内容显示在 html 中 而不是显示图像 请帮忙 这是我的片段 echo TO email protec
  • 是否可以创建动态嵌入功能?

    是否可以在ActionScript3中创建动态嵌入功能 例如像这样 public function embedImage path String Bitmap Embed source path mimeType image png var
  • 为什么 iPad 上只能嵌入 YouTube?

    我试图找出为什么 YouTube 嵌入在 iPad 上运行良好 而不是任何其他视频网站的嵌入 YouTube 嵌入示例
  • fsi.exe 程序集:有人知道如何嵌入它吗?

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

    我正在尝试编写一个使用 PHP 作为脚本语言的应用程序 该应用程序是一个 CGI 处理程序 我希望能够从中调用 PHP 页面 我正在寻找可以让我在 C 程序中初始化 PHP 的代码 然后向其传递包含 php 代码的缓冲区或文件名 以供其解析
  • 在tinymce中禁用自动moxieplayer换行

    我构建了一个功能 可以上传 转换视频 然后将视频嵌入到tinymce 中 Tinymce 使用他们的 moxieplayer swf 不断用一些 html 封装我的视频嵌入 我想对这些视频使用自定义视频播放器 但当 tinymce 的行为如
  • android:使用ActivityGroup嵌入活动

    我正处于构建应用程序的概念化 设计阶段 但遇到了一些障碍 本质上 我正在寻找一种将一个活动嵌入到另一个活动的 UI 中的方法 类似于 TabHost TabActivity 的方式 屏幕顶部将有一个窗口 其中包含其他活动 其下方将是独立于上
  • css嵌入无滚动条

    好吧 我有一个带有 ajax 按钮的页面 当您点击 ajax 按钮时 它会将一个嵌入对象扔到 data div 中 一切正常 我的问题是嵌入正在创建一个我不想要的滚动条 关于如何防止滚动条有什么想法吗 我已经尝试过在任何地方都可以抛出 ov
  • SendGrid SMTP API:嵌入图像:错误请求

    我正在使用 sendgrid SMTP APIhttps github com sendgrid sendgrid csharp https github com sendgrid sendgrid csharp发送电子邮件 但我不知道如何
  • WordPress 5.2 YouTube 视频在帖子中自动嵌入功能不起作用

    在我的个人 WordPress 博客 5 2 中 视频自动嵌入功能不起作用 编辑器会显示一个微调框 非常简短 但随后它会在后端显示视频链接 并在前端以纯文本形式显示 URL 我尝试过在不同的浏览器中更改帖子 全部失败 我尝试了不同的视频 有
  • camunda 找不到任务 ID 为空的任务

    我是卡蒙达的初学者 我想完成一个任务 所以我通过调用启动一个实例 http localhost 8080 engine rest process definition key approve loan submit form 通过 Post
  • 如何在golang中嵌入其他包的结构

    我知道如何在同一包中的结构中嵌入其他结构 但是如何嵌入其他包的结构 dog go package dog import fmt type Dog struct Name string func this Dog callMyName fmt
  • 用于直播视频的 Youtube iFrame Api?

    我正在尝试使用 youtube iframe api 实现来自 youtube 频道的实时视频 api 中有一个 videoId 属性 它也适用于实时视频 但我们必须在每次流启动时添加视频 id iframe直播视频中有解决方案https
  • 在 iframe 中显示缩略图

    我在这方面还很陌生 我有以下内容iframe 我想做的就是让它发挥作用video1 1 但显示其中的图像video1 2 我尝试做的是 但这行不通 有简单的方法吗 iFrame 标记中没有 href 属性 看 http www w3scho
  • 如何禁用 YouTube Iframe 上的全屏?

    我里面有一个 div 容器和 Iframe 我指定宽度 200 和高度 200 当我点击全屏时 视频变得模糊且质量非常差 所以 我想看看是否可以在 YouTube iframe 上禁用全屏 I used controls 0在我的网址末尾
  • 我如何对 youtube 嵌入播放器进行编程,使其在点击时取消静音

    如何设置 YouTube 嵌入式播放器在单击时取消静音 你可以看到我提到的嵌入式播放器http www harvestarmy org http www harvestarmy org主页 右边的那个写着 来自 YouTube 的最新视频
  • 您可以在不是在 Google 协作平台下创建的网站上使用 Google 脚本吗? [复制]

    这个问题在这里已经有答案了 Google 脚本有一种方法可以嵌入到 Google 网站中 但我想知道是否可以在非 Google 托管的网站上使用 Google 脚本 此 google 脚本的目的是作为 Javascript 的简单替代方案

随机推荐

  • 让用户在扫描仪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 的决策表中获