Hi,

My comment inline.
On 2010-3-21, at 上午6:33, BobH wrote:


Hi,

Thanks for the response! I have more questions though. Are you saying that I can't simply take an example, bundle it as an OSGI package, and hot deploy it? I was under the impression that it would be as simple as converting a
jar to an OSGI package containing the service units.
Of course you can use OSGI package to rewrite the bridge example, provided you do it in the right way. I just suggest you MAY need take a look at how cxf-wsdl-first-osgi- package do, which also use OSGI package.

Also, shouldn't I see 8192 as listening port when I run a netstat provided SMX 4 is started? I don't see this port at all. Does this port become available once the bridge example is deployed (i.e. is this a JBI- ism that I'm not getting)? I'll take a look at your suggested example, but I'm still
perplexed as to why the bridge example won't work as an OSGI package.
No, you shouldn't see 8192 port listening when you start fresh SMX4 without bridge example deployed. 8192 is not osgi http service listening port and it's initialized by bridge example as normal jetty port when you deploy bridge example.

I think we're going to try to stick with Ant now rather than Maven - the environment that we're in makes it almost impossible to use maven as our proxy does not allow anything through other than browser traffic. Hence,
the dependency downloads never work.
How about consider to use NEXUS to work around this?

Freeman

Thanks,
Bob



Freeman Fang wrote:

Hi,

My comment inline.
On 2010-3-20, at 上午2:38, BobH wrote:


I'm new to ServiceMix and we're trying to spin up on SM 4 due to the
OSGI
support.  So far, it looks like we have been able to get a package
deployed
(we're calling it bridge_test) from the service units in
[SM_INSTALL]\examples\bridge (eip, http, jms, and xslt).

We were never able to get locationURI="http://localhost:8192/bridge";
to work
(we never found anything listening on 8192).  We looked in
servicemix.log
and it appears that Jetty is running on port 8080, not 8192:
I'm not sure I understand what you mean here.
Do you mean the bridge example shipped with smx4 kit doesn't work for
you?  bridge example use JBI package(on the contrary of OSGI package)
and it  should listen on 8192, if you didn't see port 8192 up after
you exactly following the bridge example README.txt instruction to
deploy SA then it means something wrong, could you tell me what's the
smx version you are using? You may need use the latest snapshot to
pick up latest changes.


10:27:46,479 | INFO  | guration Updater | jetty |
.service.internal.util.JCLLogger  102 | jetty-6.1.x
10:27:46,491 | INFO  | guration Updater | jetty |
.service.internal.util.JCLLogger  102 | Started
[email protected]:8080
This port is used for osgi http service, have nothing to do bridge
example, from this port number I know you use very early smx4 release,
as we use 8181 instead for osgi http service now.

So, we've changed the xbean.xml configuration in the http service
unit to:

<http:endpoint service="b:http"
  endpoint="endpoint"
  targetService="b:pipeline"
  role="consumer"
  locationURI="http://localhost:8080/bridge";
  defaultMep="http://www.w3.org/2004/08/wsdl/in-only"; />

We then package up the 4 service units into a OSGI bundle using bnd,
and hot
deploy the package into Service Mix 4.  When we do an osgi / list,
we see it
deployed as [ACTIVE], but not started.  Trying to run an osgi /
start on
it's PID does nothing.

We've changed the client to point to the same URL above.  When we
run the
client, we get an exception:

  java.io.FileNotFoundException: http://localhost:8080/bridge
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(
HttpUrlConnection.java:1311 )
at org.apache.servicemix.samples.bridge.Client.sendRequest( Unknown
Source )
at org.apache.servicemix.samples.bridge.Client.main( Unknown Source )

Also, we're not using maven, we've opted for Ant/Ivy.

If you want to know how to use OSGI package instead of JBI package,
take a look at cxf-wsdl-first-osgi-package example shipped with kit,
it's almost same as the cxf-wsdl-first example but use OSGI package,
hopefully you can get some idea from it.

Btw, when you deploy your SA or bundles, the SMX_HOME/data/log/
servicemix.log can always tell the details about what happened, you
may get some hint why your bundle can't start.
And our examples are based on maven-bundle-plugin to generate osgi
manifest headers, I believe you can do it with bnd/ant also, but why
not use maven, smx4 features also heavily depend on maven url to
describe bundles and aotu-download it if necessary.


Freeman
Does anyone have any suggestions on how we can get this running?

Thanks,
Bob
--
View this message in context:
http://old.nabble.com/File-not-found-while-running-example-bridge-client-in-ServiceMix-4-tp27951010p27951010.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.



--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com




--
View this message in context: 
http://old.nabble.com/File-not-found-while-running-example-bridge-client-in-ServiceMix-4-tp27951010p27972394.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.



--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com

Reply via email to