问题标签 [karaf]
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 - 在 OSGI (Karaf) 中使用 OpenJPA 进行动态运行时增强的未增强实体
我们有三个 Karaf 功能,每个功能都包含三个自定义包(api、impl、web)。每个功能的“impl”包还包含该功能使用的实体。我们在 Karaf 3.0.1 中部署这些功能,并使用 Karaf 3.0.1 附带的 OpenJPA 2.3.0 作为我们的持久性提供程序。
我们对三个特征中的实体使用动态运行时增强。对于这两个功能,实体总是在部署时得到增强并且它们工作正常。问题在于,对于第三个功能,Karaf 和 OpenJPA 偶尔会错过增强实体子集的功能,从而导致以下异常:
我们知道该openjpa.RuntimeUnenhancedClasses
选项,但不想使用它,因为它有已知的限制,并且在 OpenJPA 2.0.0 中默认禁用。
我们知道编译时增强并且我们正在成功使用它,但我们有理由尝试启用运行时增强。
我们目前的理解是,在 EntityManagerFactory 创建时,OpenJPA 通过 PersistenceUnitInfo 回调向 Aries JPA 注册,这是一个供 Karaf 使用的 ClassTransformer。这个 ClassTransformer 确实用于前两个特征的所有实体,但仅用于第三个特征的实体子集。
进一步调查,我们尝试记录 ClassTransformer 注册的时间和每个实体类的加载时间。我们注意到两个成功包和失败包之间的差异可能相关也可能不相关。对于随后的捆绑包,Aries JPA 功能尝试在 ClassTransformer 注册之前加载每个实体类,而对于失败的模块,则没有这样的尝试。
java - OSGi Karaf 中的错误“找不到 wsdl:web 方法的绑定操作信息”
我正在开发一个应该在 OSGi 容器中运行的客户端。我正在使用由 cxf-codegen-plugin 生成的存根。以下独立应用程序工作正常:
当我在 OSGi 容器中尝试同样的事情时(我正在使用 karaf,它使用 OSGi 的 felix 实现)。它不起作用!并告诉我这个例外javax.xml.ws.WebServiceException: Could not find wsdl:binding operation info for web method callService.
。代码如下所示:
我怎样才能使这段代码工作?
apache-camel - 卡拉夫脚本暂停所有开始的骆驼路线
我想在 Karaf 中创建一个命令来暂停当前已启动的所有 Camel 路线。同样,我将有另一个脚本来恢复所有暂停的路线。
我的想法是做类似的事情:
我的第一个问题是camel:route-list
不返回值
任何帮助将不胜感激。
osgi - 在属性出现之前阻止 OSGi 服务的启动
假设我有一个包含以下类的捆绑包:
我将通过使用以下蓝图配置创建类 FullName 的对象来实例化此服务:
我正在使用 Karaf 3.0。$KARAF_HOME/etc/FullNameApp.cfg 也不存在这些属性。在这些属性出现之前,如何永远启动这个捆绑块?
osgi - 卡拉夫石英
如何在石英触发器中访问我的 OSGi 服务?
下面,当定时器被触发时,我的服务 companyDao 为空。我是否需要将捆绑上下文提供给调度程序或作业?如果是这样,如何?
java - Jetty:设置通用主机
我如何强制 Jetty 从特定的虚拟主机开始打开所有已部署的 web 应用程序,例如test.localhost:8080/myapp
而不是localhost:8181/myapp
?
这是 jetty.xml 的片段:
...我试图发挥jetty.host
价值,但仍然没有成功。:(
如何?
python - Python pexpect - spawn 需要时间来建立
pexpect.spawn 是否需要时间才能返回其调用 Python 脚本?
我正在编写一个脚本来管理一个 Karaf 容器,使用 pexpect 来注入命令。如果 Karaf 没有运行,我注意到isalive()
除非我在脚本中插入暂停,否则我不能总是可靠地使用。
例如:-
如果我注释掉time.sleep(1)
然后isalive()
返回 true,即使 Karaf 没有运行。
根据logfile_read
是在睡眠之前还是之后,它要么什么都没有捕获,要么捕获以下内容:-
我宁愿拥有比任意睡眠更可靠的东西!
java - Karaf:如何配置虚拟主机
如何在 Karaf 中设置虚拟主机?
Karaf 已经嵌入了 Jetty,所以我制作context.xml
了以下内容并将其放入/etc
文件夹:
...但test.localhost:8181
带给我404
。
我不清楚文档中关于配置文件位置的说明,你能告诉我我做错了什么吗?
我认为它与cfg文件的位置有关...
shell - 脚本 Karaf shell 命令?
我需要以非交互方式发出 Karaf shell 命令,最好是从脚本中发出。更具体地说,我需要以feature:install
自动化的方式告诉 Karaf 一组特性。
这可能吗?是否有其他方法可以解决我缺少的这个问题(自动安装一组 Karaf 功能)?
servlets - Karaf 和 Eclipse Equinox OSGI 服务
在一系列关于 Java 网络框架的博客中,应该在 OSGI 中很好地发挥作用,我正在仔细研究 Karaf。我的测试用例非常简单,在 Karaf 上部署一个 Servlet。OSGI 有不同的 HTTPService 实现,我正在尝试使用 Equinox 实现 (org.eclipse.osgi.services)。
我的包在没有 HTTPService 依赖项的情况下很好地加载,但是当我为 HTTPService [3]、Servlet 添加依赖项并尝试安装功能 [1] 时,我遇到了麻烦 [2]。
笔记:
- HTTP 服务本身是使用 OSGI DS 服务安装的 [3]
- Karaf 配置为使用 Equinox OSGI impl。
所以抱怨是关于 aries-blueprint 的,但我在尝试安装的捆绑包中没有依赖它。
来自社区的建议将是最受欢迎的!
谢谢你,克里斯托夫·布希耶
[1] 名为 oss2 的 Karaf 功能
[2] 错误:
[3] 服务