Multiple Calls for Cached Applet Jars

Hi,
We have applet which uses Viewer.jar. Even though Viewer.jar is cached on client machine JRE makes calls to server for Viewer.jar. Why it makes call to server for cached jars? Is there any way by which we can avoid server call when jar is already cached on client machine.
Here is extract of java console:
network: Cache entry found [url: https://viewer1.qa.asite.com/IGC/Viewer.jar, version: 0005.0000.0023.0012]
network: Cache entry not found [url: https://viewer1.qa.asite.com/IGC/Viewer.jar?version-id=0005.0000.0023.0012, version: null]
network: Cache entry not found [url: https://viewer1.qa.asite.com/IGC/Viewer.jar, version: null]
network: Connecting https://viewer1.qa.asite.com/IGC/Viewer.jar?version-id=0005.0000.0023.0012 with proxy=DIRECT
network: Connecting https://viewer1.qa.asite.com/IGC/Viewer.jar?version-id=0005.0000.0023.0012 with cookie "__utma=193285949.559965713.1252938991.1252938991.1252938991.1; __utmz=193285949.1252938991.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=186816424.512568576.1252937835.1252937835.1252937835.1; __utmz=186816424.1252937835.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); JSESSIONID=61B8442537C1901DA1DA1B38D4983715"
network: Connecting https://viewer1.qa.asite.com/IGC/Viewer.jar with proxy=DIRECT

Hi,
We have applet which uses Viewer.jar. Even though Viewer.jar is cached on client machine JRE makes calls to server for Viewer.jar. Why it makes call to server for cached jars? Is there any way by which we can avoid server call when jar is already cached on client machine.
Here is extract of java console:
network: Cache entry found [url: https://viewer1.qa.asite.com/IGC/Viewer.jar, version: 0005.0000.0023.0012]
network: Cache entry not found [url: https://viewer1.qa.asite.com/IGC/Viewer.jar?version-id=0005.0000.0023.0012, version: null]
network: Cache entry not found [url: https://viewer1.qa.asite.com/IGC/Viewer.jar, version: null]
network: Connecting https://viewer1.qa.asite.com/IGC/Viewer.jar?version-id=0005.0000.0023.0012 with proxy=DIRECT
network: Connecting https://viewer1.qa.asite.com/IGC/Viewer.jar?version-id=0005.0000.0023.0012 with cookie "__utma=193285949.559965713.1252938991.1252938991.1252938991.1; __utmz=193285949.1252938991.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=186816424.512568576.1252937835.1252937835.1252937835.1; __utmz=186816424.1252937835.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); JSESSIONID=61B8442537C1901DA1DA1B38D4983715"
network: Connecting https://viewer1.qa.asite.com/IGC/Viewer.jar with proxy=DIRECT

Similar Messages

  • Multiple repeat downloads of applet jar file

    We have an applet that is downloaded from a Weblogic server. The applet is packaged as a jar file. Some of the testers have been complaining that the applet is extremely slow to start up.
    The applet start-up involves three phases. In a first phase, it fetches data from the server. This phase seems to execute in pretty much constant time. During the second and third phases, it constructs a UI using Swing objects. The UI includes some JPEG files, which are extracted from the applet's own jar file.
    Testers report that the slow part of start-up is actually the UI setup. This should theoretically not be network-bound at all. But packet tracing reveals that during this phase, there's a large amount of network traffic going on. It turns out that there are multiple GET requests for the applet jar file being issued. Typically, 29 requests are issued in all; just for reference, the applet is required to extract 28 images from its jar file, so it looks as if the additional requests correspond to image requests.
    One further detail: this does not occur where there is a fast connection to the server. In these cases, the applet is downloaded once. It looks as if the problem only occurs on slower network connections, and the speculation here is that the applet jar is somehow being downloaded only partially, so that requests for images somehow trigger a re-request of the jar file.
    Has anyone seen anything similar and, more to the point, is there a fix or workaround?
    Technical details: Internet Explorer 5.5 or 6.0, JRE version 1.4.2_01 Java HotSpot(TM) Client VM (on the client), WebLogic 8.1 (on the server)
    Thanks in advance for any help.

    Ok.
    I have been trying hard and found the solution. One of the ablove posting says that it works under java 1.4.1 plug-in. That's infact absolutely true. It also says that how to run client using JRE 1.4.2 or higher. That can be solved two. This is definitely a bug with the 1.4.2 plug-in.
    Follow this procedure that will solve the mystry.
    ----------------------start ---------------------------------
    Problem
    Download of applet is very slow
    Why?
    This was happening because of the repeated download of the applet jars by the applet plug in controller. It is quite clear that the Java 1.4.2 plug in controller has a bug that causes the plug in to download same jar files multiple times irrespective of Jar cache in the client side (configurable from client side using the Java plug in control panel) is enabled or disabled. Therefore, we have moved from 1.4.2 plug in to 1.4.1 (controlled from our client (JSP) code) that works fine.
    What the client (applet client) should do?
    You must do the following in the client side in order to avoid the long download time for applet when running from a browser. We have also found that the browser actually do not matter in slow applet downloads. It is only the plug in that does control the applet download.
    Irrespective of what JVM you have already installed (or not yet installed) please do the following:
    1. Download the JRE 1.4.2 from http://java.sun.com/products/archive/index.html
    -At the time of its installation if it shows that the "JRE is already installed do you uninstall it?" Go ahead and uninstall the JRE 1.4.2. After the un-installation again install the JRE 1.4.2
    -If it does not have the JRE 1.4.2 already installed, then you will see any warning window and you will be able to install the 1.4.2 JRE successfully.
    2. Now, go to the same link and install JRE 1.4.1.
    -If this JRE already installed, uninstall first like the step 1 above. then reinstall it.
    3. Now, after successful installation of the JRE 1.4.1, open the Plug-In control panel.
    -You will find the list of control panel(s) in the Start->Control Panel window. Use the control panel that shows the version number 1.4.1. If no version number shown then use the one that do not show any version number at its end.
    4. Do the following on the Plug-In control panel.
    -Verify if this is the 1.4.1 plug in control panel? Go to the "About" tab to see if it shows 1.4.1.
    If it does not show the 1.4.1 (or 1.4.1_x) then plug in was not installed correctly. Reinstall the 1.4.1 JRE following the step in no-2
    -Go to "Basic" tab and select "Show console" radio button.
    -Go to "Advanced" tab and from the drop down select "JRE ...1.4.2" from the "Java Runtime Environment" drop down box.
    -Go to "Browser" tab and select all that in the "Settings" box applicable for browsers.
    -Go to "Cache" select "Enable Caching" if it is not selected currently. Select "Unlimited" from "Size" options.
    Now hit "Apply" button at the bottom and close the control panel using the 'X'.
    5. Restart your Windows machine.
    6. You are ready to run the applet from any of the browser (IE, NS, etc.)
    --------------------------end------------------------------

  • Multiple calls for missing images

    We were experiencing a strange "double adding" of basket items in FF4 on a store that uses a GET method URL. Having traced exactly what was happening using Fiddler web debugging proxy, it seems that if a page loads with missing images, FF4 is making an additional second "hidden" call to the original URL. We therefore get multiple items added to the basket if there is a broken image on the basket page when it loads. This doesn't happen in FF3 or any other browser we've used.

    Some of the wayward images may be in one of the other catalogues or a download to the external hard drive from the online backup (done last year).
    Images are never stored in the catalog.
    How can I merge the several catalogues, and should I?
    There is no tool available to merge catalogs. The best you can do is to write the metadata to the files (File->Write Tags...) in each catalog, and then import all photos into a new catalog. In this process, you will lose albums and version sets and stacks and a few other things that I can't remember at this time. So, should you do this? If the drawbacks of the merge process don't make you say "Stop", then YES you should do this. I see no benefit, and huge amounts of confusion, caused by multiple catalogs, made even worse by the fact that they are overlapping.
    How do I serch the the file in the external hard drive? I.e., how do I designate this file in the "browse" dialogue box for where to reconnect? I can navigate to it, but then what?
    In PSE, you can find the name of the file, and this is the name you would use to search your hard disks using your operating system. Exactly how you do a search depends on your operating system, which you haven't mentioned.

  • BigIP F5 : changing IP leads to cache invalidated and redownload of applet jars

    Hello all,
    In short, I'm trying to figure out how to have the java 7 plugin not considering the server IP to decide whether to use cached version of our applet's signed jars.
    As suggested in the title, we use BigIP's F5 boxes to dispatch requests among actual servers, which are located in 2 different sites (disaster recovery purposes).
    Each site has an F5 box ; and our DNS resolve the application's host name by alternating between 2 different IPs : one for site 1, the other for site 2.
    Each time a user visits http://theapp.mycompany.com, the host is resolved as 9.9.9.1 or 9.9.9.2, more or less randomly.
    This works very nicely as long as the applet is not concerned, or bandwith and latency is good enough to absorb 1.5Mb in a snap.
    For remote subsidiaries (10.000km away from servers), downloading 1.5Mb takes 35s -- too much for the normal user to wait.
    And the problem is : the plugin insists on looking up the server IP each time it starts up, and ignores cache entries that have been downloaded from a different IP.
    Here is the use case :
    - user connects to http://theapp.mycompany.com ; the browser get an IP, doesn't matter which ; user logs on, navigates in the app's html pages -- no problem
    - user gets to the applet :
    - the html page says
    <applet id="myApplet">
        <param name="archive" value="a.jar,b.jar,c.jar,d.jar,e.jar"/>
        <param name="codebase_lookup" value="false"/>
        <param name="archive_1" value="a.jar, preload, version=7.5.7" />
        <param name="archive_2" value="b.jar, preload, version=7.5.7" />
        <param name="archive_3" value="c.jar, preload, version=7.5.7" />
        <param name="archive_4" value="d.jar, preload, version=7.5.7" />
        <param name="archive_5" value="e.jar, preload, version=7.5.7" />
        <param name="baseUrl" value="/"/>
        <param name="code" value="a/package/for/Applet.class"/>     
        <param name="mayscript" value="mayscript"/>
        <param name="codebase" value="/applet/"/>
        <param name="name" value="MyApplet" />"
        <param name="locale" value="fr"/>
    </applet>
         The archive_n parameters are here in an attempt to tell the plugin to not even ask for jars if its cache contains entries with same host/same name/same version.
         The version is assigned at build time at an application level ; it has nothing to do with the Implementation-Version attribute found in MANIFEST.MF files.
    - Java and the plugin sarts up : let's assume this is the first time : cache is empty : all jars are downloaded ; as they are signed and the CA certificate chain was set in the browser config, and the java.policy is also configured to allow smooth exec, the applet runs smoothly -- after a long startup delay
    - user leaves the applet, do some stuff in other applet-less pages for some minutes (the java/plugin processes are shut down after a minute or so)
    - user reenters the page that contains the applet
    - Java and the plugin start up again :
         - the cache has entries for each jar : host, name, version are all ok.
         - But : the jars are not seen as "prevalidated" ; heres' the applet log ( in French, translation provided after "//") :
    network: Vérification de version pour a.jar. La version spécifiée est 7.5.7     //Checking version for a.jar. Specified version is 7.5.7
    security: La vérification de révocation de la liste noire est activée     // Check of blacklist revocation is activated
    security: blacklist: created: NEED_LOAD, lastModified: 1378474147992
    security: blacklist: hasBeenModifiedSince 1380806409906 (we have 1378474147992)
    security: La vérification de liste de bibliothèques sécurisées est activée     // Check of trusted libraries is activated
    ..... same for the other jars ....
    network: Created version ID: 7.5.7
    network: Created version ID: 7.5.7
    network: Entrée de cache trouvée [URL : http://theapp.mycompany.com/applet/a.jar, version : 7.5.7] prevalidated=false/0  //Cache entry found
    cache: Adding MemoryCache entry: http://sandbox-mosaic.jcdecaux.com/applet/plannerApplet_7.5.7.jar
    network: Created version ID: 7.5.7
         - The plugin then tries to lookup the host IP to check whether it matches that seen when creating the entry
         - 2 possibilities here :
                   - the IP returned is the same : the plugin is happy, uses the cached jar, no question/download to/from the server, and the applet starts up quick and runs ok
                   - the IP returned is not the same ; the plugin says :
    network: Vérification de version pour a.jar. La version spécifiée est 7.5.7     //Checking version for a.jar. Specified version is 7.5.
    security: blacklist: created: NEED_LOAD, lastModified: 1378474147992
    security: blacklist: hasBeenModifiedSince 1380806409906 (we have 1378474147992)
    security: La vérification de liste de bibliothèques sécurisées est activée     // Check of trusted libraries is activated
    cache: CacheEntry IP mismatch: 9.9.9.1 != 9.9.9.2
              and then it downloads again the jar.
              Of course, all the jars are treated the same way.
              Note that the applet eventually runs normally ; the only problem is that the cache essentially doesn't work, causing terribly annoying 35s delays at applet startup.
    Interestingly enough, examining the jdk 6 code shows that the "prevalidated=false" fragment (in bold/pink above) means that the method CacheEntry.isKnownToBeSigned() returns false.
    I tried with a self-signed certificate which I added first in IE as "Trusted publisher" ; I also tried with a certificate signed by a CA that is known by IE -- no help.
    So I really wonder : what does it take to have the plugin consider that each jar "isKnownToBeSigned" ?
    Any thoughts ?
    Note : we of course are considering packing jars, cleaning dead code, etc. to decrease applet size. But it doesn't help with the fact that the plugin considers the IP, which it shouldn't do in our case. And even with pack200 we're left with +350Kb of unnecessary downloads, not counting with future code to be developped ...
    Thanks for any feedback
    David
    Browser is IE7.
    Complete dump of system properties :
    __applet_launched = 280874909499
    __jvm_launched = 280874910680
    acl.read = +
    acl.read.default =
    acl.write = +
    acl.write.default =
    awt.toolkit = sun.awt.windows.WToolkit
    browser = sun.plugin
    browser.vendor = Oracle
    browser.version = 1.1
    file.encoding = Cp1252
    file.encoding.pkg = sun.io
    file.separator = \
    file.separator.applet = true
    http.agent = Mozilla/4.0 (Windows Vista 6.0)
    http.auth.serializeRequests = true
    https.protocols = TLSv1,SSLv3
    java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
    java.awt.printerjob = sun.awt.windows.WPrinterJob
    java.class.path = C:\tools\Java\jre7\classes
    java.class.version = 51.0
    java.class.version.applet = true
    java.endorsed.dirs = C:\tools\Java\jre7\lib\endorsed
    java.ext.dirs = C:\tools\Java\jre7\lib\ext;C:\Windows\Sun\Java\lib\ext
    java.home = C:\tools\Java\jre7
    java.io.tmpdir = C:\Users\taille\AppData\Local\Temp\
    java.library.path = C:\tools\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Internet Explorer;;C:\oracle\ORA102\bin;C:\Perl\site\bin;C:\Perl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;c:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\JavaSoft\JRE\1.3.1_06\bin;C:\ORACLE\Ora92\jre\1.3.1\bin;C:\ORACLE\Ora92\jre\1.1.8\bin;C:\tools\Groovy-1.7.5\bin;C:\tools\Graphviz2.28\bin;C:\tools\Git\cmd;C:\tools\tortoiseSVN\bin;C:\Program Files\Windows Imaging\;C:\oracle\ORA102\bin;C:\Perl\site\bin;C:\Perl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;c:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\JavaSoft\JRE\1.3.1_06\bin;C:\ORACLE\Ora92\jre\1.3.1\bin;C:\ORACLE\Ora92\jre\1.1.8\bin;C:\tools\Groovy-1.7.5\bin;C:\tools\Graphviz2.28\bin;C:\tools\Git\cmd;C:\tools\tortoiseSVN\bin;C:\Program Files\Windows Imaging\;.
    java.protocol.handler.pkgs = sun.plugin.net.protocol|com.sun.deploy.net.protocol
    java.rmi.server.RMIClassLoaderSpi = sun.plugin2.applet.JNLP2RMIClassLoaderSpi
    java.runtime.name = Java(TM) SE Runtime Environment
    java.runtime.version = 1.7.0_21-b11
    java.specification.name = Java Platform API Specification
    java.specification.vendor = Oracle Corporation
    java.specification.version = 1.7
    java.vendor = Oracle Corporation
    java.vendor.applet = true
    java.vendor.url = http://java.oracle.com/
    java.vendor.url.applet = true
    java.vendor.url.bug = http://bugreport.sun.com/bugreport/
    java.version = 1.7.0_21
    java.version.applet = true
    java.vm.info = mixed mode, sharing
    java.vm.name = Java HotSpot(TM) Client VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Oracle Corporation
    java.vm.specification.version = 1.7
    java.vm.vendor = Oracle Corporation
    java.vm.version = 23.21-b01
    javaplugin.nodotversion = 10212
    javaplugin.version = 10.21.2.11
    javaplugin.vm.options = -Ddeployment.trace.level=all -Duser.language=en
    javawebstart.version = javaws-10.21.2.11
    line.separator = \r\n
    line.separator.applet = true
    mrj.version.applet = true
    os.arch = x86
    os.arch.applet = true
    os.name = Windows Vista
    os.name.applet = true
    os.version = 6.0
    os.version.applet = true
    package.restrict.access.com.sun.deploy = true
    package.restrict.access.netscape = false
    package.restrict.access.org.mozilla.jss = true
    package.restrict.access.sun = true
    package.restrict.definition.com.sun.deploy = true
    package.restrict.definition.java = true
    package.restrict.definition.netscape = true
    package.restrict.definition.org.mozilla.jss = true
    package.restrict.definition.sun = true
    path.separator = ;
    path.separator.applet = true
    sun.arch.data.model = 32
    sun.awt.enableExtraMouseButtons = true
    sun.awt.warmup = true
    sun.boot.class.path = C:\tools\Java\jre7\lib\resources.jar;C:\tools\Java\jre7\lib\rt.jar;C:\tools\Java\jre7\lib\sunrsasign.jar;C:\tools\Java\jre7\lib\jsse.jar;C:\tools\Java\jre7\lib\jce.jar;C:\tools\Java\jre7\lib\charsets.jar;C:\tools\Java\jre7\lib\jfr.jar;C:\tools\Java\jre7\classes;C:\tools\Java\jre7\lib\deploy.jar;C:\tools\Java\jre7\lib\javaws.jar;C:\tools\Java\jre7\lib\plugin.jar
    sun.boot.library.path = C:\tools\Java\jre7\bin
    sun.cpu.endian = little
    sun.cpu.isalist = pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
    sun.desktop = windows
    sun.io.unicode.encoding = UnicodeLittle
    sun.java.command = sun.plugin2.main.client.PluginMain write_pipe_name=jpi2_pid7004_pipe37,read_pipe_name=jpi2_pid7004_pipe36
    sun.java.launcher = SUN_STANDARD
    sun.jnu.encoding = Cp1252
    sun.management.compiler = HotSpot Client Compiler
    sun.net.client.defaultConnectTimeout = 120000
    sun.net.http.errorstream.enableBuffering = true
    sun.os.patch.level = Service Pack 2
    trustProxy = true
    user.country = FR
    user.dir = C:\dtaille\TMA\perfs_br\newcert
    user.home = C:\Users\taille
    user.language = fr
    user.name = taille
    user.script =
    user.timezone = Europe/Paris
    user.variant =
    Vider les propriétés de déploiement...
    active.deployment.proxy.bypass.local = false
    active.deployment.proxy.same = false
    active.deployment.proxy.type = 3
    deployment.baseline.url = https://javadl-esd-secure.oracle.com/update/baseline.version
    deployment.blacklist.url = https://javadl-esd-secure.oracle.com/update/blacklist
    deployment.blacklisted.certs.url = https://javadl-esd-secure.oracle.com/update/blacklisted.certs
    deployment.browser.path = C:\Program Files\Mozilla Firefox\firefox.exe
    deployment.browser.vm.iexplorer = true
    deployment.browser.vm.mozilla = true
    deployment.cache.enabled = true
    deployment.cache.jarcompression = 0
    deployment.cache.max.size = 726
    deployment.capture.mime.types = false
    deployment.console.startup.mode = SHOW
    deployment.control.panel.log = false
    deployment.expiration.decision.10.21.2 = later
    deployment.expiration.decision.suppression.10.21.2 = true
    deployment.expiration.decision.timestamp.10.21.2 = 9/6/2013 15:29:3
    deployment.insecure.jres = PROMPT
    deployment.javafx.mode.enabled = true
    deployment.javapi.cache.update = false
    deployment.javapi.lifecycle.exception = false
    deployment.javapi.log.filename =
    deployment.javapi.runtime.type = 0
    deployment.javapi.stop.timeout = 200
    deployment.javapi.trace.filename =
    deployment.javaws.appicon.index = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\appIcon\appIcon.xml
    deployment.javaws.associations = ASK_USER
    deployment.javaws.cache.update = false
    deployment.javaws.concurrentDownloads = 4
    deployment.javaws.install = IF_HINT
    deployment.javaws.installURL = http://java.sun.com/products/autodl/j2se
    deployment.javaws.logFileName =
    deployment.javaws.muffin.max = 256
    deployment.javaws.shortcut = ASK_IF_HINTED
    deployment.javaws.splash.index = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\splash\splash.xml
    deployment.javaws.traceFileName =
    deployment.javaws.uninstall.shortcut = false
    deployment.javaws.update.timeout = 1500
    deployment.javaws.viewer.bounds = 1723,197,881,546
    deployment.jpi.mode.new = true
    deployment.log = false
    deployment.macosx.check.update = true
    deployment.max.output.file.size = 10
    deployment.max.output.files = 5
    deployment.mime.types.use.default = true
    deployment.modified.timestamp = 1380804178316
    deployment.proxy.bypass.local = false
    deployment.proxy.override.hosts =
    deployment.proxy.same = false
    deployment.proxy.type = 3
    deployment.security.SSLv2Hello = false
    deployment.security.SSLv3 = true
    deployment.security.TLSv1 = true
    deployment.security.TLSv1.1 = false
    deployment.security.TLSv1.2 = false
    deployment.security.askgrantdialog.notinca = true
    deployment.security.askgrantdialog.show = true
    deployment.security.authenticator = true
    deployment.security.blacklist.check = true
    deployment.security.browser.keystore.use = true
    deployment.security.clientauth.keystore.auto = true
    deployment.security.disable = false
    deployment.security.https.warning.show = false
    deployment.security.jsse.hostmismatch.warning = true
    deployment.security.level = HIGH
    deployment.security.local.applets = PROMPT
    deployment.security.mixcode = DISABLE
    deployment.security.notinca.warning = true
    deployment.security.password.cache = true
    deployment.security.run.untrusted = PROMPT
    deployment.security.sandbox.awtwarningwindow = true
    deployment.security.sandbox.casigned = PROMPT
    deployment.security.sandbox.jnlp.enhanced = true
    deployment.security.sandbox.selfsigned = PROMPT
    deployment.security.trusted.policy =
    deployment.security.validation.crl = false
    deployment.security.validation.ocsp = false
    deployment.security.validation.ocsp.publisher = false
    deployment.system.cachedir = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\SystemCache
    deployment.system.security.blacklist = C:\tools\Java\jre7\lib\security\blacklist
    deployment.system.security.cacerts = C:\tools\Java\jre7\lib\security\cacerts
    deployment.system.security.jssecacerts = C:\tools\Java\jre7\lib\security\jssecacerts
    deployment.system.security.oldcacerts = C:\tools\Java\jre7\lib\security\cacerts
    deployment.system.security.oldjssecacerts = C:\tools\Java\jre7\lib\security\jssecacerts
    deployment.system.security.trusted.certs = C:\tools\Java\jre7\lib\security\trusted.certs
    deployment.system.security.trusted.clientauthcerts = C:\tools\Java\jre7\lib\security\trusted.clientcerts
    deployment.system.security.trusted.jssecerts = C:\tools\Java\jre7\lib\security\trusted.jssecerts
    deployment.system.security.trusted.libraries = C:\tools\Java\jre7\lib\security\trusted.libraries
    deployment.system.tray.icon = true
    deployment.trace = true
    deployment.update.mime.types = true
    deployment.user.cachedir = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\cache
    deployment.user.extdir = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\ext
    deployment.user.logdir = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\log
    deployment.user.security.blacklist = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\blacklist
    deployment.user.security.blacklist.dynamic = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\blacklist.dynamic
    deployment.user.security.blacklisted.certs = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\blacklisted.certs
    deployment.user.security.policy = file:/C:/Users/taille/AppData/LocalLow/Sun/Java/Deployment/security/java.policy
    deployment.user.security.sandbox.certs = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\sandbox.certs
    deployment.user.security.saved.credentials = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\auth.dat
    deployment.user.security.trusted.cacerts = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.cacerts
    deployment.user.security.trusted.certs = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
    deployment.user.security.trusted.clientauthcerts = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.clientcerts
    deployment.user.security.trusted.jssecacerts = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.jssecacerts
    deployment.user.security.trusted.jssecerts = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.jssecerts
    deployment.user.security.trusted.libraries = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.libraries
    deployment.user.tmp = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\tmp
    deployment.version = 7.21
    deployment.webjava.enabled = true
    java.quick.starter = false

    This behavior was introduced by a security "fix" intended to prevent a DNS re-binding attack which permits unsigned applets to escape the applet sandbox.  The "fix" was, imo, very poorly thought out.  You think you have a problem with 1.5 megabits of applet jars, but I have 8 megabytes, hundreds of thousands of users, with lousy networks. So now I'm stuck with a colocation vendor.  Imagine my chagrin when they changed *their* ISP and thus their IP addresses.  
    As far as I can see, signed applets are already permitted (if the user allows) to communicate outside the sandbox, so this "fix" should not have been applied to signed jars, only to unsigned ones.  There are a couple of other techniques that Oracle might have used to prevent this attack, but they chose the simplest one, effectively preventing anyone from using the most common, inexpensive strategies for improving the availability of their web-based Java applications.

  • JSP plugin call for applet

    How do I call an applet with the JSP plugin call? The applet works OK when called from an HTML file. However, when called from a JSP file, the applet is not found.
    Here's the code:
    <jsp:plugin type="applet" code="SelectList.class" codebase="applet"
    archive="bc4jhtml.jar,datatags.jar,uixtags.jar,bc4juixtags.jar,ojsp.jar,ojsputil.jar,oc4j.jar,servlet.jar,ojc.jar,xmlparserv2.jar,regexp.jar,share.jar,uix2.jar,xmlcomp.jar,jdevrt.jar,runtime12.jar,bc4jmt.jar,collections.jar,bc4jct.jar,jndi.jar,classes12.jar,nls_charset12.jar,bc4jimdomains.jar,ordim.jar,ordhttp.jar,jdevcm.jar,bc4jdomorcl.jar,bc4jdatum.jar,activation.jar,jcert.jar,jnet.jar,jta.jar,mail.jar,ejb.jar,jaxp.jar,jdbc.jar,jaas.jar,jsse.jar,bc4jui.jar,bigraphbean.jar,LW_PfjBean.jar"
    jreversion="1.2" width="1000" height="360" >
    <jsp:params>
    <jsp:param name="test" value="This is a test." />
    </jsp:params>
    <jsp:fallback>
    You need to install the Java plugin on your web browser to run this applet.
    </jsp:fallback>
    </jsp:plugin>

    You really don't need to put all the jar files in your archive list.
    Most likely, you just need to put the jar that contains the applet.
    And, few more dependencies jar files.
    Here is some sample code for your reference:
    <jsp:plugin type="applet" code="Clock2.class" codebase="applet" jreversion="1.2"
    width="160" height="150" >
    <jsp:fallback>
    Plugin tag OBJECT or EMBED not supported by browser.
    </jsp:fallback>
    </jsp:plugin>
    code attribute points to a class file "Clock2.class"
    under the directory under codebase attribute "applet"
    You may want to take a look into the HTML / JSP document about
    how the plugin tag works in HTML / JSP.

  • Passing multiple values for a single field in URL to call sap Transaction

    Hi All,
    I need to pass multiple values for a single field to SAP transaction .
    means if i have say a field "Date" which can contain more than one value, <b>but its not a range which has two fields</b> . How is it possible.
    Let me know pls.
    Regards,
    Sirisha.R.S.

    Hi Satyajit,
    I need to call a transaction with multiple values which gives me the report based on those values.
    So I need to pass multiple values for a single parameter.
    I hope u got it.
    Regards,
    Sirisha.R.S.

  • Finalize() method being called multiple times for same object?

    I got a dilly of a pickle here.
    Looks like according to the Tomcat output log file that the finalize method of class User is being called MANY more times than is being constructed.
    Here is the User class:
    package com.db.multi;
    import java.io.*;
    import com.db.ui.*;
    import java.util.*;
    * @author DBriscoe
    public class User implements Serializable {
        private String userName = null;
        private int score = 0;
        private SocketImage img = null;
        private boolean gflag = false;
        private Calendar timeStamp = Calendar.getInstance();
        private static int counter = 0;
        /** Creates a new instance of User */
        public User() { counter++;     
        public User(String userName) {
            this.userName = userName;
            counter++;
        public void setGflag(boolean gflag) {
            this.gflag = gflag;
        public boolean getGflag() {
            return gflag;
        public void setScore(int score) {
            this.score = score;
        public int getScore() {
            return score;
        public void setUserName(String userName) {
            this.userName = userName;
        public String getUserName() {
            return userName;
        public void setImage(SocketImage img) {
            this.img = img;
        public SocketImage getImage() {
            return img;
        public void setTimeStamp(Calendar c) {
            this.timeStamp = c;
        public Calendar getTimeStamp() {
            return this.timeStamp;
        public boolean equals(Object obj) {
            try {
                if (obj instanceof User) {
                    User comp = (User)obj;
                    return comp.getUserName().equals(userName);
                } else {
                    return false;
            } catch (NullPointerException npe) {
                return false;
        public void finalize() {
            if (userName != null && !userName.startsWith("OUTOFDATE"))
                System.out.println("User " + userName + " destroyed. " + counter);
        }As you can see...
    Every time a User object is created, a static counter variable is incremented and then when an object is destroyed it appends the current value of that static member to the Tomcat log file (via System.out.println being executed on server side).
    Below is the log file from an example run in my webapp.
    Dustin
    User Queue Empty, Adding User: com.db.multi.User@1a5af9f
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    Joe
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin pulled from Queue, Game created: Joe
    User Already Placed: Dustin with Joe
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    INSIDE METHOD: false
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    User Dustin destroyed. 9
    User Joe destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    INSIDE METHOD: true
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    INSIDE METHOD: true
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    It really does seem to me like finalize is being called multiple times for the same object.
    That number should incremement for every instantiated User, and finalize can only be called once for each User object.
    I thought this was impossible?
    Any help is appreciated!

    Thanks...
    I am already thinking of ideas to limit the number of threads.
    Unfortunately there are two threads of execution in the servlet handler, one handles requests and the other parses the collection of User objects to check for out of date timestamps, and then eliminates them if they are out of date.
    The collection parsing thread is currently a javax.swing.Timer thread (Bad design I know...) so I believe that I can routinely check for timestamps in another way and fix that problem.
    Just found out too that Tomcat was throwing me a ConcurrentModificationException as well, which may help explain the slew of mysterious behavior from my servlet!
    The Timer thread has to go. I got to think of a better way to routinely weed out User objects from the collection.
    Or perhaps, maybe I can attempt to make it thread safe???
    Eg. make my User collection volatile?
    Any opinions on the best approach are well appreciated.

  • Flat File-to-RFC question, multiple RFC calls for one file.

    Hi guys,
    I'm quite new to XI / PI and I have a question regarding a File-to-RFC scenario we're trying in NW PI 7.1.
    We have a flat file which has two lines with two fields each, let's take this as an example :
    001,001
    002,002
    The files needs to be converted to XML and then transferred to the RFC program which will update a table with the values above.
    In the ESR I've created 3 data types (z_row1,z_record1 and z_fileinput1), 1 message type (z_file2rfc_ob_mt), 1 message mapping (z_file2rfc_mm), 2 Service Interface (z_file2rfc_ob_si and z_file2rfc_ib_ztestpi) and 1 operation mapping (z_file2rfc_om).
    In the Integration Builder (ID) I've created everything required (The sender and receiver communication channels, sender and receiver agreement, receiver determination and interface mapping).
    We're also using content conversion to convert the flat file to XML, this does seem to work because I see all the lines/field in the message when it gets into PI. The problem is that the RFC can only accept two fields at a time and only the first line gets updated. I see that only the first line gets sent to the RFC.
    How can I make the RFC call for each and every line ?
    Thanks !!

    Create the RFC with table, which takes multiple lineitem as input and update the table in single call.
    If you want response back then call RFC as synchrounous else in Asynchrounous mode.
    By doing this in single call it will update the complete table.
    Gaurav Jain
    Reward Points if answer is helpful

  • N81 Call Log - Multiple entry for same number

    Hi,
    Earlier I was using Nokia 7250, in it the call log for missed/dialled/received calls have the facility for storing multiple entries for the same number.
    i.e., say I received calls from no. XX @ 1 Am, 2 AM & 3 Am. Then the received call log for the no. XX will have an entry with these three time stamps
    Where as in N81 only the most recent entry i.e., 3AM is been shown and I couldn't find a way to find out the earlier calls (1 AM & 2 AM)
    Is there a way to find it out?
    Thanks.

    Hi
    This is the normal effect of SAP DBSL SQL code translation.
    You can find a lot of post on SCN that will help you to understand this behavior...
    Regards
    About rsdb/prefer_join and rsdb_prefer_union_all
    634263 - Selects with FOR ALL ENTRIES

  • Multiple back bean calls for rendered panels

    Hello,
    We have experienced some strange behaviours, when rendering a panel based on some back bean paramater the backing bean method is called multiple times. It seems that the backing bean is called for each child element is the panel.
    For instance in the following example the backing bean will be called 6 times.
    <t:div id="test" rendered="#{! empty UCB.attribut}" >
         <t:outputText value="text1" />
         <t:outputText value="text2" />
         <t:outputText value="text3" />
         <t:outputText value="text4" />
         <t:outputText value="text5" />
    </t:div>Is this a configuration issue or just how jsf is implemented?
    //Chris

    Called sequentially (from my original post):
    wsCodeList["GetTupleList"].arguments.TupleName = "BUSTYPE";
    var call:Object = wsCodeList["GetTupleList"].send();
    call.destination = "busType";
    wsCodeList["GetTupleList"].arguments.TupleName = "ENTTYPE";
    call = wsCodeList["GetTupleList"].send();
    call.destination = "entityType";
    The docs seem to say this is allow and example found online
    do similar, except the arguments are passed as a parameter to send.
    This doesn't work for me though. The web service I'm using will
    only take the arguments using the arguments object.

  • Splitting JARs for faster applet start time

    Hi.
    I have a remote web client downloading an applet (packaged in a single JAR) from the server.
    Problem: JAR file is 3.5MB and takes quite a time to get server->client over dial-ups.
    Need: Some way of reducing initial startup time for the applet so the user doesn't have to wait 10min before seeing anything.
    Here are the options I see so far...
    Option 1
    Split the JAR file into smaller JARs, the 'main JAR' has the applet GUI stuff and the 'extension JARs' have the applications launched from applet.
    Option 2
    Some way of 'dynamically loading' the classes from server either 'as needed' or automatically in the background, after the main applet GUI is loaded.
    Option 1 I have tried but it seems that the applet actually does NOT start until ALL the JARs have been downloaded. Which doesn't really help reduce anything.
    Option 2 I need a way of implementing?
    Any help would be appreciated.
    Taha
    [email protected]

    3.5mb jar?????
    What you are packing into the file?
    You should look into using Java WebStart -- it will download the applet and keep it locally for the subsequent use (doing away with having to keep downloading it).
    ;o)
    V.V.

  • Value "JCO CALLS" for variable "E2E Metric Type Variable(multiple values)"

    Hello Experts, 
    Workload analysis for java components doesnot show any data.
    more over get "JCO CALLS" for variable "E2E Metric Type Variable(multiple values)"  error.
    my setup wizard completed without any error.
    Any suggestions ?
    Thanks & Regards
    Sankar

    Hi Sankar,
    have a look at my post in no data for Jco in E2E thread.
    Hope this helps.
    Regards,
    Shyam

  • Multiple web service calls - Split message,1 WS call for each message

    Friends,
    We have designed a BPM which will pick the files, make web service call and merge these message structures and map them to the target.
    We have to modify this design as follows,
    We have to split the message based on purchase order number, meaning one message for each order number and then we need to make a web service call for each of them,after we get all the responses we will merge the files using transformation. (merging files and transformation is already taken care, its the web service part which iam looking for)
    Thanks in advance for all your help/ideas.

    Friends,
    Can you please help me out with this logic? Thanks!

  • Certificate inquiry for changes in applet jar

    Hi everybody,
    I have an applet that uses a certificate to allow saving of file to local disk. I downloaded the certificate and imported in the keystore and cacerts using keytool.
    However, there are cases we need to change the applet. I updated the jar file with the revised version of applet.
    My question is: Do I need to change the certificate and perform again the importing to keystore and cacerts to point the the revised applet so that I could save a file to local disk?
    My concern is that what if many users have already performed the certificate importing, do they need to do again the procedure of importing certificate.
    Your comments are very appreciated.
    Thanks!
    vamendoza

    You should only need to re-sign the applet jar with the same certificate.

  • Fillable PDF calling for multiple signatures

    My goal is to create online fillable PDF files to attach to our company employee intranet, which these employees can find, fill out and either email to another employee, print, or submit to a particular department. These PDF's also need signatures on them, and some call for up to 5 signatures from different employees. What is the best way to go about creating this? I am pretty familiar in creating a PDF document but cant figure out how to add a signature field that employees without Acrobat can sign, and also how to have these forms able to be sent from person to person for signatures. Any help is appreciated, thanks!
    And I am using Acrobat Pro XI.

    Are you asking about digital signatures or hand-drawn e-signatures? If digital signatures, you add digital signature fields with Acrobat. They are a type of form field, so you can add them in form editing mode. For the signature fields to work with Reader, the document has to be Reader-enabled, either with Acrobat or LiveCycle Reader Extensions.

Maybe you are looking for