问题标签 [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 - 在 Karaf 的 JAX-RS 包上使用 Spring Security
我有一个 OSGi 包,它使用 JAX-RS 来处理一些 REST 服务。此捆绑包在带有 Apache CXF 的 Karaf 中运行。我需要对某些路径/方法组合应用基本的 http 身份验证。我一直在修改 Spring Security,似乎新的 3.1 版本可以让你做到这一点,但是我在 OSGi 中让它工作时遇到了很多麻烦。
作为一个测试,我创建了一个非常简单的beans.xml文件:
现在,有趣的部分来了……从我一直在做的所有阅读中,我需要一个web.xml才能使所有这些工作。例如我尝试使用的这个示例:
使用这两个文件的组合不起作用。“没用”,我的意思是什么都没发生。没有错误消息,没有异常,捆绑包的功能就像我尝试添加弹簧安全性之前一样。我假设问题是捆绑需要是 WAR 或 WAB 才能加载 web.xml。这个对吗?
更重要的是,有没有办法让 spring 在没有 web.xml 的情况下工作?
我正在假设我需要将捆绑包保留为捆绑包以供 CXF 加载,因此我无法将其转换为 WAR 或 WAB,但我不完全确定是这种情况。
感谢您的任何帮助,您可以提供!
更新:
在做了一堆额外的谷歌搜索之后,我发现一个论坛帖子提到添加Web-FilterMappings: springSecurityFilterChain;url-patterns:="/*"
到你的清单而不是使用 web.xml。但是,您似乎仍然需要使用 WAB 而不是普通捆绑包。我已将该行添加到我的清单中以防万一,但它没有效果。看来我的问题正在变成:如何将 WAB 与 CXF 一起使用?
更新2: 因为这个问题不够长......我决定尝试使用Spring Security注释而不是intercept-url来看看会发生什么。当我尝试访问安全路径时,我得到了这个有趣的堆栈跟踪:
spring 网站说,第一次尝试匿名连接到安全服务时会发生这种情况,第二次不会发生这种情况。好吧,它每次都发生在我身上。从例外情况来看,我在清单中的条目似乎正在被提取,并且问题可能与我想象的不同。有人对为什么会这样有任何想法吗?我是否缺少 beans.xml 中的一些条目以使基本的 http auth 工作?
log4j - 登录到 Apache Karaf 的附加文件
我有一个同时使用 Apache Camel 和 Karaf 的系统。
我需要一些特定的处理器来登录一个新的日志,而不是默认的,karaf.log。
我发现有一个名为“org.ops4j.pax.logging.cfg”的文件负责记录配置。
这是我弄乱它之前的文件:
现在我添加了一个额外的 File appender:
从 Camel ,我从 DSL 登录:
现在的结果是将所有内容都记录在“new.log”和“karaf.log”文件中。
问题是:我如何登录“new.log”以防万一特定处理器。其他人将登录到 karaf.log !
java - OSGi 包从另一个包访问 Spring 上下文文件
我有一个作为多个 Spring 项目存在的现有应用程序。项目 A 的 Spring 上下文 XML 文件使用
但是,我得到一个FileNotFoundException
. 我认为这是由于项目 B 的捆绑包未公开资源这一事实造成的。我可以访问类,但不能访问文件。
在研究这个问题时,常见的评论是使用 OSGi 服务并注入服务,而不是尝试直接注入 bean。但是,由于这是一个现有的应用程序,我想避免重新布线整个事情。
有没有办法告诉 OSGi 导出资源?我在 Karaf 上运行 ServiceMix。
java - OSGi SOAP Web 服务客户端
我试图让一个从 OSGi 工作的 Web 服务客户端,我使用 Felix 作为我的容器。
到目前为止,我已经尝试过使用 Apache CXF。这不适用于我的 Web 服务,因为它是 RPC/编码的,并且在我尝试生成存根时不受支持。我使用 apache Axis 来生成我的存根,现在我在我的包中遇到了与依赖项有关的问题。当我的包被部署时,我得到了 apache 包的依赖项。
我在构建中使用了 maven,并使用了具有 bundleall 目标的 maven-bundle-plugin 来获取依赖包,但仍然遇到包依赖项的问题。我真的很想使用 osgi,因为通过 bundles 的可插拔特性正是我所需要的,但是我花了很多时间来追踪 bundle 依赖项。
是否有使用 OSGi 的 SOAP Web 服务的明确示例,包括如何解决依赖关系?
java - 高效的 OSGi 开发工作流程
我开发的产品由许多捆绑包组成,这些捆绑包在 karaf 之上作为功能运行。通常,我们的开发人员一次处理一个捆绑包。我们的正常开发是这样的:代码,编译,将包复制到部署文件夹,测试。我们还发现 hotdeploy 只是拒绝覆盖作为功能安装的某些捆绑包,而无需重新启动服务器或功能卸载/重新安装,因此有时周期更长。
我的问题是:社区中是否有人有更好的方法?我们做事的方式很有效,但我觉得它很慢而且效率很低,我敢打赌有人想出了更好的东西!
编辑:我意识到我的问题很不清楚......我们在 Karaf 下使用 Equinox。我们还使用 Eclipse 和 Maven,虽然我不知道使用 Maven 是否相关。
osgi - Apache Karaf 与 Servicemix
有人使用 Karaf 而不是 Servicemix 吗?如果是这样,您是如何做出这个决定的?我知道Servicemix在Karaf周围添加了一层功能,只是好奇Karaf是否单独使用以及为什么......
java - 在 Apache Karaf 下设置 Java 堆大小
如果这是重复的,我深表歉意,但我似乎无法在任何地方找到答案。
使用 Apache Karaf 时增加最大 Java 堆大小的最佳方法是什么?
目前,我在 karaf.bat 文件中修改了以下行:
set DEFAULT_JAVA_OPTS=-server -Xmx<NewMaxValue>M
.
我觉得修改bat文件不是最好的解决方案。此外,似乎没有一个配置文件可以放置它。
谢谢
apache-karaf - Apache Karaf 2.2.3,功能启动问题
Karaf 2.2.3 最近发布,终于有一个预捆绑的 spring-jms 功能。为了让生活更轻松,我将它添加到 featuresBoot 配置属性中,并使用其他默认值:
featuresBoot=config,ssh,management,spring-jms
但是,当我启动 Karaf 时,它的行为无法控制。有时它会在启动时安装,有时则不会。当它不自动安装时,我尝试通过命令行添加它:
features:install spring-jms
甚至那行为也很疯狂。见下文:
这些是安装命令的背靠背执行。最后一次执行有效。
其他人看到这种行为吗?或者知道如何纠正?
cxf - 如何覆盖 CXF 服务列表 URL?
我的网络服务有一个 REST 端点 URL,例如 /myapp/admin/services。如果我设置org.apache.cxf.servlet.hide-service-list-page=false
了,那么我的 URL 会被 CXF 服务列表劫持。发生这种情况是因为列表 URL在 org.apache.cxf.transport.servlet.ServletController 中是相对的。
好的,好的,所以我不应该在我的 URL 结构中使用短语“服务”。过失。但现在我该如何解决这个问题?我想覆盖 ServletController 中的“/services”默认值。我只需要我的容器在该类上调用 setServiceListRelativePath() ,但我不知道如何。我想有一些神奇的 Spring 片段可以做到这一点?
如果重要的话,我将使用捆绑在 Talend Service Factory 中的 CXF。
osgi - karaf 控制台中的“找不到命令:grep”
我对 Servicemix 版本 Fuse ESB 4.4.1 有奇怪的问题。
有时部分命令将无法加载且不可用。通常这种情况发生在我经常使用的命令 grep 中。这看起来如下:
karaf@root> 列表 | grep 春天
找不到命令:grep
它似乎是随机的,重新启动通常会有所帮助。对于以前版本的 Fuse ESB,它有时会发生,但非常罕见,现在它经常发生。有人可以帮忙,是什么导致了问题?