It depends on the address (like in plain cxf). If the address start with / then it will use the HttpService of the container. If it starts with http://server:port it will start a new jetty instance.
Christian 2016-09-07 22:18 GMT+02:00 Brad Johnson <[email protected]>: > Thanks. Fuse launches Jetty by default I just wanted to make sure that > under the covers it wasn't using its own server instead. > > Brad > > On Wed, Sep 7, 2016 at 3:13 PM, Benson Margulies <[email protected]> > wrote: > >> On Wed, Sep 7, 2016 at 4:03 PM, Brad Johnson >> <[email protected]> wrote: >> > Christian, >> > >> > One last question and I promise to stop. In the simple example, when >> > starting the JaxWsFactory bean or its equivalent in Rs, that will not >> take >> > advantage of Jetty in a stack like ServiceMix or Fuse but use its own >> > in-built HttpServer. Do I have that correct? In a lot of cases it won't >> > really matter if I use the same address? The simple example uses: >> > >> > svrFactory.setAddress("http://localhost:9000/helloWorld"); >> >> That depends on which CXF transport you include. You can depend on >> pax-web, or you can let CXF launch jetty for itself. >> > >> > But if Jetty is running on port 8081 then if I change that to: >> > svrFactory.setAddress("http://localhost:8081/helloWorld"); >> > >> > will that simply use the Jetty port? >> > >> > >> > http://cxf.apache.org/docs/a-simple-jax-ws-service.html >> > >> > On Wed, Sep 7, 2016 at 10:44 AM, Brad Johnson < >> [email protected]> >> > wrote: >> >> >> >> Great, that's sort of how I figured it would work and I'l give it a >> shot. >> >> >> >> Brad >> >> >> >> On Wed, Sep 7, 2016 at 10:36 AM, Christian Schneider >> >> <[email protected]> wrote: >> >>> >> >>> In the old code the DS xml was manually created. The wiki is still at >> >>> that level. >> >>> In the new code the user only uses annotations and the maven bundle >> >>> plugin does the xml creation. >> >>> >> >>> Christian >> >>> >> >>> >> >>> On 07.09.2016 17:06, Brad Johnson wrote: >> >>> >> >>> http://cxf.apache.org/dosgi-ds-demo-page.html >> >>> >> >>> I see the SCR using XML in there but the annotations and SCR >> annotation >> >>> processor Maven plugin will automatically create that won't it. I'm >> so used >> >>> to using blueprint that it all feels a bit lopsided. >> >>> >> >>> On Wed, Sep 7, 2016 at 9:52 AM, Brad Johnson >> >>> <[email protected]> wrote: >> >>>> >> >>>> http://cxf.apache.org/docs/a-simple-jax-ws-service.html >> >>>> >> >>>> That looks a lot like what I'm looking for. Then I could set up a >> >>>> server bundle to do the repetitious stuff and have it export a >> service like >> >>>> SoapServer that takes a SoapInstallEvent and inside that I could >> send the >> >>>> interface, implementation and URI. Obviously the URI could be >> settable in >> >>>> cfg or properties file. Then when the bundle is being uninstalled >> it could >> >>>> send a SoapUninstallEvent. So the SoapServer OSGi service would >> only take >> >>>> those two events. Obviously I could set up the same thing for REST >> service. >> >>>> >> >>>> In that blueprint project I did that's pretty much how I handled it >> and >> >>>> it worked fine but I never knew about what the transport was really >> doing >> >>>> (Jetty, HTTP server, etc.) I don't like rolling my own code like >> that when >> >>>> it's far better letting the guys who know the libraries set it up. >> >>>> >> >>>> Brad >> >>>> >> >>>> On Wed, Sep 7, 2016 at 9:16 AM, Brad Johnson >> >>>> <[email protected]> wrote: >> >>>>> >> >>>>> I'll give it a look. That sounds like a move in the right direction. >> >>>>> In the short term I'll just set up the CXF server/endpoints with >> blueprint >> >>>>> and use the camel recipient list to route them to the correct >> bundle. That >> >>>>> doesn't work well for microservices. It probably would be OK for >> cxfrs >> >>>>> since it can take lists of interfaces to expose and those could be >> read from >> >>>>> an external configuration file. To move a service in or out one >> would just >> >>>>> modify the etc cfg file to add or remove the service interface and >> install >> >>>>> or uninstall the bundle. But I don't think that the CXF soap >> server can >> >>>>> take lists like that as far as I know. >> >>>>> >> >>>>> The CDI annotations added in to pax-cdi for using OSGi services >> right >> >>>>> from a bundle using only CDI and not a combination of CDI/DS is a >> very big >> >>>>> deal I think. That's going t be a real winner for a couple of >> reasons. >> >>>>> First it has fewer dependencies and annotations one must get >> right. Second >> >>>>> it will aid folks from other platforms who know how to use CDI but >> are not >> >>>>> as familiar with OSGi or DS. So making the move from any platform >> to the >> >>>>> Camel, pax-cdi platform is going to be much smoother. >> >>>>> >> >>>>> Brad >> >>>>> >> >>>>> On Wed, Sep 7, 2016 at 1:34 AM, Christian Schneider >> >>>>> <[email protected]> wrote: >> >>>>>> >> >>>>>> For CXF in DS or CDI you should try CXF DOSGi. I am currently >> woking >> >>>>>> on a new major version that is slimmer and should allow almost all >> CXF >> >>>>>> settings you can also do in blueprint. >> >>>>>> The idea is to publish the settings as OSGi services marked as >> >>>>>> intents. The new CXF DOSGi examples are all using DS and one >> example shows >> >>>>>> the setup of https with client cert authentication which was not >> possible >> >>>>>> before without blueprint. >> >>>>>> >> >>>>>> Christian >> >>>>>> >> >>>>>> 2016-09-07 0:19 GMT+02:00 Brad Johnson < >> [email protected]>: >> >>>>>>> >> >>>>>>> I'll definitely get my Nexus instance pointed at that repo and >> pull >> >>>>>>> it down. One of the biggest problems I'm going to have in the >> near term is >> >>>>>>> that the blueprint CXF allows for set up of everything to run on >> Jetty >> >>>>>>> fairly easily but to do the same thing on straight Java I end up >> having to >> >>>>>>> roll that myself. Perhaps an SCR/CDI library using the pax-cdi >> is in the >> >>>>>>> works once it has been released. I'll probably look at the Camel >> src code >> >>>>>>> for CXF to see how they do it internally with blueprint and >> attempt to >> >>>>>>> duplicate it. >> >>>>>>> >> >>>>>>> One of the frustrations I was having trying to do the CDI/SCR was >> >>>>>>> that I have it working perfectly well in one project but couldn't >> get it to >> >>>>>>> work correctly in the second project. I'm trying to make this so >> my bundles >> >>>>>>> can be microservices that when installed are picked up by the CXF >> Rest >> >>>>>>> and/or SOAP service and register themselves and when they are >> undeployed >> >>>>>>> automatically unregister. That's important in environments where >> you might >> >>>>>>> find out that one of the bundles is getting hammered by traffic >> on occasion >> >>>>>>> and that brings the whole bunch to a crawl. But if you can just >> uninstall >> >>>>>>> it and move it to a duplicate karaf/felix installation on another >> machine/VM >> >>>>>>> and have it auto deploy itself it makes that a snap. >> >>>>>>> >> >>>>>>> I did something with blueprint that was that way though I confess >> >>>>>>> some of the configurability was a bit overkill. Still, one >> bundle might >> >>>>>>> require badgerfish, as I had in a recent installation, while >> others did not. >> >>>>>>> Simply registering the bundle and having the SOAP/REST server >> pick it up >> >>>>>>> made that easy to configure. A bit of bundles as microservices. >> The only >> >>>>>>> way I can think of reasonably doing this now with just annotated >> classes is >> >>>>>>> if I could inject the blueprint create servers into my classes >> but I'm not >> >>>>>>> sure what they'd even look like in that context. What I ended up >> with is >> >>>>>>> creating my own JaxRSFactory and the equivalent with SOAP and >> starting them >> >>>>>>> up. Of course that meant they were running on the internal HTTP >> server and >> >>>>>>> not on something more suited to an enterprise environment. >> >>>>>>> >> >>>>>>> https://github.com/Ranx0r0x/Enjekt-Microservice >> >>>>>>> >> >>>>>>> On Tue, Sep 6, 2016 at 1:57 PM, Guillaume Nodet < >> [email protected]> >> >>>>>>> wrote: >> >>>>>>>> >> >>>>>>>> You need to use the 1.0.0-SNAPSHOT version available from the >> >>>>>>>> following maven repository: >> >>>>>>>> https://oss.sonatype.org/content/repositories/ops4j-snapshots >> >>>>>>>> I've just uploaded a new version to make sure it's up to date. >> >>>>>>>> >> >>>>>>>> 2016-09-06 20:50 GMT+02:00 Brad Johnson >> >>>>>>>> <[email protected]>: >> >>>>>>>>> >> >>>>>>>>> Is there a newer or extension bundle than: >> >>>>>>>>> pax-cdi-api-1.0.0.RC1.jar >> >>>>>>>>> >> >>>>>>>>> I don't see these annotations in there an Eclipse can't find >> them. >> >>>>>>>>> org.ops4j.pax.cdi.api.Component >> >>>>>>>>> org.ops4j.pax.cdi.api.Immediate >> >>>>>>>>> org.ops4j.pax.cdi.api.Service >> >>>>>>>>> >> >>>>>>>>> On Tue, Sep 6, 2016 at 11:09 AM, Guillaume Nodet >> >>>>>>>>> <[email protected]> wrote: >> >>>>>>>>>> >> >>>>>>>>>> The new annotations are >> >>>>>>>>>> org.ops4j.pax.cdi.api.Component >> >>>>>>>>>> org.ops4j.pax.cdi.api.Immediate >> >>>>>>>>>> org.ops4j.pax.cdi.api.Service >> >>>>>>>>>> ... >> >>>>>>>>>> >> >>>>>>>>>> Those annotations are different from the SCR or DS >> annotations, so >> >>>>>>>>>> you clearly do not need the felix scr annotations bundle. >> >>>>>>>>>> >> >>>>>>>>>> Guillaume >> >>>>>>>>>> >> >>>>>>>>>> 2016-09-06 17:51 GMT+02:00 Brad Johnson >> >>>>>>>>>> <[email protected]>: >> >>>>>>>>>>> >> >>>>>>>>>>> @gnodet >> >>>>>>>>>>> >> >>>>>>>>>>> I have been using the new CDI along with Camel 2.17.3 and it >> >>>>>>>>>>> sounds as if I don't need the SCR at all then? So I'd be >> able to remove >> >>>>>>>>>>> the felix scr annotations dependency? The last element in the >> list which >> >>>>>>>>>>> I've italicized. >> >>>>>>>>>>> >> >>>>>>>>>>> <dependency> >> >>>>>>>>>>> <groupId>javax.enterprise</groupId> >> >>>>>>>>>>> <artifactId>cdi-api</artifactId> >> >>>>>>>>>>> </dependency> >> >>>>>>>>>>> <dependency> >> >>>>>>>>>>> <groupId>org.ops4j.pax.cdi</groupId> >> >>>>>>>>>>> <artifactId>pax-cdi-api</artifactId> >> >>>>>>>>>>> <version>1.0.0.RC1</version> >> >>>>>>>>>>> </dependency> >> >>>>>>>>>>> <dependency> >> >>>>>>>>>>> <groupId>org.apache.camel</groupId> >> >>>>>>>>>>> <artifactId>camel-cdi</artifactId> >> >>>>>>>>>>> </dependency> >> >>>>>>>>>>> <dependency> >> >>>>>>>>>>> <groupId>org.apache.felix</groupId> >> >>>>>>>>>>> <artifactId>org.apache.felix.scr.annotations</artifactId> >> >>>>>>>>>>> </dependency> >> >>>>>>>>>>> >> >>>>>>>>>>> >> >>>>>>>>>>> On Tue, Sep 6, 2016 at 10:47 AM, Brad Johnson >> >>>>>>>>>>> <[email protected]> wrote: >> >>>>>>>>>>>> >> >>>>>>>>>>>> @gnodet >> >>>>>>>>>>>> >> >>>>>>>>>>>> Thanks for the info regarding the >> >>>>>>>>>>>> @OsgiServe/@OsgiServiceProvider. Perhaps that's where I go >> the idea that >> >>>>>>>>>>>> one needed to specify start up order on bundles. In some >> recent test >> >>>>>>>>>>>> projects I have been using the Felix SCR but most of the >> testing has been >> >>>>>>>>>>>> using the CamelCDI runner as it is very fast. That obviously >> creates some >> >>>>>>>>>>>> problems with having to double annotate some items for >> Inject vs Reference >> >>>>>>>>>>>> and so on and the fact that CDI isn't going to respect >> bundle boundaries >> >>>>>>>>>>>> inside the test. But that isn't a huge problem because in >> the context of >> >>>>>>>>>>>> testing it isn't like I have 300 bundles running. It's just >> a few >> >>>>>>>>>>>> application bundles and their dependencies. >> >>>>>>>>>>>> >> >>>>>>>>>>>> It does mean I'll have to get ready to deal with some errors >> >>>>>>>>>>>> when moving from the IDE environment over to the Karaf/felix >> environment but >> >>>>>>>>>>>> for development/testing speed it definitely seems worth it. >> >>>>>>>>>>>> >> >>>>>>>>>>>> I'm so used to using CamelBlueprintTestSupport and >> blueprint.xml >> >>>>>>>>>>>> that all of this still feels a bit left handed -- "If I were >> doing this in >> >>>>>>>>>>>> blueprint, this what I'd do...." >> >>>>>>>>>>>> >> >>>>>>>>>>>> On Mon, Sep 5, 2016 at 6:38 AM, Guillaume Nodet >> >>>>>>>>>>>> <[email protected]> wrote: >> >>>>>>>>>>>>> >> >>>>>>>>>>>>> I don't really recommend using the @OsgiService / >> >>>>>>>>>>>>> @OsgiServiceProvider of Pax-CDI. >> >>>>>>>>>>>>> The main reason is that if the bundles are not started in >> the >> >>>>>>>>>>>>> correct order, the bean validation will simply fail and >> your CDI app won't >> >>>>>>>>>>>>> be created at all. >> >>>>>>>>>>>>> I'd really recommend to look at the new annotations of >> Pax-CDI >> >>>>>>>>>>>>> which haven't been released yet (in 1.0.0-SNAPSHOT). They >> are very similar >> >>>>>>>>>>>>> to the DS semantics (and they actually use part of Felix >> SCR implementation >> >>>>>>>>>>>>> as the core engine). The lifecycle of the CDI beans is >> similar to those of >> >>>>>>>>>>>>> DS, so the dependency mechanism is really straightforward >> from a user point >> >>>>>>>>>>>>> of view. >> >>>>>>>>>>>>> >> >>>>>>>>>>>>> Cheers, >> >>>>>>>>>>>>> Guillaume >> >>>>>>>>>>>>> >> >>>>>>>>>>>>> 2016-09-02 19:46 GMT+02:00 Brad Johnson >> >>>>>>>>>>>>> <[email protected]>: >> >>>>>>>>>>>>>> >> >>>>>>>>>>>>>> Matt, >> >>>>>>>>>>>>>> >> >>>>>>>>>>>>>> For the past few weeks I've been working with the Camel >> 2.17 >> >>>>>>>>>>>>>> CDI and it's marvelous. I've been using blueprint for a >> few years now and I >> >>>>>>>>>>>>>> won't be going back to twiddling XML unless I have to (I'm >> not sure how to >> >>>>>>>>>>>>>> set up CXF server without it right now). But the CDI test >> runner is fast >> >>>>>>>>>>>>>> and a snap to use. The annotation automated wire up and >> RouteBuilder >> >>>>>>>>>>>>>> automatic running is just like you'd think ought to be. >> >>>>>>>>>>>>>> >> >>>>>>>>>>>>>> The pax-cdi implementation actually creates blueprint >> proxies >> >>>>>>>>>>>>>> for annotations like @OSGiServiceProvider and will inject >> it where you >> >>>>>>>>>>>>>> specify the service consumer. The only caveat to the CDI >> test runner is that >> >>>>>>>>>>>>>> it is not OSGi based but uses Weld. So you have to be >> careful about what >> >>>>>>>>>>>>>> you test but I can live with that. Truly stunning when >> one sees a >> >>>>>>>>>>>>>> technology that works almost like magic - like you'd dream >> it should work. >> >>>>>>>>>>>>>> >> >>>>>>>>>>>>>> On Fri, Sep 2, 2016 at 12:04 PM, Matt Sicker >> >>>>>>>>>>>>>> <[email protected]> wrote: >> >>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>> On 2 September 2016 at 11:30, Timothy Ward >> >>>>>>>>>>>>>>> <[email protected]> wrote: >> >>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>> As things stand currently blueprint is most widely used >> for >> >>>>>>>>>>>>>>>> working with Camel. From what I can tell configuring >> Camel is horrible, and >> >>>>>>>>>>>>>>>> my understanding is that the main advantage of blueprint >> is that there is a >> >>>>>>>>>>>>>>>> huge amount of ready-built Camel integration available. >> If Camel had a >> >>>>>>>>>>>>>>>> nicer, container agnostic configuration mechanism then I >> would see little >> >>>>>>>>>>>>>>>> reason to choose blueprint over DS. >> >>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>> This right here is exactly how I feel. If there was a well >> >>>>>>>>>>>>>>> supported way of simply using DS instead of Blueprint >> with Camel, then I'd >> >>>>>>>>>>>>>>> drop Blueprint in a single sprint and never look back. >> >>>>>>>>>>>>>> >> >>>>>>>>>>>>>> >> >>>>>>>>>>>>> >> >>>>>>>>>>>>> >> >>>>>>>>>>>>> >> >>>>>>>>>>>>> -- >> >>>>>>>>>>>>> ------------------------ >> >>>>>>>>>>>>> Guillaume Nodet >> >>>>>>>>>>>>> ------------------------ >> >>>>>>>>>>>>> Red Hat, Open Source Integration >> >>>>>>>>>>>>> >> >>>>>>>>>>>>> Email: [email protected] >> >>>>>>>>>>>>> Web: http://fusesource.com >> >>>>>>>>>>>>> Blog: http://gnodet.blogspot.com/ >> >>>>>>>>>>>>> >> >>>>>>>>>>>> >> >>>>>>>>>>> >> >>>>>>>>>> >> >>>>>>>>>> >> >>>>>>>>>> >> >>>>>>>>>> -- >> >>>>>>>>>> ------------------------ >> >>>>>>>>>> Guillaume Nodet >> >>>>>>>>>> ------------------------ >> >>>>>>>>>> Red Hat, Open Source Integration >> >>>>>>>>>> >> >>>>>>>>>> Email: [email protected] >> >>>>>>>>>> Web: http://fusesource.com >> >>>>>>>>>> Blog: http://gnodet.blogspot.com/ >> >>>>>>>>>> >> >>>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> -- >> >>>>>>>> ------------------------ >> >>>>>>>> Guillaume Nodet >> >>>>>>>> ------------------------ >> >>>>>>>> Red Hat, Open Source Integration >> >>>>>>>> >> >>>>>>>> Email: [email protected] >> >>>>>>>> Web: http://fusesource.com >> >>>>>>>> Blog: http://gnodet.blogspot.com/ >> >>>>>>>> >> >>>>>>> >> >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> -- >> >>>>>> -- >> >>>>>> Christian Schneider >> >>>>>> http://www.liquid-reality.de >> >>>>>> >> >>>>>> Open Source Architect >> >>>>>> http://www.talend.com >> >>>>> >> >>>>> >> >>>> >> >>> >> >>> >> >>> >> >>> -- >> >>> Christian Schneider >> >>> http://www.liquid-reality.de >> >>> >> >>> Open Source Architect >> >>> http://www.talend.com >> >> >> >> >> > >> > > -- -- Christian Schneider http://www.liquid-reality.de <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.liquid-reality.de> Open Source Architect http://www.talend.com <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.talend.com>
