问题标签 [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 投票
1 回答
397 浏览

apache-camel - JTA 容器托管事务回滚不适用于 jaxrs 端点

休息端点

路线

服务豆

服务 bean 方法伪代码

当 dao2 persist 失败时,事务没有回滚。Entity1 被插入到数据库中。

附加信息

1)事务管理器定义

2) 我的持久单元是 JTA 类型,并作为提供者休眠。

3)我有一个 ExceptionMapper,当我查看它时,堆栈跟踪显示事务确实被标记为回滚。

4) 服务 bean 没有分离到另一个包中。

5) 休眠自动提交不正确。

我想知道是否:

  1. CXF OutFaultInterceptor 已经“吃掉”了应该被容器捕获以进行事务回滚的异常。结果,没有发生回滚。

  2. 实体管理器必须是所有 DAO 之间共享的同一个实例,才能发生回滚。

  3. 可能是我需要将服务分成另一个捆绑包吗?

感谢有人可以让我知道在服务层为 cxf jaxrs 端点处理事务的正确方法。

0 投票
1 回答
285 浏览

apache-camel - apache aries blueprint中如何实现bean继承

目前我们正在将我们的应用程序从 Spring-DM 迁移到 Aries Blueprint。需要一种使用bean继承的方法。我读到蓝图中不支持父属性。

0 投票
1 回答
529 浏览

jpa - 如何将 Aries DS JPA 与实体管理器工厂构建器一起使用

我想在带有 DS(声明式服务)的 Karaf 上使用 Aries JPA,但我需要更多地控制 EM 的创建。

我想获取 EntityManagerFacroty 或 Builder 的实例,以便我可以即时创建自己的 EM。

原因是我有一个工厂服务,它创建不同的 EM,这取决于客户端需要连接到哪个 DataSource,所以我不能在我的服务中硬编码连接的名称。

就像是:

我可以用它来按需制造工厂和 EM。

还有关于在 Karaf 上设置 eclipse 链接作为提供程序的任何提示:* Derby * MySql

谢谢。

取得了一些进展,如果捆绑包包含具有此单元名称的持久性单元,则 aries 会将 EMFB 注入到您的组件中。

我现在正在尝试使用 eclipse 链接属性从该组件建立到 Derby/Mysql 的新连接,但出现驱动程序丢失错误。

我正在使用这些配置属性来创建一个新的 EntityManagerFactory 并测试我是否可以像这样创建一个 EntityManager:

我收到一个错误,即未定义 mysql 或 derby(我尝试使用 derby 属性)。

我为 pax-jdbc 安装了 karaf 功能 pax-jdbc-config pax-jdbc-mysql pax-jdbc-derby 还有 jpa、eclipselink

0 投票
1 回答
1336 浏览

java - 蓝图 maven 插件 RuntimeException

我的代码中没有任何蓝图注释,但是当我尝试使用 maven 构建我的包时,我得到

有人可以解释一下,这里有什么问题吗?我试图谷歌,但没有找到任何东西。


更新:pom.xml

0 投票
1 回答
770 浏览

apache-camel - "camel-blueprint" namespace not found in blueprint declaration (Aries within Felix)

I'm trying to run a standalone OSGi framework to run blueprint bundles within it that execute camel routes. The OSGi framework is Apache Felix, the blueprint implementation is Apache Aries.

The following bundles are loaded to the BundleContext of the framework:

Installed bundles

Now I have a test bundle that has a blueprint definition which contains a camelContext that looks as follows:

Even though all the bundles are loaded and the requirements are resolved, the blueprint container gives the following log:

The important line here is the Waiting for namespace handlers: the test bundle can't find the camel-blueprint namespace. But this namespace should be defined in the camel-blueprint bundle that is installed.

Without the camelContext in the blueprint, everything works (blueprint services are loaded and initialized).

Has anyone had similar problems with this? What is preventing the test bundle to have access to the camel-blueprint provided namespaces?

0 投票
0 回答
115 浏览

osgi - 对托管服务工厂或服务组件进行单元测试

是否有不使用 pax-exam 通过 ConfigAdmin 创建 SCR 或 MSF 的单元测试示例?

我正在寻找启动我的 MSF 或 SCR.. 然后添加配置条目并确认服务的创建。

目前,我正在使用 felix connect blueprint-test 框架。

0 投票
0 回答
308 浏览

hibernate - OSGI + 白羊座 JPA + 休眠方言

我正在尝试进行一些 pax-exam-karaf 测试(hibernate 5.2.6、Pax-exam 4.9.2、ServiceMix 7.0.0M3),但我遇到了休眠方言的问题。在生产中,我们使用 PostgreSQL,但对于集成测试,我想使用 h2 数据库。我们的持久化 xml 包含

在 Maven 父 POM 中,我们定义了

我已阅读此讨论http://karaf.922171.n3.nabble.com/Dynamic-parameters-in-persistence-xml-td4043602.html并在 Pax-Exam 配置代码中进行了尝试:

所以我可以在 karaf/etc 目录中看到这些配置文件,但所有持久性捆绑包仍然具有在 persistence.xml 中指定的 hibernate.dialect。我也尝试将此文件之一复制到 servicemix 发行版,但结果相同,休眠方言仍然相同。

aries jpa 持久性配置文件的这个解决方案有问题吗?或者有没有其他方法可以改变persistence.xml的方言?

我知道我可以从persistence.xml 中删除休眠方言,但由于某些其他原因,我们不能这样做。我还发现我可以使用我自己的方言解析器(http://blog.exxeta.com/2016/03/23/dynamically-resolve-hibernate-database-dialect/)但我更喜欢配置方式是可能的。

0 投票
0 回答
210 浏览

java - 捆绑随机进入 GracePeriod

我有一个持久性捆绑包,大多数情况下它工作得很好,但每隔一段时间它就会卡在GracePeriod,当这种情况发生时,缺少的依赖是EntityManager

但是,正如你所看到的,有一个EntityManager

重新启动捆绑包不会改变任何东西。但是重新启动捆绑包org.apache.aries.jpa.blueprint可以解决问题

有任何想法吗 ?

谢谢

编辑 :

捆绑:列表

特征:列表

清单文件

日志

持久性.xml:

0 投票
0 回答
114 浏览

apache-camel - 在 Karaf OSGi 的 Camel BLueprint DSL 中从其他包加载 bean 的问题

根据专家的建议,我正在尝试使用 Camel(2.18.2) + karaf(4.0.8)+blueprint(Aries) 进行迁移。

我将文件分隔为 Routes XML 文件和 Beans XML 文件。RouteXml-> 它只有 Camel Routes BeanXml-> 它只有 bean 定义

结构::

现在 rootCamelContext.xml 加载正常。但其他捆绑 A 和 B 路线未加载。

问题: 1. 如何从 Bundle A 和 Bundle B 加载路由和 Bean?2. 如何将 bundle A 和 B 路由附加到 rootCamelContext ?

请帮助我了解如何从其他捆绑包中加载 bean。

我确实从其他捆绑包中导出了所有包。

更新

我现在得到原因:org.apache.camel.NoSuchBeanException:在注册表中找不到 bean:customBeanProcessor 类型:org.apache.camel.Processor

即使我在 Bundle-B 中公开了上面的 bean 并且它的状态是活动的。

osgi.service.blueprint.compname = customBeanProcessor

谢谢,

0 投票
1 回答
716 浏览

maven - org.apache.aries.transaction.blueprint/1.1.1 无法获取 javax.transaction.TransactionManager

我使用 karaf-maven-plugin 创建了 maven 发行版。

我使用创建了 Maven 项目

mvn archetype:generate -DarchetypeGroupId=org.apache.karaf.archetypes -DarchetypeArtifactId=karaf-assembly-archetype -DarchetypeVersion=4.1.0

然后我添加了以下功能:

当我从 Apache 站点下载 karaf 4.1.0 发行版并使用 feature:install 安装功能时,一切正常,但是,在由插件构建的发行版中,我收到错误:

由于未解决的依赖关系 [(objectClass=javax.transaction.TransactionManager)] java.util.concurrent.TimeoutException at org.apache.aries.blueprint,无法启动捆绑包 org.apache.aries.transaction.blueprint/1.1.1 的蓝图容器.container.BlueprintContainerImpl$1.run(BlueprintContainerImpl.java:371) [15:org.apache.aries.blueprint.core:1.7.1] 在 org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run( DiscardableRunnable.java:48) [15:org.apache.aries.blueprint.core:1.7.1] 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?] 在 java. util.concurrent.FutureTask.run(FutureTask.java:266) [?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?] at java.util.concurrent .ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker。在 java.lang.Thread.run(Thread.java:745) [?:?] 处运行(ThreadPoolExecutor.java:617) [?:?]

2017-03-22T11:03:51,401 | 错误 | 蓝图扩展器:1 | BlueprintContainerImpl | 15 - org.apache.aries.blueprint.core - 1.7.1 | 由于未解决的依赖关系 [(objectClass=javax.transaction.TransactionManager)] java.util.concurrent.TimeoutException at org.apache.aries.blueprint,无法启动捆绑包 org.apache.aries.transaction.blueprint/2.1.0 的蓝图容器.container.BlueprintContainerImpl$1.run(BlueprintContainerImpl.java:371) [15:org.apache.aries.blueprint.core:1.7.1] 在 org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run( DiscardableRunnable.java:48) [15:org.apache.aries.blueprint.core:1.7.1] 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?] 在 java. util.concurrent.FutureTask.run(FutureTask.java:266) [?:?] 在 java.util。

我在 Web 控制台的 OSGi 注册表中找到了该服务:

这里有什么问题?maven 插件是否做错了什么,或者问题是,该插件使用了不稳定版本的工件?