Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deactivating Weblogic Load Balancing Optimization for collocated objects

Is there a way to deactivate the optimization for collocated objects that Weblogic uses by default for a specific EJB ?

EDIT: Some context :

We have a scheduler service that runs inside one node of the cluster. This is for historic reasons and cannot be changed at the moment.

This service makes call to an EJB and we would like to load balance these calls. Unfortunately at the moment every calls runs on the node that hosts the scheduler service because of the optimization mentioned in the question.

I was thinking of coding a custom load balancing class however this optimization seems to be done before the load balancing step happens.

like image 653
Michel Avatar asked Nov 15 '22 17:11

Michel


1 Answers

Supposing you are trying to call a remote EJB (load balancing on local ejbs can only be obtained through an indirection trick like Patrick mentioned) you will have to create a new InitialContext using the address of the cluster instead of a particular server. This new IC will provide stubs as if you were a foreign client, subject to the same load balancing strategies as they are.

Unfortunately, this means that EJB3 injections won't work. You will have to do the lookup yourself. There is a chance, an this is pure speculation, that those stubs you can get from the cluster IC are serializable. In other words, it might be possible to bind them and get them injected using @Resource afterwards.

like image 193
rcouto Avatar answered Dec 06 '22 18:12

rcouto