Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Osgi 无法从apache karaf客户端运行命令_Osgi_Apache Felix_Apache Karaf_Osgi Bundle_Blueprint Osgi - Fatal编程技术网

Osgi 无法从apache karaf客户端运行命令

Osgi 无法从apache karaf客户端运行命令,osgi,apache-felix,apache-karaf,osgi-bundle,blueprint-osgi,Osgi,Apache Felix,Apache Karaf,Osgi Bundle,Blueprint Osgi,我已经在几个CentOS6.4机器上下载了ApacheKaraf2.3.3(在felix上)。我只在少数机器上看到这个问题。当我尝试使用以下命令安装功能时 $KARAF_HOME/bin/start $KARAF_HOME/bin/client "features:install myfeature" 我得到以下堆栈跟踪: WARN org.apache.sshd.client.session.ClientSessionImpl - Exception caught java.io.IOExc

我已经在几个CentOS6.4机器上下载了ApacheKaraf2.3.3(在felix上)。我只在少数机器上看到这个问题。当我尝试使用以下命令安装功能时

$KARAF_HOME/bin/start
$KARAF_HOME/bin/client "features:install myfeature"
我得到以下堆栈跟踪:

WARN org.apache.sshd.client.session.ClientSessionImpl - Exception caught
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:273)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:690)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

看起来客户端无法连接到karaf。所有计算机上的防火墙都已关闭。有人知道为什么这会失败吗?如果在控制台模式下使用/bin/karaf运行karaf并键入相同的命令,该功能将得到很好的安装

我猜在karaf安装之前,您为远程karaf控制台定义的端口已经被另一个应用程序使用。因此,错误的应用程序接受链接,无法对数据进行任何处理并重置连接。我建议停止Karaf,使用
netstat
或通过
telnet localhost
检查Karaf配置为侦听的端口是否已在使用,并查找相关应用程序。作为替代方案,您可以配置Karaf以使用不同(未使用)的端口。参见示例

谢谢您的回答。我使用默认的karaf设置,ssh端口为8101。除了karaf之外,没有其他进程使用该端口。tcpdump显示./bin/client试图将数据包推送到karaf服务器,服务器用RST响应,这会破坏连接。Karaf在发送此RST后崩溃。我仍然不知道发生了什么事,这几乎成为了圣诞节的奇迹:-(