Rich Internet applications (RIAs) are downloaded from a web site when the user tries to access them. (RIAs can be cached after the initial download to improve performance). The time taken to download a RIA depends on the size of the RIA's JAR file. Larger JAR files take longer to download.
You can reduce the download time of your RIA by applying the following techniques:
pack200
tool.pack200
compression for signed and unsigned RIAs is discussed in greater detail in this topic.
The following steps describe how to create and deploy a compressed JAR file for an unsigned RIA.
// compresses DynamicTreeDemo.jar to produce DynamicTreeDemo.jar.pack.gz pack200 DynamicTreeDemo.jar.pack.gz DynamicTreeDemo.jar
jnlp.packEnabled
property to true
in the RIA's JNLP file.
<resources> <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" max-heap-size="128m" /> <jar href="DynamicTreeDemo.jar" main="true"/> <property name="jnlp.packEnabled" value="true"/> ... ... </resources>
The following steps describe how to create and deploy a compressed JAR file for a signed RIA. See the topic, Signing JAR Files Only When Necessary, to understand the impact of signing JAR files.
--repack
option.
This step ensures that the security certificate and JAR file will pass verification checks when the RIA is launched.
pack200 --repack DynamicTreeDemo.jar
jarsigner -keystore myKeyStore DynamicTreeDemo.jar me
myKeyStore
is the name of the keystore and me
is the alias for the keystore.pack200 DynamicTreeDemo.jar.pack.gz DynamicTreeDemo.jar
jnlp.packEnabled
property to true
in the RIA's JNLP file.
<resources> <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" max-heap-size="128m" /> <jar href="DynamicTreeDemo.jar" main="true"/> <property name="jnlp.packEnabled" value="true"/> ... ... </resources>
When the jnlp.packEnabled
property is set in the JNLP file, the Java Plug-in software looks for the compressed JAR file with the .pack.gz
extension (for example, DynamicTreeDemo.jar.pack.gz
). If found, the Java Plug-in software automatically unpacks and loads the JAR file. If a file with the .pack.gz
extension is not found, then the Java Plug-in software attempts to load the regular JAR file (for example, DynamicTreeDemo.jar
).
You need to deploy your RIA on a web server to test the jnlp.packEnabled
property.