mule 相关问题

Mule是一个基于Java的轻量级企业服务总线(ESB)和集成平台,允许开发人员快速,轻松地将应用程序连接在一起,使他们能够交换数据。无论应用程序使用何种不同的技术,Mule都可以轻松集成现有系统,包括JMS,Web服务,JDBC,HTTP等。

h2 在内存数据库私有模式下 - 无法访问控制台

我的是一个 Mule 4 应用程序(4.4),使用内存数据库中的 H2 来执行 munit 测试。 所以之前使用 jdbc url 为: 我的是一个 Mule 4 应用程序(4.4),使用内存数据库中的 H2 来执行 munit 测试。 所以之前使用 jdbc url 作为: <property name="url" value="jdbc:h2:mem:empdb;DB_CLOSE_ON_EXIT=FALSE;MODE=ORACLE; INIT=RUNSCRIPT FROM 'classpath:sql/h2init.sql';TRACE_LEVEL_FILE=4;TRACE_LEVEL_SYSTEM_OUT=3;" /> 然而,这个问题是在同一个 Munit 套件中有多个 Munit 的情况下,并且每次测试后都会抱怨 due to h2init.sql being executed twice against the same database. It fails the second time as the tables already exist. 上面的引用实际上是从here复制的,但它准确地解释了遇到的问题。 因此使用了@peterB建议的解决方案,即使用 "in memory private" connection mode,如下所示: <property name="url" value="jdbc:h2:mem:;DB_CLOSE_ON_EXIT=FALSE;MODE=ORACLE; INIT=RUNSCRIPT FROM 'classpath:sql/h2init.sql';TRACE_LEVEL_FILE=4;TRACE_LEVEL_SYSTEM_OUT=3;" /> 请注意,empdb 已从 jdbc url 中删除,现在一切正常 然而,这现在导致了一个不同的问题 - 早些时候我可以通过以下方式访问 H2 控制台:http://localhost:8082/ 并登录 现在,当我尝试时,它失败了: 数据库 URL“jdbc:h2:mem”中不允许使用隐式相对于当前工作目录的文件路径。请改用绝对路径、~/name、./name 或 baseDir 设置。 [90011-224] 90011/90011(帮助) 我尝试的 jdbc url 是:jdbc:h2:mem: 在运行 munits 时的控制台日志中可以看到我的 munit 与 db 连接良好: INFO 2024-03-03 11:39:00,665 [[MuleRuntime].uber.03: h2database: database opening mem: (build 224) INFO 2024-03-03 11:39:00,715 [[MuleRuntime].uber.03: h2database: database opened mem: 正在阅读 H2 文档:https://www.h2database.com/html/features.html 内存数据库对于某些用例(例如:快速 原型设计、测试、高性能操作、只读 数据库),可能不需要保存数据或保存更改 到数据。该数据库支持内存模式,其中数据 没有坚持下去。 在某些情况下,只有一个与内存数据库的连接 必需的。这意味着要打开的数据库是私有的。在这个 例如,数据库 URL 为 jdbc:h2:mem:在其中打开两个连接 同一个虚拟机意味着打开两个不同的(私有的) 数据库。 有时与同一个内存数据库的多个连接 必需的。在这种情况下,数据库 URL 必须包含名称。例子: jdbc:h2:内存:db1。仅使用此 URL 访问同一数据库才有效 在相同的虚拟机和类加载器环境中。 从另一个进程或另一个进程访问内存数据库 计算机上,您需要在与该计算机相同的进程中启动一个 TCP 服务器 内存数据库已创建。然后其他进程需要 通过 TCP/IP 或 TLS 访问数据库,使用数据库 URL,例如: jdbc:h2:tcp://localhost/mem:db1. 默认情况下,关闭最后一个数据库连接将关闭 数据库。对于内存数据库来说,这意味着内容丢失。 要保持数据库打开,请将 ;DB_CLOSE_DELAY=-1 添加到数据库 URL。 使内存数据库的内容与虚拟数据库的保存时间一样长 机器处于活动状态,使用 jdbc:h2:mem:test;DB_CLOSE_DELAY=-1。这可能 创建内存泄漏,当需要删除数据库时,使用 关机命令。 因此,唯一的问题是当我处于调试模式下的 Munit 中间时,想在浏览器中打开控制台并查看表记录的状态 - 这怎么可能? 从上面的文档中我不确定h2 In memory database private mode是否可能? 未命名的私有内存数据库不在不同连接之间共享,每个连接都有自己独立的数据库。当您只需要一个连接时,您可以使用此类数据库,但无法使用 H2 Console 或任何其他工具来检查它,因为具有相同 URL 的 H2 Console(或其他工具)将获得一个自己的(空)私人数据库。

回答 1 投票 0

Dataweave 转换 - 满足条件时如何减少有效负载数组

我有这个 JSON 有效负载: [ { “身份证”:“6812”, “状态”:“可用”, “到期日期”:“2024-04-30T13:00:00.000-07:0...

回答 1 投票 0

Mule 4 尝试在 Munit 中初始化基于 Spring 的 H2 数据源 - 出现 ClassNotFoundException

我正在尝试在Mule 4中编写一个Munit,其中在Munit中我想使用基于Spring的H2数据源 所以我在 Munit 类中定义了以下内容: 我正在尝试在 Mule 4 中编写一个 Munit,其中我想在 Munit 中使用基于 Spring 的 H2 数据源 所以我在我的 Munit 类中定义了以下内容: <munit:config name="munit-test-config.xml" /> <spring:config name="Spring_Config" doc:name="Spring Config" files="beans.xml" > </spring:config> <db:config name="Database_Config" doc:name="Database Config"> <db:data-source-connection dataSourceRef="dataSource" /> </db:config> 在beans.xml: <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="org.h2.Driver" /> <property name="url" value="jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" /> <property name="username" value="sa" /> <property name="password" value="" /> </bean> 在我的 pom 中包含了所需的依赖项并作为共享库: <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> <scope>test</scope> </dependency> <sharedLibrary> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> </sharedLibrary> 但是,如果我run通过anypoint studio运行应用程序,它运行良好,但是如果我尝试运行Munit,它会失败: 上下文初始化期间遇到异常 - 取消 刷新尝试: org.springframework.beans.factory.CannotLoadBeanClassException:不能 查找 bean 的类 [org.apache.commons.dbcp.BasicDataSource] 类路径资源 [beans.xml] 中定义的名称“dataSource”;嵌套的 例外是 org.mule.runtime.module.artifact.api.classloader.exception.CompositeClassNotFoundException: 无法加载类“org.apache.commons.dbcp.BasicDataSource”:[ org.apache.commons.dbcp.BasicDataSource,无法加载类 'org.apache.commons.dbcp.BasicDataSource': [ 我错过了什么? 您的 pom 声明了 c3p0 数据库连接池的依赖项,但您的 Spring bean 使用 Apache DBCP 数据库连接池创建一个池。在这两个地方都使用 DBCP 或 c3p0。

回答 1 投票 0

Dataweave 有效负载转换 - NetSuite SOAP

我有 JSON 有效负载,需要对其进行转换并调用 NetSuite。 有效负载: [ { “Netsuite 销售订单 ID”:“15922713”, “项目编号”:“

回答 1 投票 0

如何提取键值对并将其存储在Object Store V2 Mule 2.0中

我需要迭代以下输入负载并将所有 EMPNAME 作为键和 EMPID 作为值存储在对象存储中。 { “应用程序”:“销售人员”, “有效载荷...

回答 1 投票 0

Mule中如何判断一个字符串是否包含子串?

我想使用 Assert Equals 组件来查找负载中是否存在字符串。我举个例子: Txt|名称=ST CLAUD|国家/地区=西班牙|Txtld=45 我想搜索有效负载是否包含字符串“

回答 1 投票 0

从 Mule flowVars 中的 JSON 数组获取字段值

我正在使用 Anypoint 6.1 和 Mule 3.8.1,并且有一个 flowVar,它包含一个如下所示的 JSON 对象: { “商店”:[ [ “商店1” ], [ “商店2” ] ] } 当我循环时

回答 1 投票 0

Mule 中查询参数日期改为字符串

我有一个名为modifiedDate的查询参数,在RAML文件中定义为仅限日期,但是当我查看Mule调试器时,我看到modifiedDate 2001-10-10是一个字符串数据类型。 随机存取存储器 ... 查询参数...

回答 1 投票 0

Mule ESB 无法触发 Choice 'when' 条件

我无法让 Mule ESB 触发 Choice 'when' 条件 我将 Hello World 流转换为接受 JSON 对象(将 JSON 插入到对象节点)并执行 Choice 节点。 但我不能...

回答 2 投票 0

访问 MuleSoft Anypoint Exchange 属性

我正在使用 Amazon Secrets Manager Properties Provider Connector 尝试从我的 Anypoint 应用程序连接到 AWS Secrets Manager。该文档使我看起来可以配置

回答 1 投票 0

如何预防 在 Mule 中以文本形式显示

我正在返回一条 JSON 消息,它显示 新行字符。我怎样才能阻止这种情况发生并显示返回结果,以便文本看起来更具可读性,而不是仅显示 li 上的所有内容...

回答 3 投票 0

Mule 3:http侦听器持久连接和连接空闲超时

我是 Mule 新手,正在尝试学习 Mule 3(我们生产中现有的一些 API 正在使用 Mule 3)。 生产应用程序有一个使用“使用持久连接”和“连接...”的 HTTP 侦听器

回答 2 投票 0

无法在 MuleSoft Munit 中模拟“插入日志”模块

我试图模拟下面的流程,但在运行测试用例时出现异常。 错误:[module-alliant-logger.xml:52]:无法使用错误类型“ALLIANT-LOGGER:PARSING”:命名空间已存在。

回答 1 投票 0

Dataweave 过滤条件不适用于小于等于字符串

我有这个有效负载和数据编织代码,但在下面的数据编织中小于正在工作但不等于?有人可以帮忙吗..如何处理平等? 有效负载: [{ “Id”:&qu...

回答 2 投票 0

Maven 在 Azure Pipelines 中使用与本地不同的存储库

我有一个项目在 Azure Pipelines 中 mvn package 失败,即使同一分支在本地成功构建也是如此。问题是缺少依赖项。 Maven 从本地下载依赖项 http...

回答 2 投票 0

Dataweave 过滤条件不适用于小于等于

我有这个有效负载和数据编织代码,但在下面的数据编织中小于正在工作但不等于?有人可以帮忙吗..如何处理平等? 有效负载: [{ “Id”:&qu...

回答 2 投票 0

将字符串转换为dataweave中的日期

我正在使用 Anypoint Studio 6.1 和 Mule 3.8.1,我希望在 Dataweave 中将以下日期 2017-03-02T17:30:31.377Z 转换为以下格式 Thurs, 1 Mar 2017 17:30:31 GMT 。 数据...

回答 1 投票 0

来自 Mulesoft API 的 Azure SQL 调用间歇性延迟长达 15 分钟以上

我们在 Mulesoft 4.4 中创建了多个集成,连接到 Azure SQL Server DB 以进行正在进行的项目。我们在这些事件的“开始”和“结束”事件之间面临间歇性延迟问题...

回答 1 投票 0

带有 Anypoint MQ 的 Mule 4 - 当重新投递尝试用尽时,消息是否会自动转到 DLQ?

将 Anypoint MQ 与 Mule Runtime 4.4 结合使用 有一个订阅者,它将使用普通队列中的消息。 该队列配置了 DLQ。 最大重新投递次数 = 2 确认模式 = 自动 他...

回答 1 投票 0

Mule4.2.0 中的数据库连接问题

我们在 Mulesoft 中面临 MySQL 数据库连接问题,Mule 有两种类型的数据库事务。一个是到 mule 的服务器(自身)数据库,另一个是到远程服务器

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.