问题标签 [pax]

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 回答
303 浏览

java - 如何在 org.ops4j.pax.logging.cfg 中使用环境变量?

我在 Felix 容器中使用 Pax Logging,因为使用动态加载的属性文件配置记录器的工具org.ops4j.pax.logging.cfg看起来很吸引人。

但是,我无法使用关于 Log4j 的姊妹问题中描述的环境查找。我注意到 Pax Logging 复制了一大块 Log4j。是否也支持环境查找?

我期望工作的例子是:

我希望equinox-myuser.log创建该文件,而不是得到equinox-.log. 因此,似乎某些引擎尝试解析变量,但失败了。测试是在 Windows 下启动的,所以变量 USERNAME 存在。

0 投票
1 回答
191 浏览

osgi - Apache CXF + Karaf 4.0.8 SAXParseException: 'ptp:ParameterizedInt'

我正在尝试实施 PAX-CDI + CXF + Karaf 4.0.8

我的 REST 服务:

休息服务实现

OSGI 服务接口

OSGI 服务提供者

蓝印

POM.xml

我正在使用 blueprint-maven-plugin 动态生成蓝图

生成的蓝图 autowire.xml

在 karaf 中安装时出现以下错误

0 投票
1 回答
535 浏览

osgi - Blueprint with CDI annotations + Karaf + JaxRX CXF ServiceConstructionException: No resource classes found

I am trying to follow the post

http://blog.nanthrax.net/2011/08/jax-rs-services-using-cxf-and-karaf/

I am getting the following exception on installing the Service bundle any advise please where i am going wrong

API Class

REST API

Impl

RESTIMPL

BluePrint

autowire.xml Generated from plugin

On installing the Rest IMPL getting exception

ServiceConstructionException

0 投票
2 回答
1092 浏览

osgi - javax.ws.rs-api 未找到 Karaf + OSGI + CXF + JaxRS org.glassfish.jersey.internal.RuntimeDelegateImpl

我正在尝试关注该帖子

http://blog.nanthrax.net/2011/08/jax-rs-services-using-cxf-and-karaf/

捆绑包已启动并正在运行

在调用服务时出现以下异常

http://localhost:8181/cxf/person/features

java.lang.ClassNotFoundException:javax.ws.rs-api [169] 找不到 org.glassfish.jersey.internal.RuntimeDelegateImpl

0 投票
1 回答
121 浏览

osgi - 如何使用 PAX-CDI 访问 KARAF/etc 中的 cfg 文件

如何使用 PAX-CDI 访问 KARAF/etc 中的 cfg 文件

例如:

KARAF_HOME\etc\import.cfg

如何使用 @OsgiServiceProvider 使用它

0 投票
1 回答
117 浏览

cdi - PAX-CDI + Drool + @Inject @KSession @KReleaseId 不工作

pax cdi +weld + drool 无法正常工作,出现以下异常

WELD-001408:带有限定符 @KSession 的类型 KieSession 的依赖关系不满足

https://salaboy.com/2015/10/20/back-to-the-basics-getting-started-with-drools-6-3-0-final/

0 投票
1 回答
98 浏览

java - 指定 aether 使用的 Maven 配置文件

我已经在 docker 镜像中打包了 karaf 容器,应该在测试和生产中使用。使用了不同的 nexus 存储库(生产存储库的工件在成功测试后首先部署),我想通过环境变量控制使用哪个存储库,因为它是最灵活的解决方案(也是在 OpenShift 等中配置图像的推荐方法) .)。

是否可以设置将被以太使用的 Maven 配置文件?

有设置org.ops4j.pax.url.mvn.settings,所以我可以部署 2 个 setting.xml 文件并选择正确的文件,但是即使不正确的生产性 maven 设置也可以通过测试。配置文件似乎是更抗错误的方式。

0 投票
1 回答
198 浏览

java - 在 OSGi 停止后忽略 Pax-log4j2 日志记录配置

我有一个包含多个 OSGi 捆绑包的 maven 项目,我使用 log4j2 和 pax-logging 作为日志记录后端。当我停止程序时,在 OSGi 框架关闭后,其余日志不遵循 log4j2 配置,因此日志消息采用不同的模式。我使用了以下两个系统属性:

设置 pax-logging.properties 配置文件和 defaultSerivceLog 级别,log4j2.xml 是用于日志记录的配置文件。OSGi 关闭后,使用 pax-logging 但不使用 log4j2 配置。我想通过 pax-log4j2 记录它。

0 投票
1 回答
466 浏览

logging - Karaf bundle 在运行时找不到 Log4j LogManager.class。

目前我正在做一个项目,我需要将第三方 JAR 加入我们的 Karaf D-OSGi 应用程序。我们不打算更改 jar 中的任何代码,但我们可以使用有限的源代码对其进行调试。

问题是第三方 jar 依赖于 log4j-1.2.9 jar。但是在运行时调用第三方jar时,从第三方jar中找不到logManager.class。

这是来自 Karaf 的异常日志。

org.apache.cxf.interceptor.Fault:org/apache/log4j/LogManager at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:162)[166:org.apache.cxf.cxf-core :3.1.7] 在 org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:128)[166:org.apache.cxf.cxf-core:3.1.7] ... org.eclipse。 jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[115:org.eclipse.jetty.util:9.2.19.v20160908] 在 org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool .java:555)[115:org.eclipse.jetty.util:9.2.19.v20160908] at java.lang.Thread.run(Thread.java:745)[:1.8.0_25] 原因:java.lang。 NoClassDefFoundError: org/apache/log4j/LogManager at com.p*******h.eis.tools.logging.LoggingSetup.isConfigured(LoggingSetup.java:77) at com.p*******ho ****l.sdk。configurator.Configurator.checkLogging(Configurator.java:623) (------------第三方 jar 里面--------) 在com.p*******ho****l.sdk.configurator.Configurator.load(Configurator.java:383) 在 com.p*******ho****l.sdk .configurator.Configurator.getInstance(Configurator.java:72) 在 com.p*****ho****l.sdk.transactionProcessor.TransactionProcessor.(TransactionProcessor.java:43) 在 ca.esc.pbm .integr.chase.provider.service.PbmChaseApiImpl.getCCtokenFromChasePaymentGateWay(PbmChaseApiImpl.java:98)p*******ho****l.sdk.transactionProcessor.TransactionProcessor.(TransactionProcessor.java:43) at ca.esc.pbm.integr.chase.provider.service.PbmChaseApiImpl.getCCtokenFromChasePaymentGateWay(PbmChaseApiImpl.java :98)p*******ho****l.sdk.transactionProcessor.TransactionProcessor.(TransactionProcessor.java:43) at ca.esc.pbm.integr.chase.provider.service.PbmChaseApiImpl.getCCtokenFromChasePaymentGateWay(PbmChaseApiImpl.java :98)

引起:java.lang.ClassNotFoundException:org.ops4j.pax.logging.pax-logging-api [1] 在 org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl. java:1574) 在 org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79) ... ... 50 更多

karaf@root()>

在 bundle 中, pom.xml 具有 log4j 1.2.8 依赖项。在 bnd.bnd 中,Export-Package : org.apache.log4j.*, .....


我已经检查了从 maven 生成的包 jar,log4j 包/jar 被导入到包和 Karaf 运行时。

我做了一些调试/研究,看起来 Pax 记录器接管/委托了 Log4j,它从包中隐藏了 LogManager。


另外,我尝试在不涉及第三方 Jar 的情况下直接从捆绑包中调用 LogManager,我得到了与找不到 LogManager.class 相同的异常。

我了解 Karaf 使用 Pax 记录器进行日志记录并将 log4j 实现委托给 Pax,但是在我的情况下,如何让无法触及的 Jar 类成功调用 LogManager?

谢谢

保罗·N。

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。