Camel-Jetty HTTP/2 support - apache-camel

I've seen that Jetty now supports HTTP/2. Spent some time researching and can't see a way of implementing this in Apache Camel-Jetty. Any idea whether this is something that Camel will need to implement? Or is it configurable using their RestConfigurationDefinition?
Thanks in advance.

I'm afraid you need to do some extra work to enable the HTTP/2 feature. Camel-Jetty Components has two parts, one is Consumer (Jetty Server) and the other is Producer (Jetty Client). If you want to enable the HTTP/2 feature, you need to make sure the Http module is loaded by modifying some code. I don't think you can do it by doing some configuration with the RestConfigurationDefinition.
Please send a feature request by creating a JIRA for it.

Related

using reactive-streams with Apache Camel Saga

I would like to know if it is possible to use reactive streams in Apache Camel. I know reactive-streams is a component from Apache but I couldn't get it to work the way they explain in the documentation. I would like to know if there is any possible solutions available in github that could help me understand apache camel along with reactive-streams except the one's from apache.
I could possibly use Producer Template with reactor-core but the route logic that sits in RouteBuilder configure method would still be blocking I/O. Any helps would be appreciated?

Can I use Camel and WMQ without JMS?

I am currently learning Camel, and have a specific project in mind that requires a Websphere MQ back-end, but I can't use JMS components, since I need a lot of non-jms headers, like MQIIH.
I found the camel-wmq project.
Is it the recommended solution ? Is it any good ?
You don't need to use jms. WMQ has a client API. Just download the wmq client jars and put them in your project and use them together with your Camel routes. You will probably put the wmq client code in a processor class or something similar. Off course best to test to put a message on a queue manually via RFHUTIL or something similar as a client so you are sure the environment setup is correct.
The suggested way of working with WMQ has always been through the JMS component since it enables you to painlessly switch to other providers if the need arises.
However, if you need to use some WMQ-specific function then my suggestion would be to extend the camel-wmq library - it contains only a subset of features supported by WMQ and does not support MQIIH headers that you need. Adding functionality to a component would probably involve more work than the solution Souciance Eqdam Rashti suggested but it would be a cleaner solution and more in line with Camel's philosophy. Also, you'd be giving back to the community and thus help make Camel a better tool for everyone :)
I would also suggest you go through the IBM MQ discussions on the Camel's official user group mailing list and see if you can salvage anything.

How to make use of keep-alive in ConnectionRequest in Codename One?

I want to use the "Connection: keep-alive" method to improve the https performance (https://en.wikipedia.org/wiki/HTTP_persistent_connection).
However I can't find anything related to the reuse of connection in ConnectionRequest and NetworkManager.
Does codename one support this? If not, any alternatives?
Thanks.
We thought about adding an official implementation of this. An undocumented API is used by the open source pubnub support for Codename One.
However with later versions we added full TCP support and websockets which seem more appropriate for this type of use case.

Apache Mod_JK and Load Balancing

I am using Tomcat 6 and have some questions about Apache mod_jk as follows.
Do I have to install Apache webserver to use mod_jk ??
If I run applications on 2 servers under Tomcat and load balance between them using mod_jk, will this also check the availability of the applications i.e. will it only send requests to one server if the application is down on the other server ??
If it checks for availability do you need to have multicast available on the network.
We intend to use tomcat clustering as well, will this work with mod_jk ??
Is there anything else I could use to load balance with availability checking for tomcat running applications ??.
Any help will be appreciated.
Cheers
Jeff
Yes.
Yes, unless you go out of your way to configure mod_jk not to do that.
No.
Yes, but it is not necessary.
Pretty much any H/W load-balancer, pretty much any web server that supports reverse proxy over HTTP or AJP.
You would be much better off using mod_proxy_ajp rather than mod_jk for this. It's much simpler to configure, none of those nasty JkMount things or the Tomcat listener that 'auto-configures' it for you, not, and it works a lot better too. It's also not deprecated, unlike mod_jk since Tomcat 5.5.
Yes , you must have a Apache/Httpd installed on your webserver, on this you can perform Load balancing using mod_jk/mod_cluster/mod_proxy. Hope currently you are using mod_jk.
You are right. This can be enable using session. If you want one session to a corresponding server instance only means you can enable session stickiness. And the load balancing will be based on the "lbfactor" which you are mentioning on the "worker.properties" of your mod_jk. "redirect" option for failover also available in worker.properties. Failover can be done from Application server side as well.
As far as I knew if you are enabling failover in Application server, multicast address will be available by default. Only thing you need to do is port opening.
Mod_jk will will work with clustring in tomcat/Jboss perfectly.
As I mentioned above in Answer "1" you can use any load balancing for tomcat.

How can I process http responses with XSLT in Apache webserver?

I have a PHP application that I want to also publish with a different look and feel. We've chosen to do that using XSLT. That way we don't have to touch the PHP application and run risk introducing instability in the original. That's important since we're close to production.
I've looked into ways of doing XSLT processing in Apache webserver. And it seems that the only available xslt module hasn't been updated since 2005. I was hoping to use an xslt mod in a filter chain to accomplish what I want. But an unsupported module won't do.
Another option I can think of is to do the XSLT processing using a servletfilter in a java application server. It seems rather roundabout to have an http request arrive at apache webserver, be forwarded to a java application server to be forwarded back to the apache webserver to do the PHP processing, and the reverse way back for the response...
So my question is: Is there a way to do XSLT processing in apache webserver? Is there another way to do this?
Thank you in advance.
I do not know of a good way to do that in apache. You could do it with PHP using its XSL(T) module, though.

Resources