This page (revision-19) was last changed on 06-Sep-2012 15:54 by Dieter Käppel

This page was created on 12-Feb-2011 02:54 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
19 06-Sep-2012 15:54 7 KB Dieter Käppel to previous
18 06-Sep-2012 15:54 7 KB Dieter Käppel to previous | to last
17 26-Jun-2012 13:57 7 KB Dieter Käppel to previous | to last
16 09-May-2012 23:19 7 KB Dieter Käppel to previous | to last
15 09-May-2012 23:18 7 KB Dieter Käppel to previous | to last
14 11-Apr-2012 11:45 7 KB Dieter Käppel to previous | to last
13 11-Apr-2012 11:32 7 KB Dieter Käppel to previous | to last
12 11-Apr-2012 10:55 7 KB Dieter Käppel to previous | to last
11 22-Feb-2011 12:05 7 KB Dieter Käppel to previous | to last
10 14-Feb-2011 10:34 7 KB Dieter Käppel to previous | to last
9 14-Feb-2011 10:32 6 KB Dieter Käppel to previous | to last
8 14-Feb-2011 10:28 6 KB Dieter Käppel to previous | to last
7 14-Feb-2011 10:24 6 KB Dieter Käppel to previous | to last
6 14-Feb-2011 10:24 6 KB Dieter Käppel to previous | to last
5 13-Feb-2011 17:09 6 KB Dieter Käppel to previous | to last
4 13-Feb-2011 15:51 6 KB Dieter Käppel to previous | to last
3 12-Feb-2011 03:14 6 KB Dieter Käppel to previous | to last
2 12-Feb-2011 02:55 6 KB Dieter Käppel to previous | to last
1 12-Feb-2011 02:54 4 KB Dieter Käppel to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 changed one line
Intersult Live is a very simple product for live mapping of workspace file into deployment. All is managed by slim live.xml configurations. Using maven build process, just copy the examples into your resource path without any changes.
Intersult Live is a product for live deployment of files.
At line 3 changed one line
!!!Background
!Problem Description
At line 6 changed one line
!!!Solution
!Solution
At line 9 changed one line
!!!State of Development
!State of Development
At line 13 added one line
* reloading of classes where with changes in method body only
At line 16 changed 10 lines
[Intersult Live] works together with [Dynamic Code Evolution|http://ssw.jku.at/dcevm/]:
* Add/remove methods
* Change method signature
* Add/remove superclass and interfaces
Note: If you have problems using the Dynamic Code Evolution patch with Eclipse or other applications, you should use a copy of your VM eg. C:\Java\jdk1.6.0_23 -> C:\Java\jdk1.6.0_23dce.
!!!Usage
# Download current version of [http://intersult.com/public/maven/com/intersult/live/1.0-SNAPSHOT/live-1.0-SNAPSHOT.jar] from Intersult repository.
!How it works
# Download current version of [http://repository.intersult.com/repository/com/intersult/live/1.0-SNAPSHOT/live-1.0-SNAPSHOT.jar] from Intersult repository.
At line 27 changed one line
# Add -noverify -javaagent:<path>\live-1.0-SNAPSHOT.jar to your JVM-Options, where <path> is local path to live-1.0-SNAPSHOT.jar
# Add -noverify -javaagent:<path>\1.0-SNAPSHOT\live-1.0-SNAPSHOT.jar to your JVM-Options, where <path> is local path to live-1.0-SNAPSHOT.jar
At line 30 removed one line
# Start your application server and live deployment will work
At line 32 removed 6 lines
Example run Java-Class using [Intersult Live]:
{{{
java -noverify -javaagent:live.jar -cp test.jar com.intersult.Test
}}}
At line 41 changed 3 lines
<live xmlns="http://intersult.com/live/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://intersult.com/live/1.0 http://intersult.com/public/maven/com/intersult/live/1.0-SNAPSHOT/live.xsd">
<mapping source="C\:\Java\workspace-helios\com.intersult\public\jsf-desktop\target/classes" target="/"/>
<live>
<mapping source="C\:\Java\workspace-helios\com.intersult\public\jsf-desktop\target/classes" target="/"/>
At line 49 changed one line
In most cases you want to exclude mapping of files in /META-INF, because this would break the system JAR loader:
!Examples with Maven 2
If you use maven 2 for the build process, it is very nice to generate source path into the live.xml. Just active resource filtering for properties files:
At line 52 removed 15 lines
<?xml version="1.0" encoding="UTF-8"?>
<live xmlns="http://intersult.com/live/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://intersult.com/live/1.0 http://intersult.com/public/maven/com/intersult/live/1.0-SNAPSHOT/live.xsd">
<mapping source="C:/<your-path>/classes" target="/">
<exclude path="/META-INF*"/>
</mapping>
</live>
}}}
In most cases there is only some static compiler stuff.
!Examples with Maven 2/3
If you use maven 2/3 for the build process, it is very nice to generate source path into the live.xml. To advice maven to replace variables, just put the live.xml in you projects /src/main/resources source folder. To activate resource filtering, place the following configuration into your pom.xml:
{{{
At line 44 added 3 lines
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
At line 78 removed 8 lines
<repositories>
<repository>
<id>intersult-repo</id>
<name>Intersult Repository</name>
<url>http://intersult.com/public/maven</url>
</repository>
</repositories>
...
At line 95 changed one line
xsi:schemaLocation="http://intersult.com/live/1.0 http://intersult.com/public/maven/com/intersult/live/1.0-SNAPSHOT/live.xsd">
xsi:schemaLocation="http://intersult.com/live/1.0 http://repository.intersult.com/repository/com/intersult/live/1.0-SNAPSHOT/live.xsd ">
At line 104 changed one line
xsi:schemaLocation="http://intersult.com/live/1.0 http://intersult.com/public/maven/com/intersult/live/1.0-SNAPSHOT/live.xsd">
xsi:schemaLocation="http://intersult.com/live/1.0 http://repository.intersult.com/repository/com/intersult/live/1.0-SNAPSHOT/live.xsd ">
At line 74 added one line
<mapping source="${basedir}/src/main/resources" target="/"/>
At line 111 changed one line
WAR on Tomcat or JBoss:
WAR:
At line 115 changed one line
xsi:schemaLocation="http://intersult.com/live/1.0 http://intersult.com/public/maven/com/intersult/live/1.0-SNAPSHOT/live.xsd">
xsi:schemaLocation="http://intersult.com/live/1.0 http://repository.intersult.com/repository/com/intersult/live/1.0-SNAPSHOT/live.xsd">
At line 123 removed 15 lines
WAR on Glassfish (only difference is JNDI-location):
{{{
<?xml version="1.0" encoding="UTF-8"?>
<live xmlns="http://intersult.com/live/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://intersult.com/live/1.0 http://intersult.com/public/maven/com/intersult/live/1.0-SNAPSHOT/live.xsd">
<mapping source="${project.build.directory}/classes" target="/WEB-INF/classes"/>
<mapping source="${basedir}/src/main/webapp" target="/" loader="jndi:/server/${project.name}">
<exclude path="/META-INF*"/>
</mapping>
</live>
}}}
!Working with Development Environments
If you continue using Eclipse server plugin, you should mind to disable ''resource publishing''. Disabling this feature will prevent Eclipse to restart the application server.
At line 139 changed 11 lines
The live.xml definitions above references the live.xsd schema from intersult.com repository. Manually you can access the XML Schema Definition (XSD) at [live.xsd|http://intersult.com/public/maven/com/intersult/live/1.0-SNAPSHOT/live.xsd]
!!!How it works
The key to live mapping is the live.xml defintion files. These files contains a few specifications, how Intersult Live will map workspace files to the deployment. The XML-File contains the following elements:
* __live:__ Every live.xml contains a <live> element as root definition
* __mapping:__ Each deployment-to-workspace-mapping is described by a <mapping> element
** source: The source attribute describes an absolute path in the system which is mapped into the deployment
** target: The target attribute describes a relative path to map the source into a deployment WAR, EAR or JAR
** loader: An optional attribute to specify a loader URL prefix. If no loader is specified, the URL prefix found while class loading is used. Usually, this is a file or JAR URL.
* __include/exclude:__ These elements are nested in <mapping> elements to specify inclusion or exclusion of files. Wildcards like ? and * can be used.
The live.xml definitions above references the live.xsd schema from intersult.com repository. Manually you can access the XML Schema Definition (XSD) at [live.xsd|http://repository.intersult.com/repository/com/intersult/live/1.0-SNAPSHOT/live.xsd]