问题标签 [apache-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.

0 投票
1 回答
3194 浏览

java - Apache Karaf 启动脚本。如何设置更多的烫发内存?

我试图弄清楚如何增加 karaf 的 permgen 记忆。在 karaf 的启动脚本中,我看到有:

我知道JAVA_PERM_MEMandJAVA_MAX_PERM_MEM是变量,但它们没有在启动脚本中的任何地方定义,除了这里。

karaf 正在现场机器上运行,所以我不想对其进行任何实验,我需要确定是否这样做:

会增加permgen内存吗?我需要这样做的原因是因为我不断得到:Caused by: java.lang.OutOfMemoryError: PermGen space

编辑:

karaf 上部署的所有包都与 spring 相关,它们有骆驼路由、cxf 端点、OpenJPA 持久性配置,所有这些都是通过 Spring 管理的。但我不认为有问题,因为据我所知,OutOfMemory PermGen 空间意味着所有部署的应用程序都没有足够的内存。如果有人知道问题可能出在哪里,那将非常有帮助。

0 投票
1 回答
378 浏览

java - OSGi 包之间的 OpenJPA 持久性

OSGi在 Apache Karaf 容器上部署了两个包。假设它们是 A 和 B。A 包是包含所有数据库实体和持久性逻辑的主包。BOSGi包是一个应用程序,它使用来自 A 的方法将一些数据存储到数据库中。捆绑 B 还具有CXFWeb 服务端点。持久性由 处理OpenJPA

bundle A 中的方法包装了实体管理器的persist 方法。在包 B 中,有一个方法将对象作为参数,该参数在包 A 中定义,并具有持久化数据的方法。当我在捆绑 B 中调用该方法时,一切正常,数据按预期保存到数据库中。

问题是我想更新 B 包的CXF端点实现类中的一个实体,它作为 Spring bean 公开,并OSGi引用来自包 A 的对象,其中包含find查找我需要更新的实体的语句。

当我调用find方法时,实体会正确返回给我,但是当我设置一些新值时,事务不会被提交并且数据不会出现在数据库中。

据我所知,其中一个OpenJPA功能是当您调用持久对象时,稍后您可以为其设置一些新数据,并进行所需的事务以更新该实体。它似乎不适用于我的情况。我试图用注释来注释CXF端点实现类org.springframework.transaction.annotation.Transactional。但这也不起作用。

也许有人知道问题出在哪里?我是否需要编写查询来更新CXF端点中的实体?

0 投票
2 回答
3156 浏览

java - Camel Jetty 中的自定义基本身份验证

我有一个OSGi部署在 Apache Karaf 中的包。我正在使用BASIC身份验证来检查用户凭据。这是我的配置Spring文件:

当我输入此 URL 时:http://localhost:8282/services在浏览器中,我看到了基本身份验证窗口,需要用户名和密码。到此为止没关系。

用户凭据在user.propertiesofApache Karaf &{base.dir}/etc/目录中设置。身份验证器从那里获取用户凭据进行检查。

我的问题是我需要以某种方式覆盖身份验证器以使用我的数据库中的凭据。我还没有尝试任何事情来完成这项工作,因为我不知道从哪里开始。我尝试在互联网上搜索,但没有线索如何使这项工作甚至从哪里开始,以使这项工作。因此,如果有人能指出我如何做到这一点的正确方向,那将不胜感激。

0 投票
2 回答
9826 浏览

java - 从码头到绝对 URL 的骆驼路线

我有一个OSGi捆绑部署在Apache Karaf. 我有一个简单的骆驼路线:

我无法让它工作。当我调用http://localhost:8282/services它时,它应该路由到uri下面指定的setHeader. 相反,我得到了这个例外:

java.lang.IllegalArgumentException:无效的 uri:/服务。如果您要转发/桥接 http 端点,请在端点上启用 bridgeEndpoint 选项:端点 [ http://172.28.128.158:8983/solr/targetjobs.co.uk.gtimedia.test/select/]

它说我需要启用网桥端点,但这不是端点,它是我试图指向我的路由的绝对 URL。

我已尝试按此处Spring所示进行设置,但这也不起作用。我还尝试更改此设置:

对此:

也没有成功。也许有人知道如何从jetty uri绝对路由url

0 投票
3 回答
5805 浏览

eclipse - 在 Eclipse 中调试 FuseESB 应用程序

Fuse ESB 使用 karaf 服务器和 OSGi。

对于代码,如果有人有步骤来获取应用程序的调试器,它将有所帮助。

我目前正在使用 Eclipse Indigo。由于使用了 OSGi,我们使用 Maven 来构建它。

哪个插件将有助于使用 OSGi 的 Karaf

0 投票
1 回答
3150 浏览

java - 在 OSGi 包中使用 Spring AOP

我正在尝试将Spring AOP用于记录目的。我已经设置了日志包,以及其中的OSGi服务。

我有其他OSGi捆绑包使用来自日志记录捆绑包的服务作为OSGi参考。

日志记录包已部署Apache Karaf并正在运行。我无法部署其他捆绑包。

我的 bundle 中的 spring 配置是这样的:

当我尝试启动我的捆绑包时,它给了我:

我已将 maven 依赖项添加到我的pom.xml

仍然没有解决问题。我在这里缺少什么?

0 投票
1 回答
1520 浏览

java - 在 OSGi 包之间共享对象

我有两个OSGi包部署在Apache Karaf. AB。我的A OSGi捆绑包用作基本身份验证处理程序。我已经设置了我的安全处理程序,它工作正常:

此处理程序位于 bundle 中A。我需要做的是使这个处理程序成为OSGi其他捆绑包使用的服务,在这种情况下,由 bundle 使用B。我无法实现任何ConstraintSecurityHandler类接口,因为它来自org.eclipse.jetty.security包。

我试图创建自己的 Handler 类,然后扩展ConstraintSecurityHandler并实现我的接口。所以OSGi服务看起来像这样:

这不起作用,我得到了例外:

所以问题是我怎样才能让这个securityHandlerbean 作为OSGi服务提供给其他OSGi捆绑包?

0 投票
1 回答
1562 浏览

java - 在 Apache Karaf 上的 OSGi 包中设置 Spring AOP 日志记录

我正在尝试设置Spring AOP部署OSGiApache Karaf. 这与我在这里的帖子有关。那里提供的答案对我没有帮助。如果我添加 Maven 依赖项:

我必须导出一堆包:

而最后一个(com.bea.jvm.*)正在打破一切。当我尝试启动我的包时,它给了我缺少需求的错误,并说这个包丢失了。(package=com.bea.jvm). 但它是出口的。除了上面的 maven 依赖,我还尝试了不同的其他但同样的问题。

我在这里缺少什么?OSGi互联网上与和相关的信息并不多AOP。有人能帮我吗?我被困在这里...

0 投票
2 回答
1032 浏览

java - Apache Karaf 捆绑上下文侦听器

在 Web 应用程序中,我们有ServletContextListener接口,它有方法:contextInitialized并且在应用程序启动时被调用。我想知道在Apache Karaf捆绑OSGi启动时容器会调用某些方法以及捆绑停止时容器会调用某些停止方法时是否有类似的东西。里面有这样的东西Apache Karaf吗?

我也在Spring我的捆绑包中使用,所以也许可以通过某种方式使用Spring?我试图搜索如何使用它的信息OSGiApache Karaf但没有找到任何信息。

0 投票
1 回答
4722 浏览

java - 为什么我的 Karaf OSGI 捆绑包标记为 UNSATISFIED,当所有参考都满足时?

尽管所有参考资料都得到满足,Karaf 仍将我的捆绑包显示为 UNSATISFIED。

我正在使用以下三个组件 - 来自 scr:list 的相关控制台输出:

组件 16 和 14 提供以下服务(来自 service:list 的输出):

在这两者都属于的 barchart-news-server 包中,引用被满足并按预期绑定(来自 scr:details 的输出):

但是,在依赖于这些服务的第二个捆绑包(#20)的组件中,虽然 Karaf 将引用标记为“已满足”,但它不会绑定它们并激活组件:

scr:com.barchart.news.modules.mysql.MySQLIndex 的详细信息:

是什么阻止了 MySQLIndex 捆绑包被激活?