Forum Discussion
Java Cache
We are in the process of upgrading our Oracle 10g servers (pool members) to 11g and slowly adding the 11g and removing the 10g servers one at a time. This breaks the application because the .jar file versions are different. If an end user hits a 10g server first then on a subsequent request gets an 11g server then it will error stating there the version is too old. Vise-versa going from 11g to 10g servers it errors on the cached .jar files being too new. We are running BIG-IP version 11.4.1 build 608.0
Is there a way the F5 can modify the URL portion of the java cache? This is strictly an internal application. The URL that is getting cached with the .jar files (viewing with a java cache viewer) is that of the F5 virtual server. One way I was thinking of was to use an iRule to modify the F5 URL to that of the Pool member serving the java .jar files. Would something like that work? if so, are there some examples we could go off of?
Another option, Does the no-cache feature of the HTTP profile on F5 work for java cache? I was wondering if this could be used so that no matter which pool member was responding (11g or 10g) during a session is would grab those .jar files each time so that they were downloaded each time.
If there are other suggestions/options I am willing to listen.
This would most likely be temporary until all 11g servers are put into place and the 10g servers are pulled out.
6 Replies
- can't you use persistence to make sure the request end up at the same server?
- Arie
Altostratus
Is it the URL that gets cached or is it the payload (file) that gets cached. If so, where does it get cached? Secondly, where does 'it' (file or URL) get cached?
- mikeshimkus_111Historic F5 Account
Agree with boneyard here, you should be able to use the default cookie persistence profile to send each subsequent request back to the initial server where the client was load balanced.
- rkruse777_16953
Nimbostratus
Thanks for the responses, This is an iApp using the template of f5.oracle_as_10g and has a custom session cookie, which was created by the iApp (basically the only thing custom is the name, using the default session cookie persistence with cookie insert). The .jar files are basically pushed to the client java cache on first connection to the application. The files are cached within the Java Runtime (JRE). They persist in the client’s java cache. The files are cached based on the complete URL to the file. These files do not expire with the session. - mikeshimkus_111Historic F5 AccountCan you identify specific clients that need to hit a either the 10g or 11g servers? If so and if their real IPs are visible to the BIG-IP, you could create 2 pools (one for 10g and another for 11g) and use the pool command to forward traffic to the correct pool by client IP address.
- rkruse777_16953
Nimbostratus
unfortunately no, The users be hitting both 11g and 10g servers as eventually all of the 10g servers will be switched out to 11g. They are planning on switching them out one by one. The Java JRE caches based on the entire URL, I was thinking that I could have an iRule that would change the response URL to that of the pool member. I think that would break because the client would be requesting the site from the VS and when they receive a response from the URL of the pool member it would drop the response because it does not recognize that it sent a request to that server.
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com