问题标签 [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.
java - Apache Karaf 启动脚本。如何设置更多的烫发内存?
我试图弄清楚如何增加 karaf 的 permgen 记忆。在 karaf 的启动脚本中,我看到有:
我知道JAVA_PERM_MEM
andJAVA_MAX_PERM_MEM
是变量,但它们没有在启动脚本中的任何地方定义,除了这里。
karaf 正在现场机器上运行,所以我不想对其进行任何实验,我需要确定是否这样做:
会增加permgen内存吗?我需要这样做的原因是因为我不断得到:Caused by: java.lang.OutOfMemoryError: PermGen space
编辑:
karaf 上部署的所有包都与 spring 相关,它们有骆驼路由、cxf 端点、OpenJPA 持久性配置,所有这些都是通过 Spring 管理的。但我不认为有问题,因为据我所知,OutOfMemory PermGen 空间意味着所有部署的应用程序都没有足够的内存。如果有人知道问题可能出在哪里,那将非常有帮助。
java - OSGi 包之间的 OpenJPA 持久性
我OSGi
在 Apache Karaf 容器上部署了两个包。假设它们是 A 和 B。A 包是包含所有数据库实体和持久性逻辑的主包。BOSGi
包是一个应用程序,它使用来自 A 的方法将一些数据存储到数据库中。捆绑 B 还具有CXF
Web 服务端点。持久性由 处理OpenJPA
。
bundle A 中的方法包装了实体管理器的persist 方法。在包 B 中,有一个方法将对象作为参数,该参数在包 A 中定义,并具有持久化数据的方法。当我在捆绑 B 中调用该方法时,一切正常,数据按预期保存到数据库中。
问题是我想更新 B 包的CXF
端点实现类中的一个实体,它作为 Spring bean 公开,并OSGi
引用来自包 A 的对象,其中包含find
查找我需要更新的实体的语句。
当我调用find
方法时,实体会正确返回给我,但是当我设置一些新值时,事务不会被提交并且数据不会出现在数据库中。
据我所知,其中一个OpenJPA
功能是当您调用持久对象时,稍后您可以为其设置一些新数据,并进行所需的事务以更新该实体。它似乎不适用于我的情况。我试图用注释来注释CXF
端点实现类org.springframework.transaction.annotation.Transactional
。但这也不起作用。
也许有人知道问题出在哪里?我是否需要编写查询来更新CXF
端点中的实体?
java - Camel Jetty 中的自定义基本身份验证
我有一个OSGi
部署在 Apache Karaf 中的包。我正在使用BASIC
身份验证来检查用户凭据。这是我的配置Spring
文件:
当我输入此 URL 时:http://localhost:8282/services
在浏览器中,我看到了基本身份验证窗口,需要用户名和密码。到此为止没关系。
用户凭据在user.properties
ofApache Karaf
&{base.dir}/etc/
目录中设置。身份验证器从那里获取用户凭据进行检查。
我的问题是我需要以某种方式覆盖身份验证器以使用我的数据库中的凭据。我还没有尝试任何事情来完成这项工作,因为我不知道从哪里开始。我尝试在互联网上搜索,但没有线索如何使这项工作甚至从哪里开始,以使这项工作。因此,如果有人能指出我如何做到这一点的正确方向,那将不胜感激。
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
?
eclipse - 在 Eclipse 中调试 FuseESB 应用程序
Fuse ESB 使用 karaf 服务器和 OSGi。
对于代码,如果有人有步骤来获取应用程序的调试器,它将有所帮助。
我目前正在使用 Eclipse Indigo。由于使用了 OSGi,我们使用 Maven 来构建它。
哪个插件将有助于使用 OSGi 的 Karaf
java - 在 OSGi 包中使用 Spring AOP
我正在尝试将Spring AOP
用于记录目的。我已经设置了日志包,以及其中的OSGi
服务。
我有其他OSGi
捆绑包使用来自日志记录捆绑包的服务作为OSGi
参考。
日志记录包已部署Apache Karaf
并正在运行。我无法部署其他捆绑包。
我的 bundle 中的 spring 配置是这样的:
当我尝试启动我的捆绑包时,它给了我:
我已将 maven 依赖项添加到我的pom.xml
:
仍然没有解决问题。我在这里缺少什么?
java - 在 OSGi 包之间共享对象
我有两个OSGi
包部署在Apache Karaf
. A
和B
。我的A
OSGi
捆绑包用作基本身份验证处理程序。我已经设置了我的安全处理程序,它工作正常:
此处理程序位于 bundle 中A
。我需要做的是使这个处理程序成为OSGi
其他捆绑包使用的服务,在这种情况下,由 bundle 使用B
。我无法实现任何ConstraintSecurityHandler
类接口,因为它来自org.eclipse.jetty.security
包。
我试图创建自己的 Handler 类,然后扩展ConstraintSecurityHandler
并实现我的接口。所以OSGi
服务看起来像这样:
这不起作用,我得到了例外:
所以问题是我怎样才能让这个securityHandler
bean 作为OSGi
服务提供给其他OSGi
捆绑包?
java - 在 Apache Karaf 上的 OSGi 包中设置 Spring AOP 日志记录
我正在尝试设置Spring AOP
部署OSGi
在Apache Karaf
. 这与我在这里的帖子有关。那里提供的答案对我没有帮助。如果我添加 Maven 依赖项:
我必须导出一堆包:
而最后一个(com.bea.jvm.*)
正在打破一切。当我尝试启动我的包时,它给了我缺少需求的错误,并说这个包丢失了。(package=com.bea.jvm)
. 但它是出口的。除了上面的 maven 依赖,我还尝试了不同的其他但同样的问题。
我在这里缺少什么?OSGi
互联网上与和相关的信息并不多AOP
。有人能帮我吗?我被困在这里...
java - Apache Karaf 捆绑上下文侦听器
在 Web 应用程序中,我们有ServletContextListener
接口,它有方法:contextInitialized
并且在应用程序启动时被调用。我想知道在Apache Karaf
捆绑OSGi
启动时容器会调用某些方法以及捆绑停止时容器会调用某些停止方法时是否有类似的东西。里面有这样的东西Apache Karaf
吗?
我也在Spring
我的捆绑包中使用,所以也许可以通过某种方式使用Spring
?我试图搜索如何使用它的信息OSGi
,Apache Karaf
但没有找到任何信息。
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 捆绑包被激活?