blob: 9c71c354b23b1d046c5f02bea8528935b2d62f7b [file] [log] [blame]
<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Publishing</title><meta content="DocBook XSL Stylesheets V1.76.0" name="generator"><link rel="home" href="index.html" title="Virgo Tools Guide"><link rel="up" href="ch07.html" title="Chapter&nbsp;7.&nbsp;Developing OSGi Bundles using Plug-in Development Environment (PDE)"><link rel="prev" href="ch07s03.html" title="PDE Bundle projects"><link rel="next" href="ch07s05.html" title="Migration actions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><td align="left" width="20%"><a accesskey="p" href="ch07s03.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="ch07s05.html">Next</a></td></tr></table><hr></div><div class="section" title="Publishing"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="resource-publishing"></a>Publishing</h2></div></div></div><p>
The Virgo Server Editor includes a section to select when publishing to the server runtime should take place.
The section offers three options:
</p><table summary="Simple list" border="0" class="simplelist"><tr><td>immediate publish on resource change</td></tr><tr><td>publish after build</td></tr><tr><td>never publish automatically</td></tr></table><p>
Immediate publish means that a change to a file in a bundle project deployed on the Virgo Runtime Environment will be automatically published, triggering in most cases a
re-deploy of the bundle project, as soon as the file is saved.
Publish after build means that a change to one or more files will be automatically published, triggering in most cases a re-deploy, when the containing project
is built, either because workspace auto-build is enabled or because the user requested a workspace or project build.
Never publish automatically means that publishing will take place only on user request, via the "Publish" action on the Servers view.
</p><p>
While automatic publishing reduces the learning curve for beginners, it may also imply longer waits on large workspaces with many bundle projects deployed to a server, because
the re-deploy of a project also implies the re-deploy of all dependent projects.
On large workspaces it's recommend to turn off auto-publish and to manually publish bundles as needed. In fact, when the server is running in debug mode,
if a source file is changed without altering the external "signature" of a class the Java Virtual Machine will be able to push the new byte-code to the server without requiring
a re-deploy of the containing bundle and dependencies. In such case the developer can simply save and build and the Java Virtual Machine will perform the hot-code replace.
When the source code change affects the "signature" of a class (such as a change in the signature of a method, a change in inheritance, the addition/removal of new properties of methods)
the Java Virtual Machine won't be able to perform the hot-code replace and in such case the user can manually invoke the publish action to trigger a re-deploy of the involved bundle.
</p></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ch07s03.html">Prev</a>&nbsp;</td><td align="center" width="20%"><a accesskey="u" href="ch07.html">Up</a></td><td align="right" width="40%">&nbsp;<a accesskey="n" href="ch07s05.html">Next</a></td></tr><tr><td valign="top" align="left" width="40%">&nbsp;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td valign="top" align="right" width="40%">&nbsp;</td></tr></table></div></body></html>