0 Replies Latest reply on Aug 20, 2012 1:00 PM by Christian Hendelberg

    DOSGi error on multiple machines with containers

    Christian Hendelberg Newbie


      I have a very simple dosgi example I built, an interface bundle, a service bundle that implements the interface method (String ping(int size);) and then a client bundle that calls the method. If I execute this example in a single dosgi based container, all is well and the method is called and returned.


      ALSO, if I execute this on two containers within a single machine, all is well and the method is called and returned.


      BUT, if I try to do this on two machines, each with its own container, but joined by the fabric, it errors.


      I attempted to build the camel-dosgi because that example also errors out on two containers, but currently it fails because the 084 blueprint dependency.


      Again, it works on a single machine with two containers, just NOT on two machines.


      Any help would really appreciated.



      (I can provide the example source if need be)

      Here are the setup parameters:


      Hosts file (on both machines):     App1 app1.example.com     App2 app2.example.com

      • Firewalls are confirmed to be off




      -     Install fuse-fabric-7.0.0.fuse-061

      -     Change system.properties karaf.name to app1

      -     Run bin/fusefabric

      -     Fabric:create

      -     Container-create-child ?-profile dosgi app1 client1



      -     Install fuse-fabric-7.0.0.fuse-061

      -     Change system.properties karaf.name to app2

      -     Run bin/fusefabric

      -     Fabric:join App2

      -     Container-create-child ?-profile dosgi app2 service2




      app1*                          1.0       true    fabric, fabric-ensemble-0000-1

        client1                      1.0       true    dosgi                          success

      app2                           1.0       true    default                       

        service2                     1.0       true    dosgi                          success



      container-connect service2

      install -s file:/opt/ping/interface.jar

      install -s file:/opt/ping/service.jar



      container-connect client1

      install -s file:/opt/ping/interface.jar

      install -s file:/opt/ping/client.jar

      (hangs, Ctrl-C)


      2012-08-15 10:26:20,132 | INFO  | spatch-DEFAULT-2 | TransportPool                    | 67 - org.fusesource.fabric.fabric-dosgi - 7.0.0.fuse-061 | Transport failure

      java.net.ConnectException: Connection refused

           at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)[:1.7.0_05]

           at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:701)[:1.7.0_05]

           at org.fusesource.fabric.dosgi.tcp.TcpTransport$5.run(TcpTransport.java:483)[67:org.fusesource.fabric.fabric-dosgi:7.0.0.fuse-061]

           at org.fusesource.hawtdispatch.internal.NioDispatchSource$3.run(NioDispatchSource.java:228)[75:org.fusesource.hawtdispatch.hawtdispatch:1.9.0]

           at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:84)[75:org.fusesource.hawtdispatch.hawtdispatch:1.9.0]

           at org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77)[75:org.fusesource.hawtdispatch.hawtdispatch:1.9.0]