Can anyone point to a step-by-step tutorial on how to configure a remotely-accessible service contained within Eclipse Virgo 3.0x? I know that standards exist, etc., but I can find NO example which does not seem to contain a bunch of hand waving instead of specific steps along with working code/configurations to download. I don’t care if the example uses Apache CXF, Eclipse ECF, or just about anything else. What I want is the equivalent of RMI in that both the transport and wire protocol are abstracted away behind what appears to both client and server-side developers as just plain Java (with some liberties taken).
Which bundles must be deployed into Virgo to support remoting? What Spring-ish configuration settings work? What jars must be on the client-side classpath? Etc, etc.?
I played around with Apache CXF DOSGI and got it working quite easily.
Unzip Virgo (I used the kernel distribution for simplicity), copy CXF bundle to pickup, and start Virgo:
Install and run ZooKeeper server according to these instructions – I used 3.4.3. See also the ZooKeeper instructions including how to create a configuration file.
Create a file org.apache.cxf.dosgi.discovery.zookeeper.properties containing:
and copy to pickup:
Unzip another copy of Virgo kernel,copy the CXF bundle and org.apache.cxf.dosgi.discovery.zookeeper.properties into pickup, and start with a different JMX port:
That’s it, but to check that it’s working, the remaining steps run the greeter sample…
Install/start the greeter interface and implementation bundles into the first Virgo instance. The simplest way is to copy the interface bundle to repository/usr and then copy the implementation bundle to pickup.
Install/start the greeter interface and client bundles into the second Virgo instance. The simplest way is to copy the interface bundle to repository/usr and then copy the client bundle to pickup.
When the “Invoke Remote Greeter Service” window appears, enter a string (e.g. “foo”) into the Name field and click “Invoke”.
The first Virgo instance shows the following trace log messages (in serviceability/logs/log.log):
The second Virgo instance shows the following trace log messages:
Look in the service registry of the second Virgo instance.
A remote GreeterService has been published in the service registry.