问题标签 [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.
osgi - Apache Karaf 到底是什么?
我对 Apache Karaf 到底是什么感到有些困惑。
你能说 Apache Karaf 包括,除其他外:
- Apache Felix(它是 OSGi 4.2 框架的实现)
- Apache Aries(蓝图标准的实现)
osgi - 使用蓝图在 OSGi 引用侦听器中注入事务
我有一个 OSGi 包,它有一个参考侦听器类,用于跟踪其他 OSGi 包注册的服务。我已经使用蓝图配置了参考侦听器,并在 Felix 中部署了所有必要的 Aries 捆绑包:
一切都适用于这个配置,并且 MyServiceMonitor 类的绑定和取消绑定方法在服务来来去去时被调用。作为下一步,我希望绑定方法也可以在数据库中写入一些数据,因此我尝试在 MyServiceMonitor 中注入一个实体管理器并通过更改 bean 标记来创建事务,如下所示:
当我启动捆绑包时,这种为绑定方法创建事务的尝试会导致以下异常。当我删除 tx:transaction 标记时,捆绑启动没有问题,而我已经能够在具有相同蓝图配置的其他(非引用侦听器)bean 中使用实体管理器和事务。
作为 OSGi 的新手,我无法弄清楚这是否是预期的行为,如果是的话,在参考侦听器中执行数据库操作的正确方法是什么。对此有何见解?
geronimo - Geronimo-3.0.1 Aries 蓝图 java.lang.VerifyError
我正在使用 Gernomino 3.0.1 尝试使用 Aries/Blueprint 的 OSGI。由于以下异常而碰壁:
我的 JDK 版本是 Ubuntu 13.04 上的 1.7.0_25-b15。
这是我的蓝图配置的样子:
如果我注释掉该行:
<tx:transaction method="*" value="Required" />
我不再看到异常,但是服务不起作用,因为容器无法打开事务。已尝试使用 JDK 1.6,同样的问题。
感谢任何帮助,谢谢!
osgi - Aries 蓝图:自定义命名空间处理程序
我读到 Aries 允许拥有自己的自定义命名空间处理程序来支持自定义标签。我找不到有关该主题的任何信息或示例。有人可以指出我正确的方向吗?
谢谢!
osgi - 数据库连接未在 OSGi 中关闭
我有一个 OSGi 包,它需要将数据保存在数据库中。如前一个 stackoverflow 问题中所述,我发现为了使事务按预期工作,我需要使用 XADataSource 连接到数据库。但是,当我这样做时,我看到我的应用程序打开的与数据库的连接永远不会关闭,这当然会导致数据库在一段时间后无法接受更多连接。
我的设置如下:
我有一个创建数据源的包,它只包含一个带有以下内容的 blueprint.xml 文件
然后在持久化我的数据的包中,我有一个 persistence.xml
我指定我的服务方法应该在我的 blueprint.xml 中的事务中运行
我在 Karaf 中通过捆绑包进行部署,使用 Aries 和 OpenJPA 进行持久化,同时我还部署了 Aries 事务包装捆绑包 (org.apache.aries.transaction.wrappers),以便通过事务管理器获取我的 XA 资源。
任何想法我在我的配置中缺少什么?
编辑: 经过更多搜索后,我发现了这个 DBCP 问题,这表明我遇到的问题是 MySQL 的 DBCP 错误。但是,我不知道如何用 OpenJPA 可以使用的其他一些连接池实现替换 DBCP。任何建议都非常受欢迎。
java - Apache Aries 和 Glassfish 集成
我正在尝试使用 Glassfish v4 部署 apache aries 博客示例,但出现以下异常:
由于 Glassfish 有自己的 osgi jndi,我不确定如何让 apache aries JNDI 在 glassfish 服务器中工作。
java - 如何在 WebSphere 上的 OSGi 企业应用程序中设置记录器?
我对如何在 Java EE OSGi 环境中正确设置记录器感到很困惑。以下是我的要求:
- 每个 EBA 仅 1 个日志文件(捆绑包分组)
- 每个应用程序服务器有多个日志文件(由于多个 EBA)
- 不想执行 ClassLoader 魔术(如果我使用的库可以这样做,我只是不想编写它)
- 必须在一天结束时轮换日志文件,并且一次只能维护 7 个日志文件
- 最好不需要为每个 EBA 创建一个日志包。如果我告诉他们为每个应用程序编写自己的日志互操作,没有其他开发人员会接受。
- 必须与 WebSphere Application Server 8.5.5 一起使用
首先,我尝试像我们的其他 Java EE 应用程序一样在 log4j 之上使用 SLF4j,但是找不到我的 log4j.properties。我尝试了导入 SLF4j 的变体,并且还遇到了将其加载到 1 个捆绑包中阻止它加载到另一个捆绑包中的问题。
接下来我查看了 PAX 记录器,但它似乎是全局记录,而不是每个 EBA。
尝试使用 OSGi LogService 会阻止我的包部署到 WebSphere,而且我不确定如何让它满足我的要求。
我现在可以看到的唯一选择是编写我自己的包,该包为包 - > 日志文件保留一个注册表(在客户端类上使用 FrameworkUtil.getBundle)并在其中实现一个完整的日志框架。如果这有类加载器隔离问题,那么可能会推送到 EJB 来进行实际的日志记录。我真的希望这不是我唯一的解决方案。
谁能指出一些可以帮助我的文档?
谢谢!
java - Apache Aries 蓝图中是否有像 Spring Profiles 这样的配置文件?
我想知道是否有任何类似于 Apache Aries Blueprint 的 Spring Profiles 的东西。在将蓝图文件部署到 Apache Karaf 容器时,我试图有条件地加载内容,但我仍然没有弄清楚如何去做。
将蓝图 XML 文件分成两部分对我来说不是一个可接受的解决方案,但也许还有其他我不知道的解决方案可以做到这一点。
谢谢!
java - OSGi 客户端 + Apache Aries => 连接到 GlassFish 4
我正在尝试使用 aries 连接到我的 glassfish 4 服务器。我安装了所有模块并开始org.apache.aries.jndi-1.0.0.jar
我创建了这样的初始上下文
但是遇到了这样的错误
引起:org.apache.aries.jndi.DelegateContext.getDefaultContext(DelegateContext.java:233) 处的 javax.naming.NoInitialContextException
如何设置初始上下文以连接到 GF4?用于连接服务器x.x.x.x
到端口的属性是什么NN
?
hibernate - Apache Felix 中的 JPA / Hibernate 集成
嗨,我运行嵌入在 tomcat 中的 apache Felix 实例。我需要 JPA(Hibernate 4.2.7 实现)集成,但在创建 EntityManagerFactory 时出现此异常。作为记录,如果我切换到 OpenJPA 一切正常,但这个解决方案是不可接受的
我有两个捆绑包:
dbconnection-ds:blueprint.xml
数据库连接:blueprint.xml
数据库连接:perisitence.xml
这是我的堆栈跟踪
我安装了以下捆绑包让 Hibernate 工作: