Osgi 在Servlet容器中嵌入Equinox

Osgi 在Servlet容器中嵌入Equinox,osgi,tomcat7,equinox,Osgi,Tomcat7,Equinox,作为一名新手,我正在尝试将Equinox嵌入Servlet容器中, 我正在尝试从linux上的Tomcat7中部署bridge.war。 catalina.out没有显示任何错误,但是如果我尝试从tomcat访问任何内容,甚至是tomcat索引页,它会一直尝试简单地连接,并且不会显示任何内容 当我试图停止Tomcat服务器时,出现以下错误: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.

作为一名新手,我正在尝试将Equinox嵌入Servlet容器中, 我正在尝试从linux上的Tomcat7中部署bridge.war。 catalina.out没有显示任何错误,但是如果我尝试从tomcat访问任何内容,甚至是tomcat索引页,它会一直尝试简单地连接,并且不会显示任何内容

当我试图停止Tomcat服务器时,出现以下错误:

java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:337)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:198)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
    at java.net.Socket.connect(Socket.java:579)
    at java.net.Socket.connect(Socket.java:528)
    at java.net.Socket.<init>(Socket.java:425)
    at java.net.Socket.<init>(Socket.java:208)
    at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:490)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:371)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:452)
java.net.ConnectException:连接被拒绝
位于java.net.PlainSocketImpl.socketConnect(本机方法)
位于java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:337)
位于java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:198)
位于java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
位于java.net.socksocketimpl.connect(socksocketimpl.java:391)
位于java.net.Socket.connect(Socket.java:579)
位于java.net.Socket.connect(Socket.java:528)
位于java.net.Socket。(Socket.java:425)
位于java.net.Socket(Socket.java:208)
位于org.apache.catalina.startup.catalina.stopServer(catalina.java:490)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:601)
位于org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:371)
位于org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:452)

有人有这个问题吗?我怎样才能让它工作呢?

好吧,看起来你的Tomcat有个大问题,完全不考虑春分

要确认这一点,请删除bridge.war及其扩展文件夹,然后重新启动TC,我想您会看到同样的问题


我的猜测是,已经有一些进程在使用TC想要使用的端口(其中一个),而Tomcat无法正常启动,您应该会在catalina.out或localhost.*日志文件中看到一些错误。

嗯,看起来Tomcat有一个大问题,完全不考虑Equinox

要确认这一点,请删除bridge.war及其扩展文件夹,然后重新启动TC,我想您会看到同样的问题


我猜已经有一些进程在使用TC想要使用的端口(其中一个),而Tomcat无法正常启动,您应该会在catalina.out或localhost.*日志文件中看到一些错误。

在部署bridge.war之前,Tomcat运行正常,但如果我部署bridge.war,启动,然后停止Tomcat并尝试重新启动它,然后它显示端口正在被使用。奇怪。也许你已经添加了一个包,从war文件中启动自己的Web服务器,比如org.eclipse.equinox.http.jetty?或者tomcat根本没有关闭?Thnks指出,其中一个WTBWebApp在另一个端口上设置了一个netty服务器,将删除它并重试。我跳过了我的想法去研究它。我从tomcat中清理并删除了所有其他Web应用程序,我只部署了bridge.war,然后也遇到了同样的问题:(在部署bridge.war之前,tomcat运行良好,但是如果我部署bridge.war,启动,然后停止tomcat并尝试重新启动它,那么它表明端口正在使用。怪异。也许您已经添加了一个从war文件中启动自己的Web服务器的包,比如org.eclipse.equinox.http.jetty?或者tomcat根本没有关闭?Thnks for p指出,其中一个WTBWebApp在另一个端口上设置了一个netty服务器,将删除它并尝试。我忽略了这一点。我清理并删除了tomcat中的所有其他Web应用程序,只部署了bridge.war,但也遇到了同样的问题:(