问题标签 [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.
apache-karaf - 无法启动 apache karaf.bat (Karaf 3.0.0)
我已经正确设置JAVA_HOME
,MAVEN_HOME
指向 jdk home 和 maven 安装主目录,JAVA_HOME/bin
并且MAVEN_HOME/bin
还在PATH
. 但是当我执行时,我仍然karaf.bat
没有看到这里的快速入门指南中提到的任何输出。相反,我看到空白屏幕无限运行。请帮我。
我在 Windows 7 64 位。
dependencies - 具有大量导入依赖项的 Apache Karaf OSGI 应用程序
我刚刚部署了我的第一个 Karaf 应用程序,它是从 Tomcat 战争文件转换过来的。我注意到的是,Karaf 有大量依赖项,但 Tomcat 有少量依赖项。
在 Karaf 中,我怎样才能消除额外的依赖项?在CQ,有一个“负面进口清单”。卡拉夫有类似的东西吗?
apache-karaf - fabric8-maven-plugin 有问题
我遇到了一个问题,我不确定如何解决。
按照fabric8.io 手册,我已经配置了maven 插件,并将每个配置位都放在了应该放置的位置。
但是,一旦我执行 mvn fabric8:deploy 我总是得到:
任何建议都会非常有帮助。
非常感谢,蒂霍
hibernate - 使用 Aries 的 Karaf(3.0) 中的 Hibernate(4.2.7) JPA 异常
我正在使用 Karaf 3.0.0、Hibernate 4.2.7.Final、容器管理的 jpa。
持久性捆绑包在启动时进入 GracePeriod 状态,然后进入失败状态。以下是启动捆绑包时来自 Karaf 日志的错误。
2014-04-07 16:46:01,716 | 信息 | 本地用户 karaf | BlueprintContainerImpl | 4 - org.apache.aries.blueprint.core - 1.3.0 | 捆绑ecomm.dao.impl.hibernate正在等待依赖项[(&(&(org.apache.aries.jpa.proxy.factory=true)(osgi.unit.name=ecomm))(objectClass=javax.persistence.EntityManagerFactory )), (&(&(org.apache.aries.jpa.proxy.factory=true)(osgi.unit.name=ecomm))(objectClass=javax.persistence.EntityManagerFactory))]
在安装 hibernate 之前,我已经安装了 jpa、transaction 和 jndi 功能。我还没有安装 openjpa 功能。
此外,Aries JPA Container Managed Contexts和Aries JPA Container捆绑包都处于活动状态。还注意到启动服务时没有 Jpa-hibernate 错误中建议的 EntityManagerFactory 服务
下面是休眠包的快照。
我的配置中是否缺少某些内容?
谢谢你。
scala - OSGi Karaf Scala UnsupportedAudioFileException
这是我在此的头一篇博文。我目前正在 Apache-Karaf 3.0.0 上的 Scala 中开发一个简单的 http 音频 servlet。我正在将它部署为一些捆绑包中的功能,这些捆绑包是我使用 maven 项目构建的。我正在使用“javax.sound.sampled”库来获取音频,并且正在使用“java.io.File”从 AudioSystem 加载文件。
这显然不是真正的代码,因为我已经去掉了所有琐碎的部分。但这就是在“getAudioInputStream”调用中失败的地方。
当我将此代码部署到 Karaf 时,它会因“UnsupportedAudioFileException”而失败。该文件确实存在,并且是可读的,我已经验证了这一点。另外,我已确保此代码可以在以下情况下运行。- Scala 2.10.2、2.10.3 - Java 1.7.0_45(这与我的 Karaf 程序使用的 JRE 相同) - SBT 0.12.4(使用不同的 Scala 版本)
唯一失败的地方是当我将它部署到 Karaf 时。我不知道 Karaf 是否取消了一些随机音频支持,或者发生了什么,因为这在通过 SBT 或使用 Scala 命令行部署时可以正常工作。我也研究了替代库,但无济于事。大多数其他解决方案似乎都是基于通过声音驱动程序实际播放音频,这对我来说毫无用处。我需要实际的字节数据。
另外,请记住,仅发送文件对我来说也是无用的。另一个要求是我需要能够将多个音频文件合并到一个无缝音频流中。我已经完成了这项工作,我只需要将它移植到 OSGi,由于某种原因,我现在遇到了这个错误。我不知道 Karaf 是否与它有关,或者我通过 Maven 项目构建它是否破坏了某些东西。我环顾四周,发现问题可能出在哪里的提示很少。
我使用的音频文件是波形音频。8,000 采样率,每个采样 16 位。我不认为这实际上会有所作为,但我不是音频格式方面的专家。
我的 pom.xml 依赖项如下。我使用的唯一插件是 Scala 编译器,当然我的根 pom.xml 使用的是 org.apache.felix maven-bundle-plugin。这里真的没有太多的魔法,但谜团仍然存在。
任何线索将不胜感激,谢谢。
hibernate - 从部署在 Karaf 容器中的 OSGi 应用程序连接到 PostgreSQL
我正在使用 Hibernate 从 Karaf 2.3.4 容器连接到 PostgreSQL,当我部署我的包时,出现一个异常说 javax.naming.NameNotFoundException osgi:service/javax.sql.DataSource/"(osgi.jndi.service.名称=jdbc/postgresds)。
这是我的persistance.xml 文件
这是我的 blueprint.xml 文件:
这是我的 datasource-postgres.xml 文件
这是我的 features.xml:
完整的堆栈跟踪是:
javax.naming.NameNotFoundException: osgi:service/javax.sql.DataSource/"(osgi.jndi.service.name=jdbc/postgresds)" at org.apache.aries.jndi.url.ServiceRegistryContext.lookup(ServiceRegistryContext.java: 113)[72:org.apache.aries.jndi.url:1.0.0] 在 org.apache.aries.jndi.url.ServiceRegistryContext.lookup(ServiceRegistryContext.java:144)[72:org.apache.aries.jndi .url:1.0.0] 在 org.apache.aries.jndi.DelegateContext.lookup(DelegateContext.java:161)[70:org.apache.aries.jndi.core:1.0.0] 在 javax.naming.InitialContext。在 org.apache.aries.jpa.container.unit.impl.JndiDataSource.getDs(JndiDataSource.java:65)[67:org.apache.aries.jpa.容器:1.0.0] 在 org.apache.aries.jpa.container.unit.impl.DelayedLookupDataSource.getConnection(DelayedLookupDataSource.java:36)[67:org.apache.aries.jpa.容器:1.0.0] 在 org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:70)[91:org.hibernate.entitymanager:4.2.2.Final] 在 org.hibernate.engine.jdbc.internal .JdbcServicesImpl$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcServicesImpl.java:242)[90:org.hibernate.core:4.2.2.Final] 在 org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:117)[ 90:org.hibernate.core:4.2.2.Final] 在 org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)[90:org.hibernate.core:4.2.2.Final] 在 org .hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)[90:org.hibernate.core:4.2.2.Final] 在 org.hibernate.service.internal。AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)[90:org.hibernate.core:4.2.2.Final] 在 org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1797)[90:org.hibernate.core :4.2.2.Final] 在 org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1755)[90:org.hibernate.core:4.2.2.Final] 在 org.hibernate.ejb.EntityManagerFactoryImpl.(EntityManagerFactoryImpl .java:96)[91:org.hibernate.entitymanager:4.2.2.Final] 在 org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914)[91:org.hibernate.entitymanager:4.2.2. Final] 在 org.apache.aries.jpa.container.impl.EntityManagerFactoryManager 的 org.hibernate.osgi.OsgiPersistenceProvider.createContainerEntityManagerFactory(OsgiPersistenceProvider.java:99)[96:org.hibernate.osgi:4.2.2.Final]。createEntityManagerFactories(EntityManagerFactoryManager.java:329)[67:org.apache.aries.jpa.container:1.0.0] 在 org.apache.aries.jpa.container.impl.EntityManagerFactoryManager.registerEntityManagerFactories(EntityManagerFactoryManager.java:242)[67 :org.apache.aries.jpa.container:1.0.0] 在 org.apache.aries.jpa.container.impl.EntityManagerFactoryManager.bundleStateChange(EntityManagerFactoryManager.java:185)[67:org.apache.aries.jpa.container :1.0.0] 在 org.apache.aries.jpa.container.impl.PersistenceBundleManager.setupManager(PersistenceBundleManager.java:394)[67:org.apache.aries.jpa.container:1.0.0] 在 org.apache。 aries.jpa.container.impl.PersistenceBundleManager.addingService(PersistenceBundleManager.java:209)[67:org.apache.aries.jpa.container:1.0.0] 在 org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(服务跟踪器。java:932)[karaf.jar:2.3.4] 在 org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)[karaf.jar:2.3.4] 在 org.osgi.util。 tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[karaf.jar:2.3.4] at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)[karaf.jar:2.3.4] at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:894)[karaf.jar:2.3.4] at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932) [org.apache.felix.framework-4.0.3.jar:] 在 org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793)[org.apache.felix.framework-4.0.3. jar:] 在 org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543)[org.apache.felix.framework-4.0.3.jar:] 在 org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4260)[org.apache.felix.framework-4.0.3.jar:] 在 org.apache.felix.framework.Felix .registerService(Felix.java:3275)[org.apache.felix.framework-4.0.3.jar:] at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346)[org.apache.felix .framework-4.0.3.jar:] 在 org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:320)[org.apache.felix.framework-4.0.3.jar:] 在 org.hibernate。 osgi.HibernateBundleActivator.start(HibernateBundleActivator.java:80)[96:org.hibernate.osgi:4.2.2.Final] 在 org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645)[org .apache.felix.framework-4.0.3.jar:] 在 org.apache.felix.framework.Felix.activateBundle(Felix.java:1977)[org.apache.felix.framework-4.0.3.jar:] 在 org.apache.felix.framework.Felix.startBundle(Felix.java:1895)[org.apache.felix.framework-4.0.3.jar:] 在 org.apache.felix.framework.BundleImpl .start(BundleImpl.java:944)[org.apache.felix.framework-4.0.3.jar:] 在 org.apache.felix.framework.BundleImpl.start(BundleImpl.java:931)[org.apache.felix .framework-4.0.3.jar:] 在 org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:488)[25:org.apache.karaf.features.core:2.3.4] 在 org .apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:405)[25:org.apache.karaf.features.core:2.3.4] 在 org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature (FeaturesServiceImpl.java:401)[25:org.apache.karaf.features.core:2.3.4] 在 org.apache.karaf.features.command.InstallFeatureCommand。doExecute(InstallFeatureCommand.java:62)[27:org.apache.karaf.features.command:2.3.4] at org.apache.karaf.features.command.FeaturesCommandSupport.doExecute(FeaturesCommandSupport.java:41)[27:org .apache.karaf.features.command:2.3.4] 在 org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)[14:org.apache.karaf.shell.console:2.3.4 ] 在 org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)[14:org.apache.karaf.shell.console:2.3.4] 在 org.apache.felix.gogo。 runtime.CommandProxy.execute(CommandProxy.java:78)[14:org.apache.karaf.shell.console:2.3.4] 在 org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:474) [14:org.apache.karaf.shell.console:2.3.4] 在 org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:400)[14:org.apache.karaf.shell.console :2.3。4] 在 org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[14:org.apache.karaf.shell.console:2.3.4] 在 org.apache.felix.gogo.runtime .Closure.execute(Closure.java:183)[14:org.apache.karaf.shell.console:2.3.4] 在 org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[ 14:org.apache.karaf.shell.console:2.3.4] 在 org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)[14:org.apache.karaf.shell.console: 2.3.4] 在 org.apache.karaf.shell.console.jline.Console.run(Console.java:183)[14:org.apache.karaf.shell.console:2.3.4] 在 java.lang.Thread .run(Thread.java:744)[:1.7.0_51]apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[14:org.apache.karaf.shell.console:2.3.4] 在 org.apache.felix.gogo.runtime.CommandSessionImpl.execute( CommandSessionImpl.java:89)[14:org.apache.karaf.shell.console:2.3.4] 在 org.apache.karaf.shell.console.jline.Console.run(Console.java:183)[14:org .apache.karaf.shell.console:2.3.4] 在 java.lang.Thread.run(Thread.java:744)[:1.7.0_51]apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[14:org.apache.karaf.shell.console:2.3.4] 在 org.apache.felix.gogo.runtime.CommandSessionImpl.execute( CommandSessionImpl.java:89)[14:org.apache.karaf.shell.console:2.3.4] 在 org.apache.karaf.shell.console.jline.Console.run(Console.java:183)[14:org .apache.karaf.shell.console:2.3.4] 在 java.lang.Thread.run(Thread.java:744)[:1.7.0_51]
我解决了这个问题,并按照 M. Cristian 的说法更新了文件列表,但这是另一个奇怪的问题:重新启动 Karaf 并尝试通过 Karaf 控制台插入数据时,控制台打印:The is no active Transaction,所以我尝试了使用 EntityManager 的其他方式,问题不再出现。
hibernate - 尝试使用 Karaf 容器延迟加载实体时出现异常
我正在尝试使用延迟加载方法从数据库加载数据,但发生异常,我使用的是 Karaf 3.0.0、Hibernate 4.2.2.Final 和 JPA 2。我还尝试在发出请求之前打开事务,但问题依然存在:
例外是:
sequence - Apache Karaf 停止订单问题
我们对卡拉夫的停止序列有问题......有任何序列吗?:) 就像我的捆绑包开始级别的相反顺序......我如何控制 Karaf 的开始或停止顺序......不是以编程方式,而是通过配置。
我的建议:
1. 在 deploy/features.xml 中???也许开始级定义?
2.或者blueprint.xml中的一些depends声明??
3.还是在pom.xml中配置过maven-bundle-plugin??
我认为开始顺序是由karaf以正确的方式自动解决的,但是停止顺序是如何定义的???
非常感谢
osgi - Karaf包导入错误
我正在尝试将一个包导入到另一个包导出的 Karaf 运行时中的 (.kar) 包。当我从 .kar 文件中的 bean 中引用这个包时,我得到一个错误。我有一个包正在导出一个包,即“com.sample”
当我运行 packages:exports 时,我可以在列表中看到正在导出的包,但是当我从 .kar 文件中引用它时,我收到以下错误:
我的清单如下所示
任何帮助将不胜感激!谢谢
osgi - 跨多个 Cellar 节点的单个 OSGi 包
关于 OSGi 的一个基本问题。单个 OSGi 包可以分布在多个 Cellar 节点上吗?假设我有一个使用 Actors (Akka) 创建的 OSGi 包,我可以将包分发到多个节点,以便我可以进一步利用分布式 Actor 功能吗?