Resources for using Guice with Apache CXF - cxf

Are there any resources for using Apache CXF with Google Guice? I know that since version 2.4.0 CXF has been unbundled from Spring and doesn't require it anymore, but I can't seem to find any real world examples/tutorials where Guice has been successfully integrated with CXF. Any such resources would be appreciated.
Thanks.

Check out: http://code.google.com/p/guice-cxf/ you can get both Guice and CXF injections to work
[/shamless self-promotion]

Related

Sleuth in Apache camel

Hi I am new to Apache Camel, but in my application our team implemented this in so many places. Now we are migrating existing came implemented application to Micro services, here we are not finding any option to implement Spring cloud Sleuth with existing camel implemented service, any solution?
There's nothing there out of the box. You would have to create such a tracing implementation yourself.

Deploy CXF jax-ws webservice on Websphere 8.5.5.12

I am trying to deploy a jax-ws webservice on Websphere 8.5.5.12. I am using CXF as my jax-ws engine. I have gone through the prerequisites and changed the class loader as well as desabled the JaxWs engine in websphere. I have set the property to disable Jax-WS engine in the manifest file of my war file.
My application is a Spring boot application. I am also using apache camel 2.20.1 and using the cxf end point to consume the messages.
As a spring boot application my application is working fine.
When I deploy on Websphere my application starts without any issues. But when it intercepts any incoming requests, it throws class not found exception for javax.servlet.WriteListener class. This class is part of the servlet api. It should have been part of the Websphere j2ee library.
Need to know what I did wrong. I don't want to take the shared library route. I have been suggested, that I need to move all my cxf dependencies, into a shared library and set my class loader for this library. I am not comfortable with this solution.
javax.servlet.WriteListener is a Servlet 3.1 / Java EE7 API.
WebSphere Application Server 8.5.5 implements Servlet 3.0 / Java EE6.
You should use either WebSphere Application Server 9.0.0.x or any recent WebSphere Liberty release (which has been versioned differently for quite some time).
(or, remove the 3.1 dependencies from your app if you must run it on WebSphere Application Server 8.5.5)

what is difference between spring & blueprint & router in apache camel?

I am new in Fuse. I am using Jboss Fuse and creating Fuse project.
I want to know basic difference between container like spring, blueprint and router?
Spring and blueprint are dependency injection frameworks. You use them to configure all the dependencies you will use in your JBoss Fuse application (just as jms queues or java Datasources).
Spring is a popular framework, whereas blueprint is OSGi-specific (that's why it is used in JBoss Fuse).
A router controls the flow of messages in your application. JBoss Fuse is built upon the Apache Camel lightweight integration framework, which does your routing. When you write a JBoss Fuse application, you will likely be defining Routes via Java or XML.
To read more about routing, I suggest you read about Enterprise Integration Patterns on the apache camel web site.

Lightweight messaging on GAE

Does you have any experience with messaging on GAE? Is there a messaging framework that can successfully run on GAE? I know that Apache Camel provides some kind of components that can run on GAE but is it really usable? What about Spring Integration? Or any other tips?
Thank you.
You have some stuff (task queues) built into GAE for messaging. Start with that.
The problem with running stand alone integration soltuions (Camel, Spring Integration, ActiveMQ..) on GAE is that they need to open tcp listeners and start threads, which is not really an option in GAE. At least not the standard java way.
You can run Camel to some point if you want to leverage the Camel DSL and such things. But all of Camel will not work. Camel does not include a messaging solution either.
The other option is likely to use some external messaging source, such as a RabbitMQ or ActiveMQ hosted somewhere else. Like EC2 or some cloud service.

Can I use Apache Camel with Jax-ws implementation in application server (e. WAS, WLS) without CXF or Axis2?

I dont want to use Axis2 or CXF with Camel. Is it possible to configure camel with JAX-WS reference implementation or weblogic application server or websphere application server or tomcat + jax-ws refrence implementation?
Camel provides 2 web services components out of the box: camel-cxf and camel-spring-ws. For any other web service integration just use plain java. From any Java code, you can send a message to Camel using the ProducerTemplate. Then that way you can bridge the JAX-WS of the application server with Camel. We used to have an old example at Apache Camel that showed how to integrate Axis 1.4 with Camel, but that examples has been removed as part of cleanup recently.
As far as I know that is not possible. The camel-axis and camel-cxf components are directly using the cxf and axis classes. You could use the SoapDataFormat but this is just for simple cases and not a full stack.

Resources