Hello,
I'm looking at SMX4.2 (from fusesource actually) and trying to play with
the examples. I must say, I'm finding the process of deploying something
into SMX to be a real pain. I've tried both the OSGi packaging approach
and had limited success with it. This seems very unusual (deploying
something shouldn't be that hard), so I'm thinking that I'm missing
something. Here's my experience with each and I'm hoping someone will
step in to enlighten a new user:
Started with "examples/cxf-osgi":
=============================================
1) compiled with: "mvn install"
2) deploy with: "copy target\cxf-osgi-4.2.0-fuse-01-00.jar c:\fuse42\deploy"
3) NO JOY;
Looking at the CXF servlet (http://localhost:8181/cxf) I see the service
but is endpoint address ("/HelloWorld") is wrong. I can't access the
WSDL contract, nor invoke it. So I start looking into things:
4) Hours of pain and trial and error
5) At the Karaf console: "features:install cxf-osgi"
6) JOY!
Suddenly, everything works; apparently the "cxf-osgi feature" was needed
in order for the example to work. The feature is declared in
"http://repo.fusesource.com/maven2/org/apache/servicemix/apache-servicemix/4.2.0-fuse-01-00/apache-servicemix-4.2.0-fuse-01-00-features.xml".
What's strange is that you MUST install it _AFTER_ deploying the bundle.
If you start up the ESB, do a "features:install cxf-osgi" and then copy
your jar into the "deploy" folder, things DO NOT work (it's as if you
just did the first 3 steps).
So, in order to play with the example, every time I make a change I must
copy the jar to the deploy folder and re-install the "cxf-osgi" feature
from the console. The work development cycle is thus:
1) edit the code
2) "mvn install"
3) copy my.jar c:\fuse42\deploy
4) @karaf: "features:uninstall cxf-osgi"
5) @karaf: "features:install cxf-osgi"
6) check your code to see how it behaves
There must be a better way...