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

    DOSGi error on multiple machines with containers

    Christian Hendelberg Newbie

      Hello,

      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.

      --Christian

       

      (I can provide the example source if need be)

      Here are the setup parameters:

       

      Hosts file (on both machines):

      192.168.1.21     App1 app1.example.com

      192.168.1.22     App2 app2.example.com

      • Firewalls are confirmed to be off

       

       

      App1:

      -     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

       

      App2:

      -     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

       

      Container-list:

                                                     

      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

      exit

       

      container-connect client1

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

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

      (hangs, Ctrl-C)

      ld

      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]