问题标签 [aries]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
226 浏览

apache-camel - 如何在捆绑关闭期间从骆驼访问蓝图豆

我有一个蓝图包,其中包含一些 Camel 路线引用的几个 bean。当我停止捆绑(直接或通过要求 Karaf 终止)时,BluePrint 容器几乎立即被销毁。

同时,Camel DefaultShutdownStrategy 将等待我的机上交换完成。此时,任何从 Camel 解析 bean 引用的尝试都将失败(因为注册 bean 的 BlueprintContainer 已被破坏),并且我将得到 org.apache.camel.NoSuchBeanException。

有没有办法让 BluePrint 注册表保持活动状态,直到 Camel 完成关闭?

我的环境是 Karaf 4.1.1/Camel 2.18.3/Java 8/Windows。

0 投票
1 回答
1369 浏览

algorithm - 当 DBMS 在 ARIES 算法的恢复阶段崩溃时会发生什么?

根据我对 ARIES 算法的理解,要支持 ACID 事务,必须使用 WAL(预写日志):所有写入都会被记录。

据说它使数据库能够在崩溃之前回滚由未提交事务所做的更改。

对于每次写入,我们都会记录有关实际写入的信息(如何重做,如何撤消)。

在恢复阶段,我们分析日志以执行 REDO 操作:

  • 我们阅读了日志条目
  • 我们将更改应用到数据库
  • 我们将日志条目设置为完成

然后,为了执行 UNDO,写入新的日志条目(因为它毕竟是写入),然后在检查点期间将更改应用于数据库。

在检查点期间,我想我们只是对所有提交的条目执行重做。

我还没有找到任何有关以下情况的信息:

  • 检查点期间发生崩溃
  • 在重做阶段、更改应用到数据库之后以及更新日志之前/期间将其设置为完成时发生崩溃

在这些情况下,一些更改已应用到数据库,但未反映在日志中,从而使数据库处于不一致状态。

注意:这是我用来了解更多关于 ACID 事务和 ARIES 算法的一些链接:

我目前正在阅读 SQLite 的源代码,以了解整个事情是如何实现的。

提前感谢您对此主题的任何澄清。

0 投票
0 回答
298 浏览

java - EclipseLink 静默忽略 persinstence.xml 中的映射文件

我试图在我的 orm.xml 文件中声明转换器:

orm-pg.xml:

持久性.xml:

因为转换器没有注册,我添加了另一个映射文件进行调试:

该文件不存在。令我惊讶的是,持久性单元已经启动,日志中甚至没有任何警告。

现在我很困惑,因为我不知道我的转换器是否因为 orm.xml 错误或根本没有加载而没有注册。

如果映射文件是否成功加载,我该如何调试?为什么忽略引用的丢失文件?

我正在使用 Aries JPA 2.5.0 在 Karaf Container 中进行部署

0 投票
1 回答
136 浏览

mysql - ClassNotFoundException:尝试加载类时检测到循环 - 在实体类(在 Karaf 中启动 JPA 包时)

我的问题与"Cycle detected while trying to load class"启动jpa-only bundle.

我创建了一个JPA带有 maven 原型的包,并将其修改pom.xml为与Karaf (4.0.1), Aries Blueprint, MySQL, OpenJPA, OpenJDK 1.8. 使用添加的 eclipse-tooling 生成的实体类一起使用persistence.xml

我能够编译它并将其安装在 Karaf 上而不会出错。启动捆绑包时出现错误。这个类运行良好Karaf 2.x (Geronimo App Server).

我怀疑它可能与@OneToMany/@ManyToOne类中的带注释字段有关,因为如果我只生成一个没有连接的类,捆绑就完美地开始了。我也尝试pax-jdbc-mysql了方法(不使用蓝图),但除了dataSource成功创建之外,结果相同。我的课程只有jpa注释。

捆绑包结构如下:

类定义示例:

我得到的错误是:

我正在使用的 pom.xml 是:

蓝图文件:

提前致谢!!

0 投票
0 回答
112 浏览

java - 安装功能 pax-jdbc-pool-aries 后无法连接到 PostgreSQL 数据库

我正在为我的 PostgreSQL 连接使用简单的 pax-jdbc 配置:

但是,在我安装了 feature 之后pax-jdbc-pool-aries,出现了问题并且我收到了错误,好像密码参数会突然被忽略:

引起:org.postgresql.util.PSQLException: FATAL: Rolle ?mywindowsuser? 在 org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.java:691) ~[?:?] 在 org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:207) ~[?: ?] at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:65) ~[?:?] at org.postgresql.jdbc2.AbstractJdbc2Connection.(AbstractJdbc2Connection.java:146) ~[?:?] at org. postgresql.jdbc3.AbstractJdbc3Connection.(AbstractJdbc3Connection.java:35) ~[?:?] at org.postgresql.jdbc3g.AbstractJdbc3gConnection.(AbstractJdbc3gConnection.java:22) ~[?:?] at org.postgresql.jdbc4.AbstractJdbc4Connection。 (AbstractJdbc4Connection.java:47)~[?:?] at org.postgresql.jdbc4.Jdbc4Connection。

文档(例如这里https://ops4j1.jira.com/wiki/spaces/PAXJDBC/pages/61767716/Pooling+and+XA+support+for+DataSourceFactory)没有提到使用 aries 池时的任何陷阱,它似乎仅安装 aries 池功能就破坏了工作配置。

发生了什么,以及如何将 PostgreSQL 与 pax-jdbc 和 aries-pool 一起使用?

我在 Windows 10 上使用 Karaf 4.1.x。

0 投票
1 回答
298 浏览

apache-camel - 为什么以下捆绑包处于宽限期?

我有两个包含camel-activemq 东西的蓝图文件包。喜欢

如果我在第二个捆绑蓝图文件中使用常量值,则一切正常。一旦我在那里使用 ${activemq.url} 之类的配置,它看起来找不到它并尝试无限次数地获取它。第二个捆绑包无法解决。

如果我使用第二个配置文件,它只是像 com.mycompany.context_1 这样的重复配置文件,那么第一个包无法通过以下事务相关消息解析。以下捆绑包处于优雅状态的原因是什么?

0 投票
0 回答
60 浏览

java - 跨 Equinox 区域的 BundleEvents

我们在 Equinox OSGi 运行时中运行我们的应用程序。有一个与 OSGi 本身一起使用的扩展机制来加载来自 2nd/3rd 方的插件。问题是这些插件可能会引入干扰“核心”应用程序或其他插件的包。

这就是为什么我正在尝试使用 Aries 子系统 2.0.10 来在混合中引入一些捆绑范围,并避免干扰“核心”应用程序和其他插件,还允许插件开发人员使用通用库的版本(例如 Spring ) 他们想要的。

目前,我从一组插件包中生成一个 ESA,并在 OSGi 框架中安装 Application 类型的子系统。问题从启动子系统时开始,我们的扩展机制(在内核区域内)依赖于为子系统内的一组启动包触发的 BundleEvents,但子系统部署在其自己的区域中,因此包事件被过滤,并且永远不会到达内核区域中的侦听器。

有没有办法从内核区域中的子系统区域接收 BundleEvents,而不使用子系统内部的“人工”包,在某些全局事件总线上重新传输所述事件?

0 投票
1 回答
323 浏览

java - 带有 Eclipselink 的 Apache Aries JPA:java.lang.LinkageError

我正在尝试将 Apache Aries JPA 与 Eclipselink(和一个 MSSQL 数据库)结合使用。我的 OSGi 框架是 Apache Felix,我正在使用 DS(通过使用 BndTools)。经过长时间的反复试验,我找到了必要的捆绑包:

  • javax.persistence
  • 包含 jdbc.mssql 的 DataSourceFactory 的包
  • org.apache.aries.jpa.api
  • org.apache.aries.jpa.container
  • org.apache.aries.jpa.support
  • org.apache.aries.transaction.manager
  • org.apache.aries.jpa.javax.persistence_2.0
  • org.apache.aries.util
  • org.apache.geronimo.specs.geronimo-jta_1.1_spec
  • org.apache.aries.jpa.eclipselink.adapter
  • org.eclipse.persistence.antlr
  • org.eclipse.persistence.asm
  • org.eclipse.persistence.core
  • org.eclipse.persistence.jpa
  • org.eclipse.persistence.jpa.jpql

当我开始这个配置时,我得到以下异常:

哪个包应该包含 javax.sql.DataSource 类?我希望这将成为 JDK 的一部分。

有谁知道这是什么原因造成的,或者我该如何解决这个问题?如何让 Apache Aries JPA 在 DS 环境中与 Eclipselink 一起运行?

谢谢。

0 投票
1 回答
523 浏览

osgi - 从 Spring DM 1.2 Spring 3 / KARAF 4.0.10 迁移到 Blueprint、Spring 5 和 KARAF 4.2.0

我使用的是 KARAF 4.0.10,它安装了 spring 3.1.4 作为引导功能。我们将 spring 用于 web 模块 (spring-mvc) 和 spring-dm (spring-osgi-web)。

这是我的示例 web.xml。那是我的 web.xml Mvc Servlet

随着我们将 KARAF 升级到 4.2.0,spring 升级到了 5.0.4,spring-dm 不再支持它。现在已弃用。根据互联网搜索,我发现建议继续使用双子座蓝图作为 spring-dm 的替代品。我已经下载了gemini-blueprint/IO、Core 和extender 模块,方法是将其配置为maven 依赖项。

您能否指导一下 web.xml 中应该更改哪些内容以继续使用双子座蓝图作为 spring-dm 的替代品?

还有什么方法可以让它工作而不使用蓝图并直接在 web.xml 中引用 spring jar 文件

0 投票
1 回答
1677 浏览

java - java.sql.SQLException:在关闭的连接上调用 createStatement()

在我的项目中,我希望有 api 端点来获取订单详细信息。在内部它使用 ORM 和数据库连接池。该过程有效,但每十天有一次我收到以下错误消息并且 api 处理失败。知道可能是什么问题和可能的解决方案吗?

使用的工具

阿帕奇卡拉夫 (4.1.2)

用于 api 的 Apache cxf

休眠 5.2.10

附加捆绑包

连接池(OPS4J Pax Jdbc

持久性.xml

错误日志堆栈跟踪